diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result index b3bc4a18a40422112459571a6b13ceb3e1e512ec..69ce69ad49962bc2ae47d311c8f74b54d4af25bd 100644 --- a/mysql-test/r/order_by.result +++ b/mysql-test/r/order_by.result @@ -723,3 +723,16 @@ col2 col col 2 2 2 1 3 3 drop table t1, t2; +create table t1 (a char(25)); +insert into t1 set a = repeat('x', 20); +insert into t1 set a = concat(repeat('x', 19), 'z'); +insert into t1 set a = concat(repeat('x', 19), 'ab'); +insert into t1 set a = concat(repeat('x', 19), 'aa'); +set max_sort_length=20; +select a from t1 order by a; +a +xxxxxxxxxxxxxxxxxxxab +xxxxxxxxxxxxxxxxxxxaa +xxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxz +drop table t1; diff --git a/mysql-test/t/order_by.test b/mysql-test/t/order_by.test index 5131bb8c8b887c16a0771243a5915abf36ec498d..1d65ce9003ace028664467ca0d978d34044291c9 100644 --- a/mysql-test/t/order_by.test +++ b/mysql-test/t/order_by.test @@ -486,3 +486,16 @@ select t2.col2 as col, t2.col from t2 order by t2.col; select t2.col2, t2.col, t2.col from t2 order by t2.col; drop table t1, t2; + +# +# Bug #5428: a problem with small max_sort_length value +# + +create table t1 (a char(25)); +insert into t1 set a = repeat('x', 20); +insert into t1 set a = concat(repeat('x', 19), 'z'); +insert into t1 set a = concat(repeat('x', 19), 'ab'); +insert into t1 set a = concat(repeat('x', 19), 'aa'); +set max_sort_length=20; +select a from t1 order by a; +drop table t1;