Commit 1d29e6b0 authored by unknown's avatar unknown

after merge fixes


sql/opt_range.h:
  compatibility fix
sql/sql_lex.cc:
  cleanup
parent a9856042
......@@ -44,7 +44,7 @@ call foo()|
ERROR 42000: PROCEDURE test.foo does not exist
drop procedure if exists foo|
Warnings:
Warning 1303 PROCEDURE foo does not exist
Warning 1304 PROCEDURE foo does not exist
show create procedure foo|
ERROR 42000: PROCEDURE foo does not exist
create procedure foo()
......@@ -80,7 +80,7 @@ declare y int;
set x = y;
end|
Warnings:
Warning 1309 Referring to uninitialized variable y
Warning 1310 Referring to uninitialized variable y
drop procedure foo|
create procedure foo()
return 42|
......
......@@ -49,18 +49,18 @@ create function func1() returns int
return 42|
# Can't create recursively
--error 1301
--error 1302
create procedure foo()
create procedure bar() set @x=3|
--error 1301
--error 1302
create procedure foo()
create function bar() returns double return 2.3|
# Already exists
--error 1302
--error 1303
create procedure proc1()
set @x = 42|
--error 1302
--error 1303
create function func1() returns int
return 42|
......@@ -68,39 +68,39 @@ drop procedure proc1|
drop function func1|
# Does not exist
--error 1303
--error 1304
alter procedure foo|
--error 1303
--error 1304
alter function foo|
--error 1303
--error 1304
drop procedure foo|
--error 1303
--error 1304
drop function foo|
--error 1303
--error 1304
call foo()|
drop procedure if exists foo|
--error 1303
--error 1304
show create procedure foo|
# LEAVE/ITERATE with no match
--error 1306
--error 1307
create procedure foo()
foo: loop
leave bar;
end loop|
--error 1306
--error 1307
create procedure foo()
foo: loop
iterate bar;
end loop|
--error 1306
--error 1307
create procedure foo()
foo: begin
iterate foo;
end|
# Redefining label
--error 1307
--error 1308
create procedure foo()
foo: loop
foo: loop
......@@ -109,7 +109,7 @@ foo: loop
end loop foo|
# End label mismatch
--error 1308
--error 1309
create procedure foo()
foo: loop
set @x=2;
......@@ -124,12 +124,12 @@ end|
drop procedure foo|
# RETURN in FUNCTION only
--error 1311
--error 1312
create procedure foo()
return 42|
# Doesn't allow queries in FUNCTIONs (for now :-( )
--error 1312
--error 1313
create function foo() returns int
begin
declare x int;
......@@ -143,19 +143,19 @@ create procedure p(x int)
create function f(x int) returns int
return x+42|
--error 1316
--error 1317
call p()|
--error 1316
--error 1317
call p(1, 2)|
--error 1316
--error 1317
select f()|
--error 1316
--error 1317
select f(1, 2)|
drop procedure p|
drop function f|
--error 1317
--error 1318
create procedure p(val int, out res int)
begin
declare x int default 0;
......@@ -169,7 +169,7 @@ begin
end if;
end|
--error 1317
--error 1318
create procedure p(val int, out res int)
begin
declare x int default 0;
......@@ -184,7 +184,7 @@ begin
end if;
end|
--error 1318
--error 1319
create function f(val int) returns int
begin
declare x int;
......@@ -202,12 +202,12 @@ begin
end if;
end|
--error 1319
--error 1320
select f(10)|
drop function f|
--error 1320
--error 1321
create procedure p()
begin
declare c cursor for insert into test.t1 values ("foo", 42);
......@@ -216,7 +216,7 @@ begin
close c;
end|
--error 1321
--error 1322
create procedure p()
begin
declare x int;
......@@ -226,7 +226,7 @@ begin
close c;
end|
--error 1322
--error 1323
create procedure p()
begin
declare c cursor for select * from test.t;
......@@ -248,7 +248,7 @@ begin
open c;
close c;
end|
--error 1323
--error 1324
call p()|
drop procedure p|
......@@ -260,11 +260,11 @@ begin
close c;
close c;
end|
--error 1324
--error 1325
call p()|
drop procedure p|
--error 1303
--error 1304
alter procedure bar3 sql security invoker|
--error 1059
alter procedure bar3 name
......@@ -278,7 +278,7 @@ drop table if exists t1|
create table t1 (val int, x float)|
insert into t1 values (42, 3.1), (19, 1.2)|
--error 1325
--error 1326
create procedure p()
begin
declare x int;
......@@ -298,7 +298,7 @@ begin
fetch c into x;
close c;
end|
--error 1326
--error 1327
call p()|
drop procedure p|
......@@ -313,34 +313,34 @@ begin
fetch c into x, y, z;
close c;
end|
--error 1326
--error 1327
call p()|
drop procedure p|
--error 1328
--error 1329
create procedure p(in x int, x char(10))
begin
end|
--error 1328
--error 1329
create function p(x int, x char(10))
begin
end|
--error 1329
--error 1330
create procedure p()
begin
declare x float;
declare x int;
end|
--error 1330
--error 1331
create procedure p()
begin
declare c condition for 1064;
declare c condition for 1065;
end|
--error 1331
--error 1332
create procedure p()
begin
declare c cursor for select * from t1;
......@@ -348,18 +348,18 @@ begin
end|
# USE is not allowed
--error 1334
--error 1335
create procedure u()
use sptmp|
# Enforced standard order of declarations
--error 1335
--error 1336
create procedure p()
begin
declare c cursor for select * from t1;
declare x int;
end|
--error 1335
--error 1336
create procedure p()
begin
declare x int;
......@@ -367,7 +367,7 @@ begin
declare foo condition for sqlstate '42S99';
end|
--error 1336
--error 1337
create procedure p()
begin
declare x int;
......@@ -392,13 +392,13 @@ drop procedure bug1965|
#
# BUG#1966
#
--error 1325
--error 1326
select 1 into a|
#
# BUG#336
#
--error 1333
--error 1334
create procedure bug336(id char(16))
begin
declare x int;
......@@ -408,7 +408,7 @@ end|
#
# BUG#1654
#
--error 1312
--error 1313
create function bug1654()
returns int
return (select sum(t.data) from test.t2 t)|
......@@ -446,7 +446,7 @@ begin
fetch c1 into v1;
end|
--error 1324
--error 1325
call bug2259()|
drop procedure bug2259|
......@@ -502,7 +502,7 @@ begin
end case;
return 2;
end|
--error 1337
--error 1338
select bug3287()|
drop function bug3287|
......@@ -513,7 +513,7 @@ when 0 then
when 1 then
insert into test.t1 values (x, 1.1);
end case|
--error 1337
--error 1338
call bug3287(2)|
drop procedure bug3287|
......
......@@ -60,7 +60,7 @@ select * from db1_secret.t1;
# ...and not this
--error 1049
create procedure db1_secret.dummy() begin end;
--error 1303
--error 1304
drop procedure db1_secret.dummy;
......@@ -80,7 +80,7 @@ select * from db1_secret.t1;
# ...and not this
--error 1049
create procedure db1_secret.dummy() begin end;
--error 1303
--error 1304
drop procedure db1_secret.dummy;
......
......@@ -146,7 +146,7 @@ class QUICK_SELECT_I
QS_TYPE_RANGE_DESC = 2,
QS_TYPE_FULLTEXT = 3,
QS_TYPE_ROR_INTERSECT = 4,
QS_TYPE_ROR_UNION = 5,
QS_TYPE_ROR_UNION = 5
};
/* Get type of this quick select - one of the QS_TYPE_* values */
......
......@@ -265,8 +265,7 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp)
*/
List<Item> vals= thd->lex->value_list;
mysql_init_query(thd, TRUE);
lex_start(thd, (uchar*)defstr.c_ptr(), defstr.length());
mysql_init_query(thd, (uchar*)defstr.c_ptr(), defstr.length(), TRUE);
thd->lex->value_list= vals;
}
......
......@@ -690,17 +690,18 @@ sp_head::reset_lex(THD *thd)
(void)m_lex.push_front(oldlex);
thd->lex= sublex= new st_lex;
/* Reset most stuff. The length arguments doesn't matter here. */
lex_start(thd, oldlex->buf, oldlex->end_of_query - oldlex->ptr);
sublex->yylineno= oldlex->yylineno;
mysql_init_query(thd,oldlex->buf, oldlex->end_of_query - oldlex->ptr, TRUE);
/* We must reset ptr and end_of_query again */
sublex->ptr= oldlex->ptr;
sublex->end_of_query= oldlex->end_of_query;
sublex->tok_start= oldlex->tok_start;
sublex->yylineno= oldlex->yylineno;
/* And keep the SP stuff too */
sublex->sphead= oldlex->sphead;
sublex->spcont= oldlex->spcont;
mysql_init_query(thd, true); // Only init lex
sublex->sp_lex_in_use= FALSE;
DBUG_VOID_RETURN;
}
......
......@@ -111,8 +111,8 @@ void lex_start(THD *thd, uchar *buf,uint length)
LEX *lex= thd->lex;
lex->thd= thd;
lex->next_state=MY_LEX_START;
lex->buf= buf;
lex->end_of_query=(lex->ptr=buf)+length;
lex->buf= lex->ptr= buf;
lex->end_of_query=buf+length;
lex->yylineno = 1;
lex->in_comment=0;
lex->length=0;
......
......@@ -563,8 +563,7 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table)
now Lex placed in statement memory
*/
table->view= lex= thd->lex= (LEX*) new(&thd->mem_root) st_lex_local;
lex_start(thd, (uchar*)table->query.str, table->query.length);
mysql_init_query(thd, true);
mysql_init_query(thd, (uchar*)table->query.str, table->query.length, TRUE);
lex->select_lex.select_number= ++thd->select_number;
old_lex->derived_tables|= DERIVED_VIEW;
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment