1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00

fixed SET with subselect

mysql-test/r/subselect.result:
  test of SET with subselect
mysql-test/t/subselect.test:
  test of SET with subselect
This commit is contained in:
unknown
2003-01-04 16:33:42 +02:00
parent f67891c244
commit 161c22cbfb
3 changed files with 20 additions and 1 deletions

View File

@@ -848,6 +848,13 @@ do @a:=(SELECT a from t);
select @a; select @a;
@a @a
1 1
set @a:=2;
set @a:=(SELECT a from t);
select @a;
@a
1
drop table t; drop table t;
do (SELECT a from t); do (SELECT a from t);
Table 'test.t' doesn't exist Table 'test.t' doesn't exist
set @a:=(SELECT a from t);
Table 'test.t' doesn't exist

View File

@@ -468,6 +468,11 @@ create table t (a int);
insert into t values (1); insert into t values (1);
do @a:=(SELECT a from t); do @a:=(SELECT a from t);
select @a; select @a;
set @a:=2;
set @a:=(SELECT a from t);
select @a;
drop table t; drop table t;
-- error 1146 -- error 1146
do (SELECT a from t); do (SELECT a from t);
-- error 1146
set @a:=(SELECT a from t);

View File

@@ -2470,9 +2470,16 @@ mysql_execute_command(THD *thd)
break; break;
} }
case SQLCOM_SET_OPTION: case SQLCOM_SET_OPTION:
if (!(res=sql_set_variables(thd, &lex->var_list))) if (tables && ((res= check_table_access(thd, SELECT_ACL, tables)) ||
(res= open_and_lock_tables(thd,tables))))
break;
fix_tables_pointers(lex->all_selects_list);
if (!(res= sql_set_variables(thd, &lex->var_list)))
send_ok(thd); send_ok(thd);
if (thd->net.report_error)
res= -1;
break; break;
case SQLCOM_UNLOCK_TABLES: case SQLCOM_UNLOCK_TABLES:
unlock_locked_tables(thd); unlock_locked_tables(thd);
if (thd->options & OPTION_TABLE_LOCK) if (thd->options & OPTION_TABLE_LOCK)