Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/alik/Documents/AllProgs/MySQL/devel/5.0-bug13037
This commit is contained in:
commit
afb50a5de1
@ -444,9 +444,9 @@ set b = a;
|
|||||||
end if;
|
end if;
|
||||||
end|
|
end|
|
||||||
call bug2653_1(1, @b)|
|
call bug2653_1(1, @b)|
|
||||||
ERROR 42S22: Unknown column 'aa' in 'order clause'
|
ERROR 42S22: Unknown column 'aa' in 'field list'
|
||||||
call bug2653_2(2, @b)|
|
call bug2653_2(2, @b)|
|
||||||
ERROR 42S22: Unknown column 'aa' in 'order clause'
|
ERROR 42S22: Unknown column 'aa' in 'field list'
|
||||||
drop procedure bug2653_1|
|
drop procedure bug2653_1|
|
||||||
drop procedure bug2653_2|
|
drop procedure bug2653_2|
|
||||||
create procedure bug4344() drop procedure bug4344|
|
create procedure bug4344() drop procedure bug4344|
|
||||||
@ -883,3 +883,36 @@ select count(*) into param1 from t3;
|
|||||||
end|
|
end|
|
||||||
ERROR 3D000: No database selected
|
ERROR 3D000: No database selected
|
||||||
use test;
|
use test;
|
||||||
|
DROP PROCEDURE IF EXISTS bug13037_p1;
|
||||||
|
DROP PROCEDURE IF EXISTS bug13037_p2;
|
||||||
|
DROP PROCEDURE IF EXISTS bug13037_p3;
|
||||||
|
CREATE PROCEDURE bug13037_p1()
|
||||||
|
BEGIN
|
||||||
|
IF bug13037_foo THEN
|
||||||
|
SELECT 1;
|
||||||
|
END IF;
|
||||||
|
END|
|
||||||
|
CREATE PROCEDURE bug13037_p2()
|
||||||
|
BEGIN
|
||||||
|
SET @bug13037_foo = bug13037_bar;
|
||||||
|
END|
|
||||||
|
CREATE PROCEDURE bug13037_p3()
|
||||||
|
BEGIN
|
||||||
|
SELECT bug13037_foo;
|
||||||
|
END|
|
||||||
|
|
||||||
|
CALL bug13037_p1();
|
||||||
|
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
||||||
|
CALL bug13037_p2();
|
||||||
|
ERROR 42S22: Unknown column 'bug13037_bar' in 'field list'
|
||||||
|
CALL bug13037_p3();
|
||||||
|
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
||||||
|
CALL bug13037_p1();
|
||||||
|
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
||||||
|
CALL bug13037_p2();
|
||||||
|
ERROR 42S22: Unknown column 'bug13037_bar' in 'field list'
|
||||||
|
CALL bug13037_p3();
|
||||||
|
ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
||||||
|
DROP PROCEDURE bug13037_p1;
|
||||||
|
DROP PROCEDURE bug13037_p2;
|
||||||
|
DROP PROCEDURE bug13037_p3;
|
||||||
|
@ -1284,6 +1284,60 @@ begin
|
|||||||
end|
|
end|
|
||||||
delimiter ;|
|
delimiter ;|
|
||||||
use test;
|
use test;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#13037: undefined variable in IF cause erroneous error-message
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP PROCEDURE IF EXISTS bug13037_p1;
|
||||||
|
DROP PROCEDURE IF EXISTS bug13037_p2;
|
||||||
|
DROP PROCEDURE IF EXISTS bug13037_p3;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
delimiter |;
|
||||||
|
|
||||||
|
CREATE PROCEDURE bug13037_p1()
|
||||||
|
BEGIN
|
||||||
|
IF bug13037_foo THEN
|
||||||
|
SELECT 1;
|
||||||
|
END IF;
|
||||||
|
END|
|
||||||
|
|
||||||
|
CREATE PROCEDURE bug13037_p2()
|
||||||
|
BEGIN
|
||||||
|
SET @bug13037_foo = bug13037_bar;
|
||||||
|
END|
|
||||||
|
|
||||||
|
CREATE PROCEDURE bug13037_p3()
|
||||||
|
BEGIN
|
||||||
|
SELECT bug13037_foo;
|
||||||
|
END|
|
||||||
|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
--echo
|
||||||
|
|
||||||
|
--error 1054
|
||||||
|
CALL bug13037_p1();
|
||||||
|
--error 1054
|
||||||
|
CALL bug13037_p2();
|
||||||
|
--error 1054
|
||||||
|
CALL bug13037_p3();
|
||||||
|
|
||||||
|
--error 1054
|
||||||
|
CALL bug13037_p1();
|
||||||
|
--error 1054
|
||||||
|
CALL bug13037_p2();
|
||||||
|
--error 1054
|
||||||
|
CALL bug13037_p3();
|
||||||
|
|
||||||
|
DROP PROCEDURE bug13037_p1;
|
||||||
|
DROP PROCEDURE bug13037_p2;
|
||||||
|
DROP PROCEDURE bug13037_p3;
|
||||||
|
|
||||||
|
|
||||||
# BUG#NNNN: New bug synopsis
|
# BUG#NNNN: New bug synopsis
|
||||||
#
|
#
|
||||||
#--disable_warnings
|
#--disable_warnings
|
||||||
|
@ -4272,7 +4272,7 @@ bool setup_fields(THD *thd, Item **ref_pointer_array,
|
|||||||
|
|
||||||
thd->set_query_id=set_query_id;
|
thd->set_query_id=set_query_id;
|
||||||
thd->allow_sum_func= allow_sum_func;
|
thd->allow_sum_func= allow_sum_func;
|
||||||
thd->where="field list";
|
thd->where= THD::DEFAULT_WHERE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
To prevent fail on forward lookup we fill it with zerows,
|
To prevent fail on forward lookup we fill it with zerows,
|
||||||
|
@ -44,6 +44,8 @@
|
|||||||
*/
|
*/
|
||||||
char internal_table_name[2]= "*";
|
char internal_table_name[2]= "*";
|
||||||
|
|
||||||
|
const char * const THD::DEFAULT_WHERE= "field list";
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
** Instansiate templates
|
** Instansiate templates
|
||||||
@ -234,7 +236,7 @@ THD::THD()
|
|||||||
|
|
||||||
/* Variables with default values */
|
/* Variables with default values */
|
||||||
proc_info="login";
|
proc_info="login";
|
||||||
where="field list";
|
where= THD::DEFAULT_WHERE;
|
||||||
server_id = ::server_id;
|
server_id = ::server_id;
|
||||||
slave_net = 0;
|
slave_net = 0;
|
||||||
command=COM_CONNECT;
|
command=COM_CONNECT;
|
||||||
@ -545,6 +547,8 @@ void THD::cleanup_after_query()
|
|||||||
}
|
}
|
||||||
/* Free Items that were created during this execution */
|
/* Free Items that were created during this execution */
|
||||||
free_items();
|
free_items();
|
||||||
|
/* Reset where. */
|
||||||
|
where= THD::DEFAULT_WHERE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1109,6 +1109,14 @@ class THD :public Statement,
|
|||||||
public Open_tables_state
|
public Open_tables_state
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/*
|
||||||
|
Constant for THD::where initialization in the beginning of every query.
|
||||||
|
|
||||||
|
It's needed because we do not save/restore THD::where normally during
|
||||||
|
primary (non subselect) query execution.
|
||||||
|
*/
|
||||||
|
static const char * const DEFAULT_WHERE;
|
||||||
|
|
||||||
#ifdef EMBEDDED_LIBRARY
|
#ifdef EMBEDDED_LIBRARY
|
||||||
struct st_mysql *mysql;
|
struct st_mysql *mysql;
|
||||||
struct st_mysql_data *data;
|
struct st_mysql_data *data;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user