Loading mysql-test/r/func_gconcat.result +0 −5 Original line number Diff line number Diff line Loading @@ -74,11 +74,6 @@ grp group_concat(c order by 1) 1 a 2 b,c 3 C,D,d,d,D,E select grp,group_concat(c order by "c") from t1 group by grp; grp group_concat(c order by "c") 1 a 2 b,c 3 C,D,d,d,D,E select grp,group_concat(distinct c order by c) from t1 group by grp; grp group_concat(distinct c order by c) 1 a Loading mysql-test/r/group_by.result +45 −0 Original line number Diff line number Diff line Loading @@ -773,3 +773,48 @@ select sql_buffer_result max(f1)+1 from t1; max(f1)+1 3 drop table t1; CREATE TABLE t1(a INT); INSERT INTO t1 VALUES (1),(2); SELECT a FROM t1 GROUP BY 'a'; a 1 SELECT a FROM t1 GROUP BY "a"; a 1 SELECT a FROM t1 GROUP BY `a`; a 1 2 set sql_mode=ANSI_QUOTES; SELECT a FROM t1 GROUP BY "a"; a 1 2 SELECT a FROM t1 GROUP BY 'a'; a 1 SELECT a FROM t1 GROUP BY `a`; a 1 2 set sql_mode=''; SELECT a FROM t1 HAVING 'a' > 1; a SELECT a FROM t1 HAVING "a" > 1; a SELECT a FROM t1 HAVING `a` > 1; a 2 SELECT a FROM t1 ORDER BY 'a' DESC; a 1 2 SELECT a FROM t1 ORDER BY "a" DESC; a 1 2 SELECT a FROM t1 ORDER BY `a` DESC; a 2 1 DROP TABLE t1; mysql-test/t/func_gconcat.test +0 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ select grp,group_concat(d order by a desc) from t1 group by grp; select grp,group_concat(a order by a,d+c-ascii(c)-a) from t1 group by grp; select grp,group_concat(a order by d+c-ascii(c),a) from t1 group by grp; select grp,group_concat(c order by 1) from t1 group by grp; select grp,group_concat(c order by "c") from t1 group by grp; select grp,group_concat(distinct c order by c) from t1 group by grp; select grp,group_concat(distinct c order by c desc) from t1 group by grp; explain extended select grp,group_concat(distinct c order by c desc) from t1 group by grp; Loading mysql-test/t/group_by.test +23 −0 Original line number Diff line number Diff line Loading @@ -610,4 +610,27 @@ select sql_buffer_result max(f1) is null from t1; select sql_buffer_result max(f1)+1 from t1; drop table t1; # # BUG#14019-4.1-opt # CREATE TABLE t1(a INT); INSERT INTO t1 VALUES (1),(2); SELECT a FROM t1 GROUP BY 'a'; SELECT a FROM t1 GROUP BY "a"; SELECT a FROM t1 GROUP BY `a`; set sql_mode=ANSI_QUOTES; SELECT a FROM t1 GROUP BY "a"; SELECT a FROM t1 GROUP BY 'a'; SELECT a FROM t1 GROUP BY `a`; set sql_mode=''; SELECT a FROM t1 HAVING 'a' > 1; SELECT a FROM t1 HAVING "a" > 1; SELECT a FROM t1 HAVING `a` > 1; SELECT a FROM t1 ORDER BY 'a' DESC; SELECT a FROM t1 ORDER BY "a" DESC; SELECT a FROM t1 ORDER BY `a` DESC; DROP TABLE t1; # End of 4.1 tests sql/sql_base.cc +9 −2 Original line number Diff line number Diff line Loading @@ -2284,12 +2284,19 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, const char *field_name=0; const char *table_name=0; bool found_unaliased_non_uniq= 0; /* true if the item that we search for is a valid name reference (and not an item that happens to have a name). */ bool is_ref_by_name= 0; uint unaliased_counter; LINT_INIT(unaliased_counter); *unaliased= FALSE; if (find->type() == Item::FIELD_ITEM || find->type() == Item::REF_ITEM) is_ref_by_name= (find->type() == Item::FIELD_ITEM || find->type() == Item::REF_ITEM); if (is_ref_by_name) { field_name= ((Item_ident*) find)->field_name; table_name= ((Item_ident*) find)->table_name; Loading Loading @@ -2401,7 +2408,7 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, } } else if (!table_name && (item->eq(find,0) || find->name && item->name && is_ref_by_name && find->name && item->name && !my_strcasecmp(system_charset_info, item->name,find->name))) { Loading Loading
mysql-test/r/func_gconcat.result +0 −5 Original line number Diff line number Diff line Loading @@ -74,11 +74,6 @@ grp group_concat(c order by 1) 1 a 2 b,c 3 C,D,d,d,D,E select grp,group_concat(c order by "c") from t1 group by grp; grp group_concat(c order by "c") 1 a 2 b,c 3 C,D,d,d,D,E select grp,group_concat(distinct c order by c) from t1 group by grp; grp group_concat(distinct c order by c) 1 a Loading
mysql-test/r/group_by.result +45 −0 Original line number Diff line number Diff line Loading @@ -773,3 +773,48 @@ select sql_buffer_result max(f1)+1 from t1; max(f1)+1 3 drop table t1; CREATE TABLE t1(a INT); INSERT INTO t1 VALUES (1),(2); SELECT a FROM t1 GROUP BY 'a'; a 1 SELECT a FROM t1 GROUP BY "a"; a 1 SELECT a FROM t1 GROUP BY `a`; a 1 2 set sql_mode=ANSI_QUOTES; SELECT a FROM t1 GROUP BY "a"; a 1 2 SELECT a FROM t1 GROUP BY 'a'; a 1 SELECT a FROM t1 GROUP BY `a`; a 1 2 set sql_mode=''; SELECT a FROM t1 HAVING 'a' > 1; a SELECT a FROM t1 HAVING "a" > 1; a SELECT a FROM t1 HAVING `a` > 1; a 2 SELECT a FROM t1 ORDER BY 'a' DESC; a 1 2 SELECT a FROM t1 ORDER BY "a" DESC; a 1 2 SELECT a FROM t1 ORDER BY `a` DESC; a 2 1 DROP TABLE t1;
mysql-test/t/func_gconcat.test +0 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ select grp,group_concat(d order by a desc) from t1 group by grp; select grp,group_concat(a order by a,d+c-ascii(c)-a) from t1 group by grp; select grp,group_concat(a order by d+c-ascii(c),a) from t1 group by grp; select grp,group_concat(c order by 1) from t1 group by grp; select grp,group_concat(c order by "c") from t1 group by grp; select grp,group_concat(distinct c order by c) from t1 group by grp; select grp,group_concat(distinct c order by c desc) from t1 group by grp; explain extended select grp,group_concat(distinct c order by c desc) from t1 group by grp; Loading
mysql-test/t/group_by.test +23 −0 Original line number Diff line number Diff line Loading @@ -610,4 +610,27 @@ select sql_buffer_result max(f1) is null from t1; select sql_buffer_result max(f1)+1 from t1; drop table t1; # # BUG#14019-4.1-opt # CREATE TABLE t1(a INT); INSERT INTO t1 VALUES (1),(2); SELECT a FROM t1 GROUP BY 'a'; SELECT a FROM t1 GROUP BY "a"; SELECT a FROM t1 GROUP BY `a`; set sql_mode=ANSI_QUOTES; SELECT a FROM t1 GROUP BY "a"; SELECT a FROM t1 GROUP BY 'a'; SELECT a FROM t1 GROUP BY `a`; set sql_mode=''; SELECT a FROM t1 HAVING 'a' > 1; SELECT a FROM t1 HAVING "a" > 1; SELECT a FROM t1 HAVING `a` > 1; SELECT a FROM t1 ORDER BY 'a' DESC; SELECT a FROM t1 ORDER BY "a" DESC; SELECT a FROM t1 ORDER BY `a` DESC; DROP TABLE t1; # End of 4.1 tests
sql/sql_base.cc +9 −2 Original line number Diff line number Diff line Loading @@ -2284,12 +2284,19 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, const char *field_name=0; const char *table_name=0; bool found_unaliased_non_uniq= 0; /* true if the item that we search for is a valid name reference (and not an item that happens to have a name). */ bool is_ref_by_name= 0; uint unaliased_counter; LINT_INIT(unaliased_counter); *unaliased= FALSE; if (find->type() == Item::FIELD_ITEM || find->type() == Item::REF_ITEM) is_ref_by_name= (find->type() == Item::FIELD_ITEM || find->type() == Item::REF_ITEM); if (is_ref_by_name) { field_name= ((Item_ident*) find)->field_name; table_name= ((Item_ident*) find)->table_name; Loading Loading @@ -2401,7 +2408,7 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter, } } else if (!table_name && (item->eq(find,0) || find->name && item->name && is_ref_by_name && find->name && item->name && !my_strcasecmp(system_charset_info, item->name,find->name))) { Loading