diff options
author | Marc Alff <marc.alff@sun.com> | 2010-02-23 11:43:26 -0700 |
---|---|---|
committer | Marc Alff <marc.alff@sun.com> | 2010-02-23 11:43:26 -0700 |
commit | 22e9e95a7c0922da63cb0d5a600f204f427caf1f (patch) | |
tree | 5ee3669bcedd4780871ead9ac02ce6be6f3a7d0c /mysql-test | |
parent | b6e0f92f052a37568b984330b8cca8331c979a8d (diff) | |
download | mariadb-git-22e9e95a7c0922da63cb0d5a600f204f427caf1f.tar.gz |
Bug#31767 DROP FUNCTION name resolution
Backport to 5.5.99
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/errors.result | 4 | ||||
-rw-r--r-- | mysql-test/r/grant.result | 2 | ||||
-rw-r--r-- | mysql-test/r/signal.result | 2 | ||||
-rw-r--r-- | mysql-test/r/sp-error.result | 4 | ||||
-rw-r--r-- | mysql-test/r/sp-vars.result | 4 | ||||
-rw-r--r-- | mysql-test/r/sp.result | 4 | ||||
-rw-r--r-- | mysql-test/r/sp_notembedded.result | 4 | ||||
-rw-r--r-- | mysql-test/r/strict.result | 2 | ||||
-rw-r--r-- | mysql-test/r/udf.result | 46 | ||||
-rw-r--r-- | mysql-test/r/view.result | 2 | ||||
-rw-r--r-- | mysql-test/r/warnings.result | 6 | ||||
-rw-r--r-- | mysql-test/suite/sys_vars/r/max_prepared_stmt_count_func.result | 2 | ||||
-rw-r--r-- | mysql-test/t/udf.test | 69 |
13 files changed, 133 insertions, 18 deletions
diff --git a/mysql-test/r/errors.result b/mysql-test/r/errors.result index 79474b960f5..a3a8fe0b147 100644 --- a/mysql-test/r/errors.result +++ b/mysql-test/r/errors.result @@ -61,10 +61,10 @@ create table t1 (a int unique); create table t2 (a int); drop function if exists f1; Warnings: -Note 1305 FUNCTION f1 does not exist +Note 1305 FUNCTION test.f1 does not exist drop function if exists f2; Warnings: -Note 1305 FUNCTION f2 does not exist +Note 1305 FUNCTION test.f2 does not exist create function f1() returns int begin insert into t1 (a) values (1); diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result index 542a056c68c..b182ee5656c 100644 --- a/mysql-test/r/grant.result +++ b/mysql-test/r/grant.result @@ -1231,7 +1231,7 @@ Warnings: Note 1051 Unknown table 'test' drop function if exists test_function; Warnings: -Note 1305 FUNCTION test_function does not exist +Note 1305 FUNCTION test.test_function does not exist drop view if exists v1; Warnings: Note 1051 Unknown table 'test.v1' diff --git a/mysql-test/r/signal.result b/mysql-test/r/signal.result index 7fb09b87778..410abffcdf0 100644 --- a/mysql-test/r/signal.result +++ b/mysql-test/r/signal.result @@ -2181,7 +2181,7 @@ drop procedure peter_p1 $$ drop procedure peter_p2 $$ drop procedure if exists peter_p3 $$ Warnings: -Note 1305 PROCEDURE peter_p3 does not exist +Note 1305 PROCEDURE test.peter_p3 does not exist create procedure peter_p3() begin declare continue handler for sqlexception diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result index 4cefee95903..0f658ee831e 100644 --- a/mysql-test/r/sp-error.result +++ b/mysql-test/r/sp-error.result @@ -46,7 +46,7 @@ call foo()| ERROR 42000: PROCEDURE test.foo does not exist drop procedure if exists foo| Warnings: -Note 1305 PROCEDURE foo does not exist +Note 1305 PROCEDURE test.foo does not exist show create procedure foo| ERROR 42000: PROCEDURE foo does not exist show create function foo| @@ -1028,7 +1028,7 @@ drop table t1| drop function bug_13627_f| drop function if exists bug12329; Warnings: -Note 1305 FUNCTION bug12329 does not exist +Note 1305 FUNCTION test.bug12329 does not exist create table t1 as select 1 a; create table t2 as select 1 a; create function bug12329() returns int return (select a from t1); diff --git a/mysql-test/r/sp-vars.result b/mysql-test/r/sp-vars.result index f167986e82c..6f5b6dfb224 100644 --- a/mysql-test/r/sp-vars.result +++ b/mysql-test/r/sp-vars.result @@ -394,10 +394,10 @@ CASE expression tests. DROP PROCEDURE IF EXISTS p1; Warnings: -Note 1305 PROCEDURE p1 does not exist +Note 1305 PROCEDURE test.p1 does not exist DROP PROCEDURE IF EXISTS p2; Warnings: -Note 1305 PROCEDURE p2 does not exist +Note 1305 PROCEDURE test.p2 does not exist DROP TABLE IF EXISTS t1; Warnings: Note 1051 Unknown table 't1' diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index b656680326b..cd7874be414 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -2695,10 +2695,10 @@ delete from t3| insert into t3 values(1)| drop procedure if exists bug7992_1| Warnings: -Note 1305 PROCEDURE bug7992_1 does not exist +Note 1305 PROCEDURE test.bug7992_1 does not exist drop procedure if exists bug7992_2| Warnings: -Note 1305 PROCEDURE bug7992_2 does not exist +Note 1305 PROCEDURE test.bug7992_2 does not exist create procedure bug7992_1() begin declare i int; diff --git a/mysql-test/r/sp_notembedded.result b/mysql-test/r/sp_notembedded.result index 228fe008447..931e66dba73 100644 --- a/mysql-test/r/sp_notembedded.result +++ b/mysql-test/r/sp_notembedded.result @@ -21,11 +21,11 @@ end| call bug4902_2()| show warnings| Level Code Message -Note 1305 PROCEDURE bug4902_2 does not exist +Note 1305 PROCEDURE test.bug4902_2 does not exist call bug4902_2()| show warnings| Level Code Message -Note 1305 PROCEDURE bug4902_2 does not exist +Note 1305 PROCEDURE test.bug4902_2 does not exist drop procedure bug4902_2| drop table if exists t1| create table t1 ( diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result index fa4096cb424..a835f021d3a 100644 --- a/mysql-test/r/strict.result +++ b/mysql-test/r/strict.result @@ -1183,7 +1183,7 @@ drop table t1; create table t1 (col1 tinyint); drop procedure if exists t1; Warnings: -Note 1305 PROCEDURE t1 does not exist +Note 1305 PROCEDURE test.t1 does not exist create procedure t1 () begin declare exit handler for sqlexception select'a'; insert into t1 values (200); end;| call t1(); diff --git a/mysql-test/r/udf.result b/mysql-test/r/udf.result index fbf87b2e4cc..4ddf427df8c 100644 --- a/mysql-test/r/udf.result +++ b/mysql-test/r/udf.result @@ -392,6 +392,52 @@ a 4 DROP FUNCTION sequence; DROP TABLE t1,t2; +drop function if exists test.metaphon; +drop function if exists metaphon; +CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB"; +select metaphon("Hello"); +metaphon("Hello") +HL +drop function if exists test.metaphon; +Warnings: +Note 1305 FUNCTION test.metaphon does not exist +select metaphon("Hello"); +metaphon("Hello") +HL +drop function metaphon; +CREATE FUNCTION test.metaphon(a TEXT) RETURNS TEXT return "This is a SF"; +create database db_31767; +use db_31767; +CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB"; +use test; +select metaphon("Hello"); +metaphon("Hello") +HL +select test.metaphon("Hello"); +test.metaphon("Hello") +This is a SF +drop function metaphon; +select metaphon("Hello"); +metaphon("Hello") +This is a SF +drop function metaphon; +use db_31767; +drop database db_31767; +drop function if exists no_such_func; +Warnings: +Note 1305 FUNCTION (UDF) no_such_func does not exist +drop function no_such_func; +ERROR 42000: FUNCTION (UDF) no_such_func does not exist +drop function if exists test.no_such_func; +Warnings: +Note 1305 FUNCTION test.no_such_func does not exist +drop function test.no_such_func; +ERROR 42000: FUNCTION test.no_such_func does not exist +drop procedure if exists no_such_proc; +ERROR 3D000: No database selected +drop procedure no_such_proc; +ERROR 3D000: No database selected +use test; # # Bug#46259: 5.0.83 -> 5.1.36, query doesn't work # diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index e678718d3d5..0e79446ba81 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -2086,7 +2086,7 @@ CREATE TABLE t1 ( bug_table_seq INTEGER NOT NULL); CREATE OR REPLACE VIEW v1 AS SELECT * from t1; DROP PROCEDURE IF EXISTS p1; Warnings: -Note 1305 PROCEDURE p1 does not exist +Note 1305 PROCEDURE test.p1 does not exist CREATE PROCEDURE p1 ( ) BEGIN DO (SELECT @next := IFNULL(max(bug_table_seq),0) + 1 FROM v1); diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result index 8e70ea8b53d..70b54ffceaf 100644 --- a/mysql-test/r/warnings.result +++ b/mysql-test/r/warnings.result @@ -228,13 +228,13 @@ INSERT INTO t2 VALUES ( 'a`', 'a`' ); INSERT INTO t3 VALUES ( 'a`', 'a`', '1000-01-1' ); DROP PROCEDURE IF EXISTS sp1; Warnings: -Note 1305 PROCEDURE sp1 does not exist +Note 1305 PROCEDURE test.sp1 does not exist DROP PROCEDURE IF EXISTS sp2; Warnings: -Note 1305 PROCEDURE sp2 does not exist +Note 1305 PROCEDURE test.sp2 does not exist DROP PROCEDURE IF EXISTS sp3; Warnings: -Note 1305 PROCEDURE sp3 does not exist +Note 1305 PROCEDURE test.sp3 does not exist CREATE PROCEDURE sp1() BEGIN DECLARE x NUMERIC ZEROFILL; diff --git a/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_func.result b/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_func.result index 562ef63f811..d71bdc0984f 100644 --- a/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_func.result +++ b/mysql-test/suite/sys_vars/r/max_prepared_stmt_count_func.result @@ -66,7 +66,7 @@ SET GLOBAL max_prepared_stmt_count=3; ** Creating procedure ** DROP PROCEDURE IF EXISTS sp_checkstmts; Warnings: -Note 1305 PROCEDURE sp_checkstmts does not exist +Note 1305 PROCEDURE test.sp_checkstmts does not exist CREATE PROCEDURE sp_checkstmts () BEGIN PREPARE newstmt from "SELECT * FROM information_schema.CHARACTER_SETS C"; diff --git a/mysql-test/t/udf.test b/mysql-test/t/udf.test index 7e383ce69fa..9bf872fa466 100644 --- a/mysql-test/t/udf.test +++ b/mysql-test/t/udf.test @@ -436,6 +436,75 @@ SELECT * FROM t2 WHERE a = sequence(); DROP FUNCTION sequence; DROP TABLE t1,t2; +# +# Bug#31767 (DROP FUNCTION name resolution) +# + +--disable_warnings +drop function if exists test.metaphon; +drop function if exists metaphon; +--enable_warnings + +--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; + +select metaphon("Hello"); + +# The UDF should not be dropped +drop function if exists test.metaphon; + +select metaphon("Hello"); + +drop function metaphon; + +CREATE FUNCTION test.metaphon(a TEXT) RETURNS TEXT return "This is a SF"; + +create database db_31767; +use db_31767; + +--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB +eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB"; + +use test; + +# Uses the UDF +select metaphon("Hello"); + +# Uses the SF +select test.metaphon("Hello"); + +# Should drop the UDF, resolving the name the same way select does. +drop function metaphon; + +# Should call the SF +select metaphon("Hello"); + +# Drop the SF +drop function metaphon; + +# Change the current database to none. +use db_31767; +drop database db_31767; + +drop function if exists no_such_func; + +--error ER_SP_DOES_NOT_EXIST +drop function no_such_func; + +drop function if exists test.no_such_func; + +--error ER_SP_DOES_NOT_EXIST +drop function test.no_such_func; + +--error ER_NO_DB_ERROR +drop procedure if exists no_such_proc; + +--error ER_NO_DB_ERROR +drop procedure no_such_proc; + +use test; + + --echo # --echo # Bug#46259: 5.0.83 -> 5.1.36, query doesn't work --echo # |