Commit 2acc5673 authored by Georgi Kodinov's avatar Georgi Kodinov

merge mysql-5.1->mysql-5.5

parents 5c113eef ad1dc78b
...@@ -175,6 +175,35 @@ TABLE_SCHEMA TABLE_NAME ...@@ -175,6 +175,35 @@ TABLE_SCHEMA TABLE_NAME
mysqltest_lc2 myUC mysqltest_lc2 myUC
use test; use test;
drop database mysqltest_LC2; drop database mysqltest_LC2;
#
# Bug #11758687: 50924: object names not resolved correctly
# on lctn2 systems
#
CREATE DATABASE BUP_XPFM_COMPAT_DB2;
CREATE TABLE BUP_XPFM_COMPAT_DB2.TABLE2 (c13 INT) DEFAULT CHARSET latin1;
CREATE TABLE BUP_XPFM_COMPAT_DB2.table1 (c13 INT) DEFAULT CHARSET latin1;
CREATE TABLE bup_xpfm_compat_db2.table3 (c13 INT) DEFAULT CHARSET latin1;
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.trigger1 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.table1 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TRIGGER2 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.TABLE2 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TrigGer3 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.TaBle3 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
SELECT trigger_schema, trigger_name, event_object_table FROM
INFORMATION_SCHEMA.TRIGGERS
WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
ORDER BY trigger_schema, trigger_name;
trigger_schema trigger_name event_object_table
BUP_XPFM_COMPAT_DB2 trigger1 table1
BUP_XPFM_COMPAT_DB2 TRIGGER2 TABLE2
BUP_XPFM_COMPAT_DB2 TrigGer3 table3
DROP DATABASE BUP_XPFM_COMPAT_DB2;
# End of 5.1 tests # End of 5.1 tests
# #
# Test for bug #44738 "fill_schema_table_from_frm() opens tables without # Test for bug #44738 "fill_schema_table_from_frm() opens tables without
......
...@@ -151,6 +151,41 @@ where TABLE_SCHEMA ='mysqltest_LC2'; ...@@ -151,6 +151,41 @@ where TABLE_SCHEMA ='mysqltest_LC2';
use test; use test;
drop database mysqltest_LC2; drop database mysqltest_LC2;
--echo #
--echo # Bug #11758687: 50924: object names not resolved correctly
--echo # on lctn2 systems
--echo #
CREATE DATABASE BUP_XPFM_COMPAT_DB2;
CREATE TABLE BUP_XPFM_COMPAT_DB2.TABLE2 (c13 INT) DEFAULT CHARSET latin1;
CREATE TABLE BUP_XPFM_COMPAT_DB2.table1 (c13 INT) DEFAULT CHARSET latin1;
CREATE TABLE bup_xpfm_compat_db2.table3 (c13 INT) DEFAULT CHARSET latin1;
delimiter |;
#
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.trigger1 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.table1 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TRIGGER2 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.TABLE2 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TrigGer3 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.TaBle3 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
delimiter ;|
SELECT trigger_schema, trigger_name, event_object_table FROM
INFORMATION_SCHEMA.TRIGGERS
WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
ORDER BY trigger_schema, trigger_name;
DROP DATABASE BUP_XPFM_COMPAT_DB2;
--echo # End of 5.1 tests --echo # End of 5.1 tests
......
...@@ -3556,6 +3556,12 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond) ...@@ -3556,6 +3556,12 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
it.rewind(); /* To get access to new elements in basis list */ it.rewind(); /* To get access to new elements in basis list */
while ((db_name= it++)) while ((db_name= it++))
{ {
LEX_STRING orig_db_name;
/* db_name can be changed in make_table_list() func */
if (!thd->make_lex_string(&orig_db_name, db_name->str,
db_name->length, FALSE))
goto err;
#ifndef NO_EMBEDDED_ACCESS_CHECKS #ifndef NO_EMBEDDED_ACCESS_CHECKS
if (!(check_access(thd, SELECT_ACL, db_name->str, if (!(check_access(thd, SELECT_ACL, db_name->str,
&thd->col_access, NULL, 0, 1) || &thd->col_access, NULL, 0, 1) ||
...@@ -3620,17 +3626,13 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond) ...@@ -3620,17 +3626,13 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond)
} }
int res; int res;
LEX_STRING tmp_lex_string, orig_db_name; LEX_STRING tmp_lex_string;
/* /*
Set the parent lex of 'sel' because it is needed by Set the parent lex of 'sel' because it is needed by
sel.init_query() which is called inside make_table_list. sel.init_query() which is called inside make_table_list.
*/ */
thd->no_warnings_for_error= 1; thd->no_warnings_for_error= 1;
sel.parent_lex= lex; sel.parent_lex= lex;
/* db_name can be changed in make_table_list() func */
if (!thd->make_lex_string(&orig_db_name, db_name->str,
db_name->length, FALSE))
goto err;
if (make_table_list(thd, &sel, db_name, table_name)) if (make_table_list(thd, &sel, db_name, table_name))
goto err; goto err;
TABLE_LIST *show_table_list= sel.table_list.first; TABLE_LIST *show_table_list= sel.table_list.first;
......
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