diff options
author | Konstantin Osipov <konstantin@mysql.com> | 2008-07-03 23:41:22 +0400 |
---|---|---|
committer | Konstantin Osipov <konstantin@mysql.com> | 2008-07-03 23:41:22 +0400 |
commit | 7b8bfb2a93fbcaf1b43c343a0ab0c886da1d8f96 (patch) | |
tree | acd04510c1120addfb7290222a2147d86665993f /mysql-test/r/sp-error.result | |
parent | b6b6d98fff188128b35e69da4679d0f0bb48239f (diff) | |
download | mariadb-git-7b8bfb2a93fbcaf1b43c343a0ab0c886da1d8f96.tar.gz |
A fix for
Bug#12093 "SP not found on second PS execution if another thread
drops other SP in between" and
Bug#21294 "executing a prepared statement that executes a stored
function which was recreat"
Stored functions are resolved at prepared statement prepare only.
If someone flushes the stored functions cache between prepare and
execute, execution fails.
The fix is to detect the situation of the cache flush and automatically
reprepare the prepared statement after it.
mysql-test/r/ps_ddl.result:
Update results (Bug#12093 and Bug#21294, the test cases are already
in the source tree).
mysql-test/r/ps_ddl1.result:
Update results (Bug#12093 and Bug#21294, the test cases are already
in the source tree).
mysql-test/r/sp-error.result:
Update results (Bug#12093 and Bug#21294, the test cases are already
in the source tree).
mysql-test/t/ps_ddl.test:
Modify the test to not expect an error where there is no error
any more (Bug#12093, Bug#21294).
mysql-test/t/ps_ddl1.test:
Modify the test to not expect an error where there is no error
any more (Bug#12093, Bug#21294).
mysql-test/t/sp-error.test:
Modify the test to not expect an error where there is no error
any more (Bug#12093, Bug#21294).
sql/sp_cache.cc:
Implement sp_cache_version() -- returns the current version of
a stored routines cache.
sql/sp_cache.h:
Declare sp_cache_version().
sql/sql_prepare.cc:
Keep track of stored functions cache version, and invalidate
the statement if it changed between prepared statement
prepare and execute (and the statement actually uses stored routines).
Diffstat (limited to 'mysql-test/r/sp-error.result')
-rw-r--r-- | mysql-test/r/sp-error.result | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result index 5ac61821cea..cc383d003e9 100644 --- a/mysql-test/r/sp-error.result +++ b/mysql-test/r/sp-error.result @@ -796,7 +796,7 @@ bug11834_2() 10 drop function bug11834_1; execute stmt; -ERROR 42000: FUNCTION test.bug11834_2 does not exist +ERROR 42000: FUNCTION test.bug11834_1 does not exist deallocate prepare stmt; drop function bug11834_2; DROP FUNCTION IF EXISTS bug12953| @@ -1045,7 +1045,8 @@ select bug12329(); bug12329() 101 execute stmt1; -ERROR 42S02: Table 'test.t2' doesn't exist +bug12329() +101 deallocate prepare stmt1; drop function bug12329; drop table t1, t2; |