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:
		@@ -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;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								mysql-test/r/sp_gis.result
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								mysql-test/r/sp_gis.result
									
									
									
									
									
										Normal 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;
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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
									
								
							
							
						
						
									
										35
									
								
								mysql-test/t/sp_gis.test
									
									
									
									
									
										Normal 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;
 | 
			
		||||
 | 
			
		||||
@@ -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
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user