1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fixed BUG#336: Subselects with tables does not work as values for local SP variables

and BUG#1654: Stored Procedure Crash if contains subquery and set function

Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
The latter should work, but turned out to be difficult to fix, so we just
disallow it for the time being.


include/mysqld_error.h:
  New error message for unsupported subselect as SP set values (for the time being).
include/sql_state.h:
  New error message for unsupported subselect as SP set values (for the time being).
mysql-test/r/sp-error.result:
  Test cases for BUG#336 and BUG#1654. (Unsupported use of subselect)
mysql-test/t/sp-error.test:
  Test cases for BUG#336 and BUG#1654. (Unsupported use of subselect)
sql/item.cc:
  Made Item_splocal::type() work at compile time, for error checking.
sql/item.h:
  Made Item_splocal::type() work at compile time, for error checking.
sql/share/czech/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/danish/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/dutch/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/english/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/estonian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/french/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/german/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/greek/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/hungarian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/italian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/japanese/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/korean/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/norwegian-ny/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/norwegian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/polish/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/portuguese/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/romanian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/russian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/serbian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/slovak/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/spanish/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/swedish/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/share/ukrainian/errmsg.txt:
  New error message for unsupported subselect as SP set values (for the time being).
sql/sp_head.cc:
  Fixed (bogus) compile error on HP-UX alpha.
sql/sql_yacc.yy:
  Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
  The latter should work, but turned out to be difficult to fix, so we just
  disallow it for the time being.
This commit is contained in:
unknown
2003-12-04 15:17:55 +01:00
parent a17de3dde1
commit 3aaa8ab94e
31 changed files with 81 additions and 10 deletions

View File

@ -270,4 +270,14 @@ ERROR 42S22: Unknown column 'valname' in 'order clause'
drop procedure bug1965;
select 1 into a;
ERROR 42000: Undeclared variable: a
create procedure bug336(id char(16))
begin
declare x int;
set x = (select sum(t.data) from test.t2 t);
end;
ERROR 0A000: Subselect value not supported
create function bug1654()
returns int
return (select sum(t.data) from test.t2 t);
ERROR 0A000: Statements like SELECT, INSERT, UPDATE (and others) are not allowed in a FUNCTION
drop table t1;

View File

@ -361,6 +361,23 @@ drop procedure bug1965|
--error 1309
select 1 into a|
#
# BUG#336
#
--error 1317
create procedure bug336(id char(16))
begin
declare x int;
set x = (select sum(t.data) from test.t2 t);
end|
#
# BUG#1654
#
--error 1296
create function bug1654()
returns int
return (select sum(t.data) from test.t2 t)|
drop table t1|