mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge magare.gmz:/home/kgeorge/mysql/autopush/B31562-5.0-opt
into magare.gmz:/home/kgeorge/mysql/work/B31562-5.1-opt sql/item.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/lowercase_view.result: merge bug 31562 5.0->5.1: changed explain format
This commit is contained in:
@ -119,7 +119,7 @@ create table t1Aa (col1 int);
|
|||||||
create view v1Aa as select col1 from t1Aa as AaA;
|
create view v1Aa as select col1 from t1Aa as AaA;
|
||||||
show create view v1AA;
|
show create view v1AA;
|
||||||
View Create View character_set_client collation_connection
|
View Create View character_set_client collation_connection
|
||||||
v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `AaA` latin1 latin1_swedish_ci
|
v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa` latin1 latin1_swedish_ci
|
||||||
drop view v1AA;
|
drop view v1AA;
|
||||||
select Aaa.col1 from t1Aa as AaA;
|
select Aaa.col1 from t1Aa as AaA;
|
||||||
col1
|
col1
|
||||||
@ -128,6 +128,23 @@ drop view v1AA;
|
|||||||
create view v1Aa as select AaA.col1 from t1Aa as AaA;
|
create view v1Aa as select AaA.col1 from t1Aa as AaA;
|
||||||
show create view v1AA;
|
show create view v1AA;
|
||||||
View Create View character_set_client collation_connection
|
View Create View character_set_client collation_connection
|
||||||
v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `AaA` latin1 latin1_swedish_ci
|
v1aa CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1aa` AS select `aaa`.`col1` AS `col1` from `t1aa` `aaa` latin1 latin1_swedish_ci
|
||||||
drop view v1AA;
|
drop view v1AA;
|
||||||
drop table t1Aa;
|
drop table t1Aa;
|
||||||
|
CREATE TABLE t1 (a int, b int);
|
||||||
|
select X.a from t1 AS X group by X.b having (X.a = 1);
|
||||||
|
a
|
||||||
|
select X.a from t1 AS X group by X.b having (x.a = 1);
|
||||||
|
a
|
||||||
|
select X.a from t1 AS X group by X.b having (x.b = 1);
|
||||||
|
a
|
||||||
|
CREATE OR REPLACE VIEW v1 AS
|
||||||
|
select X.a from t1 AS X group by X.b having (X.a = 1);
|
||||||
|
SHOW CREATE VIEW v1;
|
||||||
|
View Create View
|
||||||
|
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `x`.`a` AS `a` from `t1` `x` group by `x`.`b` having (`x`.`a` = 1)
|
||||||
|
SELECT * FROM v1;
|
||||||
|
a
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.0 tests.
|
||||||
|
@ -138,3 +138,26 @@ create view v1Aa as select AaA.col1 from t1Aa as AaA;
|
|||||||
show create view v1AA;
|
show create view v1AA;
|
||||||
drop view v1AA;
|
drop view v1AA;
|
||||||
drop table t1Aa;
|
drop table t1Aa;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #31562: HAVING and lower case
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a int, b int);
|
||||||
|
|
||||||
|
select X.a from t1 AS X group by X.b having (X.a = 1);
|
||||||
|
select X.a from t1 AS X group by X.b having (x.a = 1);
|
||||||
|
select X.a from t1 AS X group by X.b having (x.b = 1);
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW v1 AS
|
||||||
|
select X.a from t1 AS X group by X.b having (X.a = 1);
|
||||||
|
|
||||||
|
SHOW CREATE VIEW v1;
|
||||||
|
|
||||||
|
SELECT * FROM v1;
|
||||||
|
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo End of 5.0 tests.
|
||||||
|
@ -3349,7 +3349,7 @@ static Item** find_field_in_group_list(Item *find_item, ORDER *group_list)
|
|||||||
if (cur_field->table_name && table_name)
|
if (cur_field->table_name && table_name)
|
||||||
{
|
{
|
||||||
/* If field_name is qualified by a table name. */
|
/* If field_name is qualified by a table name. */
|
||||||
if (strcmp(cur_field->table_name, table_name))
|
if (my_strcasecmp(table_alias_charset, cur_field->table_name, table_name))
|
||||||
/* Same field names, different tables. */
|
/* Same field names, different tables. */
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -5318,7 +5318,8 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter,
|
|||||||
if (item_field->field_name && item_field->table_name &&
|
if (item_field->field_name && item_field->table_name &&
|
||||||
!my_strcasecmp(system_charset_info, item_field->field_name,
|
!my_strcasecmp(system_charset_info, item_field->field_name,
|
||||||
field_name) &&
|
field_name) &&
|
||||||
!strcmp(item_field->table_name, table_name) &&
|
!my_strcasecmp(table_alias_charset, item_field->table_name,
|
||||||
|
table_name) &&
|
||||||
(!db_name || (item_field->db_name &&
|
(!db_name || (item_field->db_name &&
|
||||||
!strcmp(item_field->db_name, db_name))))
|
!strcmp(item_field->db_name, db_name))))
|
||||||
{
|
{
|
||||||
|
@ -16226,8 +16226,21 @@ void TABLE_LIST::print(THD *thd, String *str)
|
|||||||
}
|
}
|
||||||
if (my_strcasecmp(table_alias_charset, cmp_name, alias))
|
if (my_strcasecmp(table_alias_charset, cmp_name, alias))
|
||||||
{
|
{
|
||||||
|
char t_alias_buff[MAX_ALIAS_NAME];
|
||||||
|
const char *t_alias= alias;
|
||||||
|
|
||||||
str->append(' ');
|
str->append(' ');
|
||||||
append_identifier(thd, str, alias, strlen(alias));
|
if (lower_case_table_names== 1)
|
||||||
|
{
|
||||||
|
if (alias && alias[0])
|
||||||
|
{
|
||||||
|
strmov(t_alias_buff, alias);
|
||||||
|
my_casedn_str(files_charset_info, t_alias_buff);
|
||||||
|
t_alias= t_alias_buff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
append_identifier(thd, str, t_alias, strlen(t_alias));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (index_hints)
|
if (index_hints)
|
||||||
|
Reference in New Issue
Block a user