summaryrefslogtreecommitdiff
path: root/sql/sp.h
diff options
context:
space:
mode:
authordlenev@mysql.com <>2005-09-15 03:56:09 +0400
committerdlenev@mysql.com <>2005-09-15 03:56:09 +0400
commite231ebe5fbfde7cd8cd4e3e2e21ebadb91fe965a (patch)
tree0f615e302d79fa87c5b5c4e98170b68ece5b0fa8 /sql/sp.h
parent9300833c91236da77b00d2c7871d11894b5803a7 (diff)
downloadmariadb-git-e231ebe5fbfde7cd8cd4e3e2e21ebadb91fe965a.tar.gz
Fix for bug #12704 "Server crashes during trigger execution".
This bug occurs when some trigger for table used by DML statement is created or changed while statement was waiting in lock_tables(). In this situation prelocking set which we have calculated becames invalid which can easily lead to errors and even in some cases to crashes. With proposed patch we no longer silently reopen tables in lock_tables(), instead caller of lock_tables() becomes responsible for reopening tables and recalculation of prelocking set.
Diffstat (limited to 'sql/sp.h')
-rw-r--r--sql/sp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sp.h b/sql/sp.h
index c278da863e0..933e5793e4c 100644
--- a/sql/sp.h
+++ b/sql/sp.h
@@ -84,6 +84,7 @@ void sp_get_prelocking_info(THD *thd, bool *need_prelocking,
bool *first_no_prelocking);
void sp_add_used_routine(LEX *lex, Query_arena *arena,
sp_name *rt, char rt_type);
+void sp_remove_not_own_routines(LEX *lex);
void sp_update_sp_used_routines(HASH *dst, HASH *src);
bool sp_cache_routines_and_add_tables(THD *thd, LEX *lex,
bool first_no_prelock);