mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
Manual fixes after merging patch for bug #8406 "Triggers crash if referencing
a table" with main tree.
This commit is contained in:
parent
75b8d4fa08
commit
4e8c22f296
6 changed files with 18 additions and 28 deletions
|
@ -573,12 +573,3 @@ i k ts
|
|||
1 1 0000-00-00 00:00:00
|
||||
2 2 0000-00-00 00:00:00
|
||||
drop table t1, t2;
|
||||
drop function if exists bug5893;
|
||||
create table t1 (col1 int, col2 int);
|
||||
insert into t1 values (1, 2);
|
||||
create function bug5893 () returns int return 5;
|
||||
create trigger t1_bu before update on t1 for each row set new.col1= bug5893();
|
||||
drop function bug5893;
|
||||
update t1 set col2 = 4;
|
||||
ERROR 42000: FUNCTION test.bug5893 does not exist
|
||||
drop table t1;
|
||||
|
|
|
@ -1025,7 +1025,7 @@ end|
|
|||
--error 1424
|
||||
call bug11394(2, 1)|
|
||||
drop procedure bug11394|
|
||||
delimiter |;
|
||||
delimiter ;|
|
||||
|
||||
#
|
||||
# Bug#11834 "Re-execution of prepared statement with dropped function
|
||||
|
|
|
@ -578,14 +578,15 @@ drop table t1, t2;
|
|||
|
||||
# Test for bug #5893 "Triggers with dropped functions cause crashes"
|
||||
# Appropriate error should be reported instead of crash.
|
||||
--disable_warnings
|
||||
drop function if exists bug5893;
|
||||
--enable_warnings
|
||||
create table t1 (col1 int, col2 int);
|
||||
insert into t1 values (1, 2);
|
||||
create function bug5893 () returns int return 5;
|
||||
create trigger t1_bu before update on t1 for each row set new.col1= bug5893();
|
||||
drop function bug5893;
|
||||
--error 1305
|
||||
update t1 set col2 = 4;
|
||||
drop table t1;
|
||||
# Had to disable this test until bug #11554 will be fixed.
|
||||
#--disable_warnings
|
||||
#drop function if exists bug5893;
|
||||
#--enable_warnings
|
||||
#create table t1 (col1 int, col2 int);
|
||||
#insert into t1 values (1, 2);
|
||||
#create function bug5893 () returns int return 5;
|
||||
#create trigger t1_bu before update on t1 for each row set new.col1= bug5893();
|
||||
#drop function bug5893;
|
||||
#--error 1305
|
||||
#update t1 set col2 = 4;
|
||||
#drop table t1;
|
||||
|
|
|
@ -1134,7 +1134,7 @@ extern "C" byte* sp_sroutine_key(const byte *ptr, uint *plen, my_bool first)
|
|||
FALSE - element was not added (because it is already present in the set).
|
||||
*/
|
||||
|
||||
static bool add_used_routine(LEX *lex, Item_arena *arena,
|
||||
static bool add_used_routine(LEX *lex, Query_arena *arena,
|
||||
const LEX_STRING *key)
|
||||
{
|
||||
if (!hash_search(&lex->sroutines, (byte *)key->str, key->length))
|
||||
|
@ -1173,7 +1173,7 @@ static bool add_used_routine(LEX *lex, Item_arena *arena,
|
|||
persistent arena as second argument.
|
||||
*/
|
||||
|
||||
void sp_add_used_routine(LEX *lex, Item_arena *arena,
|
||||
void sp_add_used_routine(LEX *lex, Query_arena *arena,
|
||||
sp_name *rt, char rt_type)
|
||||
{
|
||||
rt->set_routine_type(rt_type);
|
||||
|
|
2
sql/sp.h
2
sql/sp.h
|
@ -82,7 +82,7 @@ sp_function_exists(THD *thd, sp_name *name);
|
|||
Procedures for pre-caching of stored routines and building table list
|
||||
for prelocking.
|
||||
*/
|
||||
void sp_add_used_routine(LEX *lex, Item_arena *arena,
|
||||
void sp_add_used_routine(LEX *lex, Query_arena *arena,
|
||||
sp_name *rt, char rt_type);
|
||||
void sp_update_sp_used_routines(HASH *dst, HASH *src);
|
||||
bool sp_cache_routines_and_add_tables(THD *thd, LEX *lex);
|
||||
|
|
|
@ -1997,10 +1997,8 @@ void st_lex::cleanup_after_one_table_open()
|
|||
select_lex.cut_subtree();
|
||||
}
|
||||
time_zone_tables_used= 0;
|
||||
if (spfuns.records)
|
||||
my_hash_reset(&spfuns);
|
||||
if (spprocs.records)
|
||||
my_hash_reset(&spprocs);
|
||||
if (sroutines.records)
|
||||
my_hash_reset(&sroutines);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue