Fix for bug 1176

This commit is contained in:
gluh@gluh.mysql.r18.ru 2003-09-04 17:12:20 +05:00
parent b34c3934d9
commit 548d7dc948
3 changed files with 22 additions and 1 deletions

View File

@ -196,3 +196,11 @@ drop table t1,t2;
SELECT a.x FROM (SELECT 1 AS x) AS a HAVING a.x = 1; SELECT a.x FROM (SELECT 1 AS x) AS a HAVING a.x = 1;
x x
1 1
create table a1 select 1 as a;
select 2 as a from (select * from a1) b;
ERROR 3D000: No Database Selected
use test;
select 2 as a from (select * from a1) b;
a
2
drop table a1;

View File

@ -94,3 +94,16 @@ drop table t1,t2;
# derived table reference # derived table reference
# #
SELECT a.x FROM (SELECT 1 AS x) AS a HAVING a.x = 1; SELECT a.x FROM (SELECT 1 AS x) AS a HAVING a.x = 1;
#
# Test for select if database is not selected.
#
# Connect without a database
create table a1 select 1 as a;
connect (con1,localhost,mysqltest_1,,*NO-ONE*,$MASTER_MYPORT,master.sock);
connection con1;
--error 1046
select 2 as a from (select * from a1) b;
use test;
select 2 as a from (select * from a1) b;
drop table a1;

View File

@ -96,7 +96,7 @@ int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit,
else else
res= check_access(thd, SELECT_ACL, any_db); res= check_access(thd, SELECT_ACL, any_db);
if (res) if (res)
DBUG_RETURN(-1); DBUG_RETURN(1);
if (!(res=open_and_lock_tables(thd,tables))) if (!(res=open_and_lock_tables(thd,tables)))
{ {