1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-03 14:33:32 +03:00

Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime

into  weblab.(none):/home/marcsql/TREE/mysql-5.1-18239


mysql-test/t/sp.test:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
This commit is contained in:
unknown
2006-11-15 11:24:57 -07:00
10 changed files with 409 additions and 3 deletions

View File

@@ -2178,6 +2178,7 @@ set @stamped_time=in_time;
set x=2;
end if;
end|
set time_zone='+03:00';
call bug3426(1000, @i)|
select @i, from_unixtime(@stamped_time, '%d-%m-%Y %h:%i:%s') as time|
@i time
@@ -5627,4 +5628,119 @@ Called B
drop procedure proc_21462_a|
drop procedure proc_21462_b|
End of 5.0 tests
Begin of 5.1 tests
drop function if exists pi;
create function pi() returns varchar(50)
return "pie, my favorite desert.";
Warnings:
Note 1578 This function 'pi' has the same name as a native function.
SET @save_sql_mode=@@sql_mode;
SET SQL_MODE='IGNORE_SPACE';
select pi(), pi ();
pi() pi ()
3.141593 3.141593
select test.pi(), test.pi ();
test.pi() test.pi ()
pie, my favorite desert. pie, my favorite desert.
Warnings:
Note 1578 This function 'pi' has the same name as a native function.
SET SQL_MODE='';
select pi(), pi ();
pi() pi ()
3.141593 3.141593
select test.pi(), test.pi ();
test.pi() test.pi ()
pie, my favorite desert. pie, my favorite desert.
SET @@sql_mode=@save_sql_mode;
drop function pi;
drop function if exists test.database;
drop function if exists test.current_user;
drop function if exists test.md5;
create database nowhere;
use nowhere;
drop database nowhere;
SET @save_sql_mode=@@sql_mode;
SET SQL_MODE='IGNORE_SPACE';
select database(), database ();
database() database ()
NULL NULL
select current_user(), current_user ();
current_user() current_user ()
root@localhost root@localhost
select md5("aaa"), md5 ("aaa");
md5("aaa") md5 ("aaa")
47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
SET SQL_MODE='';
select database(), database ();
database() database ()
NULL NULL
select current_user(), current_user ();
current_user() current_user ()
root@localhost root@localhost
select md5("aaa"), md5 ("aaa");
md5("aaa") md5 ("aaa")
47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
use test;
create function `database`() returns varchar(50)
return "Stored function database";
Warnings:
Note 1578 This function 'database' has the same name as a native function.
create function `current_user`() returns varchar(50)
return "Stored function current_user";
Warnings:
Note 1578 This function 'current_user' has the same name as a native function.
create function md5(x varchar(50)) returns varchar(50)
return "Stored function md5";
Warnings:
Note 1578 This function 'md5' has the same name as a native function.
SET SQL_MODE='IGNORE_SPACE';
select database(), database ();
database() database ()
test test
select current_user(), current_user ();
current_user() current_user ()
root@localhost root@localhost
select md5("aaa"), md5 ("aaa");
md5("aaa") md5 ("aaa")
47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
select test.database(), test.database ();
test.database() test.database ()
Stored function database Stored function database
Warnings:
Note 1578 This function 'database' has the same name as a native function.
select test.current_user(), test.current_user ();
test.current_user() test.current_user ()
Stored function current_user Stored function current_user
Warnings:
Note 1578 This function 'current_user' has the same name as a native function.
select test.md5("aaa"), test.md5 ("aaa");
test.md5("aaa") test.md5 ("aaa")
Stored function md5 Stored function md5
Warnings:
Note 1578 This function 'md5' has the same name as a native function.
SET SQL_MODE='';
select database(), database ();
database() database ()
test test
select current_user(), current_user ();
current_user() current_user ()
root@localhost root@localhost
select md5("aaa"), md5 ("aaa");
md5("aaa") md5 ("aaa")
47bce5c74f589f4867dbd57e9ca9f808 47bce5c74f589f4867dbd57e9ca9f808
select test.database(), test.database ();
test.database() test.database ()
Stored function database Stored function database
select test.current_user(), test.current_user ();
test.current_user() test.current_user ()
Stored function current_user Stored function current_user
select test.md5("aaa"), test.md5 ("aaa");
test.md5("aaa") test.md5 ("aaa")
Stored function md5 Stored function md5
SET @@sql_mode=@save_sql_mode;
drop function test.database;
drop function test.current_user;
drop function md5;
use test;
End of 5.1 tests
drop table t1,t2;

View File

@@ -0,0 +1,33 @@
use test;
drop function if exists a;
drop function if exists x;
drop function if exists y;
create function a() returns int
return 1;
create function x() returns int
return 2;
Warnings:
Note 1578 This function 'x' has the same name as a native function.
create function y() returns int
return 3;
Warnings:
Note 1578 This function 'y' has the same name as a native function.
select a();
a()
1
select x();
ERROR 42000: Incorrect parameter count in the call to native function 'x'
select y();
ERROR 42000: Incorrect parameter count in the call to native function 'y'
select x(PointFromText("POINT(10 20)")), y(PointFromText("POINT(10 20)"));
x(PointFromText("POINT(10 20)")) y(PointFromText("POINT(10 20)"))
10 20
select test.a(), test.x(), test.y();
test.a() test.x() test.y()
1 2 3
Warnings:
Note 1578 This function 'x' has the same name as a native function.
Note 1578 This function 'y' has the same name as a native function.
drop function a;
drop function x;
drop function y;

View File

@@ -106,6 +106,22 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
drop table t1;
End of 5.0 tests.
drop function if exists pi;
CREATE FUNCTION pi RETURNS STRING SONAME "should_not_parse.so";
ERROR HY000: This function 'pi' has the same name as a native function.
DROP FUNCTION IF EXISTS metaphon;
CREATE FUNCTION metaphon(a int) RETURNS int
return 0;
CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
ERROR HY000: Function 'metaphon' already exists
DROP FUNCTION metaphon;
CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
CREATE FUNCTION metaphon(a int) RETURNS int
return 0;
ERROR HY000: Function 'metaphon' already exists
CREATE FUNCTION test.metaphon(a int) RETURNS int
return 0;
ERROR HY000: Function 'metaphon' already exists
DROP FUNCTION metaphon;
DROP FUNCTION myfunc_double;
DROP FUNCTION myfunc_nonexist;

View File

@@ -11,6 +11,7 @@
# Tests that uses 'goto' to into sp-goto.test (currently disabled)
# Tests that destroys system tables (e.g. mysql.proc) for error testing
# go to sp-destruct.
# Tests that require --with-geometry go into sp_gis.test
use test;
@@ -2584,6 +2585,9 @@ begin
end if;
end|
# so that from_unixtime() has a deterministic result
set time_zone='+03:00';
call bug3426(1000, @i)|
select @i, from_unixtime(@stamped_time, '%d-%m-%Y %h:%i:%s') as time|
call bug3426(NULL, @i)|
@@ -6585,6 +6589,108 @@ drop procedure proc_21462_b|
--echo End of 5.0 tests
--echo Begin of 5.1 tests
#
# BUG#18239: Possible to overload internal functions with stored functions
#
delimiter ;|
--disable_warnings
drop function if exists pi;
--enable_warnings
create function pi() returns varchar(50)
return "pie, my favorite desert.";
SET @save_sql_mode=@@sql_mode;
SET SQL_MODE='IGNORE_SPACE';
select pi(), pi ();
select test.pi(), test.pi ();
SET SQL_MODE='';
select pi(), pi ();
select test.pi(), test.pi ();
SET @@sql_mode=@save_sql_mode;
drop function pi;
# End of BUG#18239
#
# BUG#22619: Spaces considered harmful
#
--disable_warnings
drop function if exists test.database;
drop function if exists test.current_user;
drop function if exists test.md5;
--enable_warnings
create database nowhere;
use nowhere;
drop database nowhere;
SET @save_sql_mode=@@sql_mode;
SET SQL_MODE='IGNORE_SPACE';
select database(), database ();
select current_user(), current_user ();
select md5("aaa"), md5 ("aaa");
SET SQL_MODE='';
select database(), database ();
select current_user(), current_user ();
select md5("aaa"), md5 ("aaa");
use test;
create function `database`() returns varchar(50)
return "Stored function database";
create function `current_user`() returns varchar(50)
return "Stored function current_user";
create function md5(x varchar(50)) returns varchar(50)
return "Stored function md5";
SET SQL_MODE='IGNORE_SPACE';
select database(), database ();
select current_user(), current_user ();
select md5("aaa"), md5 ("aaa");
select test.database(), test.database ();
select test.current_user(), test.current_user ();
select test.md5("aaa"), test.md5 ("aaa");
SET SQL_MODE='';
select database(), database ();
select current_user(), current_user ();
select md5("aaa"), md5 ("aaa");
select test.database(), test.database ();
select test.current_user(), test.current_user ();
select test.md5("aaa"), test.md5 ("aaa");
SET @@sql_mode=@save_sql_mode;
drop function test.database;
drop function test.current_user;
drop function md5;
use test;
delimiter |;
# End of BUG#22619
--echo End of 5.1 tests
#
# BUG#NNNN: New bug synopsis

35
mysql-test/t/sp_gis.test Normal file
View File

@@ -0,0 +1,35 @@
-- source include/have_geometry.inc
use test;
#
# BUG#21025: misleading error message when creating functions named 'x', or 'y'
#
--disable_warnings
drop function if exists a;
drop function if exists x;
drop function if exists y;
--enable_warnings
create function a() returns int
return 1;
create function x() returns int
return 2;
create function y() returns int
return 3;
select a();
--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
select x();
--error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
select y();
select x(PointFromText("POINT(10 20)")), y(PointFromText("POINT(10 20)"));
select test.a(), test.x(), test.y();
drop function a;
drop function x;
drop function y;

View File

@@ -129,6 +129,42 @@ explain select myfunc_int(f1) from t1 order by 1;
drop table t1;
--echo End of 5.0 tests.
#
# BUG#18239: Possible to overload internal functions with stored functions
#
--disable_warnings
drop function if exists pi;
--enable_warnings
--error ER_NATIVE_FCT_NAME_COLLISION
CREATE FUNCTION pi RETURNS STRING SONAME "should_not_parse.so";
# Verify that Stored Functions and UDF are mutually exclusive
DROP FUNCTION IF EXISTS metaphon;
CREATE FUNCTION metaphon(a int) RETURNS int
return 0;
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
--error ER_UDF_EXISTS
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
DROP FUNCTION metaphon;
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
eval CREATE FUNCTION metaphon RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";
--error ER_UDF_EXISTS
CREATE FUNCTION metaphon(a int) RETURNS int
return 0;
--error ER_UDF_EXISTS
CREATE FUNCTION test.metaphon(a int) RETURNS int
return 0;
# End of Bug#18239
#
# Drop the example functions from udf_example
#