Bug #5394 max_sort_length does not invalidate queries in the query cache
Submitted: 3 Sep 2004 17:00 Modified: 10 Sep 2004 19:26
Reporter: Sergei Golubchik Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:4.0 OS:
Assigned to: Oleksandr Byelkin CPU Architecture:Any

[3 Sep 2004 17:00] Sergei Golubchik
Description:
max_sort_length does not invalidate queries in the query cache

How to repeat:
drop table if exists t;
create table t (id int auto_increment primary key, c char(25));
insert into t set c = repeat('x',24);
insert into t set c = concat(repeat('x',24),'x');
insert into t set c = concat(repeat('x',24),'w');
insert into t set c = concat(repeat('x',24),'y');
set max_sort_length=200;   
select c from t order by c, id;
set max_sort_length=20;
select c from t order by c, id;
set max_sort_length=200;   
select c from t order by c, id;
[4 Sep 2004 9:28] Oleksandr Byelkin
there are small bug in test suite, correct one is: 
 
set GLOBAL query_cache_size=1355776; 
create table t (id int auto_increment primary key, c char(25)); 
insert into t set c = repeat('x',24); 
insert into t set c = concat(repeat('x',24),'x'); 
insert into t set c = concat(repeat('x',24),'w'); 
insert into t set c = concat(repeat('x',24),'y'); 
set max_sort_length=200; 
select c from t order by c, id; 
reset query cache; 
set max_sort_length=20; 
select c from t order by c, id; 
set max_sort_length=200; 
select c from t order by c, id; 
 
i.e. we need reset query cache;
[4 Sep 2004 13:43] Sergei Golubchik
no, because

set max_sort_length=20;

should implicitly reset query cache
[10 Sep 2004 13:30] Oleksandr Byelkin
This is fixed in 4.1 
 
ChangeSet 
  1.2019 04/09/10 16:28:18 bell@sanja.is.com.ua +5 -0 
  information about different variables agged to query cache (BUG#5515, BUG#5394)
[10 Sep 2004 19:26] Oleksandr Byelkin
Thank you for bugreport. bugfix is pushed into source repository.