mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
fix for bug#14089 FROM list subquery always fails when
information_schema is current database skip the check of I_S tables if table is derived table
This commit is contained in:
parent
977187eb30
commit
e8d52711ad
3 changed files with 26 additions and 2 deletions
|
@ -1013,3 +1013,15 @@ grant all on information_schema.* to 'user1'@'localhost';
|
|||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
grant select on information_schema.* to 'user1'@'localhost';
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
use test;
|
||||
create table t1(id int);
|
||||
insert into t1(id) values (1);
|
||||
select 1 from (select 1 from test.t1) a;
|
||||
1
|
||||
1
|
||||
use information_schema;
|
||||
select 1 from (select 1 from test.t1) a;
|
||||
1
|
||||
1
|
||||
use test;
|
||||
drop table t1;
|
||||
|
|
|
@ -715,3 +715,15 @@ select ROUTINE_NAME from routines;
|
|||
grant all on information_schema.* to 'user1'@'localhost';
|
||||
--error 1044
|
||||
grant select on information_schema.* to 'user1'@'localhost';
|
||||
|
||||
#
|
||||
# Bug#14089 FROM list subquery always fails when information_schema is current database
|
||||
#
|
||||
use test;
|
||||
create table t1(id int);
|
||||
insert into t1(id) values (1);
|
||||
select 1 from (select 1 from test.t1) a;
|
||||
use information_schema;
|
||||
select 1 from (select 1 from test.t1) a;
|
||||
use test;
|
||||
drop table t1;
|
||||
|
|
|
@ -6197,7 +6197,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
|
|||
ptr->force_index= test(table_options & TL_OPTION_FORCE_INDEX);
|
||||
ptr->ignore_leaves= test(table_options & TL_OPTION_IGNORE_LEAVES);
|
||||
ptr->derived= table->sel;
|
||||
if (!my_strcasecmp(system_charset_info, ptr->db,
|
||||
if (!ptr->derived && !my_strcasecmp(system_charset_info, ptr->db,
|
||||
information_schema_name.str))
|
||||
{
|
||||
ST_SCHEMA_TABLE *schema_table= find_schema_table(thd, ptr->table_name);
|
||||
|
|
Loading…
Reference in a new issue