Commit 484f6cb3 authored by unknown's avatar unknown

bug#3681 - order by, distinct, refer to aliased field by name

check for field_name (not only for name) in find_item_in_list, to be compatible with item->eq() that is done later


mysql-test/r/order_by.result:
  bug#3681 - order by, distinct, refer to aliased field by name
parent 36bce251
...@@ -89,10 +89,10 @@ create table t1 ( pk int primary key, name varchar(255) not null, number v ...@@ -89,10 +89,10 @@ create table t1 ( pk int primary key, name varchar(255) not null, number v
insert into t1 values (1, 'Gamma', '123'), (2, 'Gamma Ext', '123a'), (3, 'Alpha', '001'), (4, 'Beta', '200c'); 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; select distinct t1.name as 'Building Name',t1.number as 'Building Number' from t1 order by t1.name asc;
Building Name Building Number Building Name Building Number
Gamma 123
Gamma Ext 123a
Alpha 001 Alpha 001
Beta 200c Beta 200c
Gamma 123
Gamma Ext 123a
drop table t1; drop table t1;
create table t1 (id int not null,col1 int not null,col2 int not null,index(col1)); 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); 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);
......
...@@ -2103,7 +2103,9 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, ...@@ -2103,7 +2103,9 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter,
=> we have to check presence of name before compare => we have to check presence of name before compare
*/ */
if (item_field->name && if (item_field->name &&
!my_strcasecmp(system_charset_info, item_field->name, field_name)) (!my_strcasecmp(system_charset_info, item_field->name, field_name) ||
!my_strcasecmp(system_charset_info,
item_field->field_name, field_name)))
{ {
if (!table_name) if (!table_name)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment