diff options
-rw-r--r-- | mysql-test/r/order_by.result | 9 | ||||
-rw-r--r-- | mysql-test/t/order_by.test | 10 | ||||
-rw-r--r-- | sql/sql_select.cc | 1 |
3 files changed, 19 insertions, 1 deletions
diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result index 1a10c9c6ce9..5edffdacc98 100644 --- a/mysql-test/r/order_by.result +++ b/mysql-test/r/order_by.result @@ -85,6 +85,15 @@ i 1 3 drop table t1; +create table t1 ( pk int primary key, name varchar(255) not null, number varchar(255) not null); +insert into t1 values (1, 'Gamma', '123'), (2, 'Gamma Ext', '123a'), (3, 'Alpha', '001'), (4, 'Beta', '200c'); +select distinct t1.name as 'Building Name',t1.number as 'Building Number' from t1 order by t1.name asc; +Building Name Building Number +Gamma 123 +Gamma Ext 123a +Alpha 001 +Beta 200c +drop table t1; create table t1 (id int not null,col1 int not null,col2 int not null,index(col1)); insert into t1 values(1,2,2),(2,2,1),(3,1,2),(4,1,1),(5,1,4),(6,2,3),(7,3,1),(8,2,4); select * from t1 order by col1,col2; diff --git a/mysql-test/t/order_by.test b/mysql-test/t/order_by.test index 9ae9c1b5e12..465920deaed 100644 --- a/mysql-test/t/order_by.test +++ b/mysql-test/t/order_by.test @@ -80,6 +80,16 @@ select distinct i from t1 order by mod(i,2),i; drop table t1; # +# bug#3681 +# + +create table t1 ( pk int primary key, name varchar(255) not null, number varchar(255) not null); +insert into t1 values (1, 'Gamma', '123'), (2, 'Gamma Ext', '123a'), (3, 'Alpha', '001'), (4, 'Beta', '200c'); +select distinct t1.name as 'Building Name',t1.number as 'Building Number' from t1 order by t1.name asc; +drop table t1; + + +# # Order by on first index part # diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 47ecc57cf16..92bc13cb01e 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -665,7 +665,6 @@ JOIN::optimize() if (!order && org_order) skip_sort_order= 1; } - order= remove_const(this, order, conds, &simple_order); if (group_list || tmp_table_param.sum_func_count) { if (! hidden_group_fields) |