Merge sinisa@work.mysql.com:/home/bk/mysql-4.1

into sinisa.nasamreza.org:/mnt/work/mysql-4.1
This commit is contained in:
Sinisa@sinisa.nasamreza.org 2002-11-12 14:41:31 +02:00
commit d66889bf4a
4 changed files with 7 additions and 3 deletions

View file

@ -37,3 +37,6 @@ select * from (select 1);
select a from (select 1 as a);
a
1
select 1 from (select 1);
1
1

View file

@ -21,3 +21,4 @@ SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1);
drop table if exists t1.t2,t3;
select * from (select 1);
select a from (select 1 as a);
select 1 from (select 1);

View file

@ -118,7 +118,7 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, TABLE_LIST *t)
table->tmp_table=TMP_TABLE;
if (!lex->describe)
sl->exclude();
t->db= (tables && tables->db && tables->db[0]) ? t->db : thd->db;
t->db="";
t->derived=(SELECT_LEX *)0; // just in case ...
}
}

View file

@ -2717,7 +2717,7 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables,
TABLE_LIST *org_tables=tables;
for (; tables ; tables=tables->next)
{
if (tables->derived)
if (tables->derived || (tables->table && (int)tables->table->tmp_table))
continue;
if ((thd->master_access & want_access) == (want_access & ~EXTRA_ACL) &&
thd->db)
@ -2735,7 +2735,7 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables,
found=1;
}
}
else if (tables->db && check_access(thd,want_access,tables->db,&tables->grant.privilege,
else if (check_access(thd,want_access,tables->db,&tables->grant.privilege,
0, no_errors))
return TRUE;
}