mariadb/mysql-test/r/sp_gis.result

31 lines
831 B
Text
Raw Normal View History

Bug#18239 (Possible to overload internal functions with stored functions) Bug#21025 (misleading error message when creating functions named 'x', or 'y') Bug#22619 (Spaces considered harmful) This change contains a fix to report warnings or errors, and multiple tests cases. Before this fix, name collisions between: - Native functions - User Defined Functions - Stored Functions were not systematically reported, leading to confusing behavior. I) Native / User Defined Function Before this fix, is was possible to create a UDF named "foo", with the same name as a native function "foo", but it was impossible to invoke the UDF, since the syntax "foo()" always refer to the native function. After this fix, creating a UDF fails with an error if there is a name collision with a native function. II) Native / Stored Function Before this fix, is was possible to create a SF named "db.foo", with the same name as a native function "foo", but this was confusing since the syntax "foo()" would refer to the native function. To refer to the Stored Function, the user had to use the "db.foo()" syntax. After this fix, creating a Stored Function reports a warning if there is a name collision with a native function. III) User Defined Function / Stored Function Before this fix, creating a User Defined Function "foo" and a Stored Function "db.foo" are mutually exclusive operations. Whenever the second function is created, an error is reported. However, the test suite did not cover this behavior. After this fix, the behavior is unchanged, and is now covered by test cases. Note that the code change in this patch depends on the fix for Bug 21114. mysql-test/r/sp.result: New test cases. mysql-test/r/udf.result: New test cases. mysql-test/t/sp.test: New test cases. mysql-test/t/udf.test: New test cases. sql/sql_lex.cc: Name collisions with native functions. sql/sql_lex.h: Name collisions with native functions. sql/sql_yacc.yy: Name collisions with native functions. sql/share/errmsg.txt: Name collisions with native functions. mysql-test/r/sp_gis.result: New test cases. mysql-test/t/sp_gis.test: New test cases.
2006-11-14 19:34:16 -07:00
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:
WL #3031 * New result files due to new error message/error numbers * Fixed system_mysql_db tests to work with servers table * Added UTF8 charset to table defs mysql-test/include/system_db_struct.inc: WL# 3031 Added servers table to inc file used in system_mysql_db* tests mysql-test/lib/init_db.sql: WL# 3031 Added UTF charset to table def mysql-test/r/mysql.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/rpl_sp.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/sp.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/sp_gis.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/system_mysql_db.result: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) mysql-test/t/system_mysql_db_fix30020.test: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) mysql-test/t/system_mysql_db_fix40123.test: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) mysql-test/t/system_mysql_db_fix50030.test: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) scripts/mysql_create_system_tables.sh: WL# 3031 Added utf8 charset to table def scripts/mysql_fix_privilege_tables.sql: WL# 3031 Added servers table to mysql_fix_privilege_tables
2006-12-11 11:44:03 -05:00
Note 1581 This function 'x' has the same name as a native function.
Bug#18239 (Possible to overload internal functions with stored functions) Bug#21025 (misleading error message when creating functions named 'x', or 'y') Bug#22619 (Spaces considered harmful) This change contains a fix to report warnings or errors, and multiple tests cases. Before this fix, name collisions between: - Native functions - User Defined Functions - Stored Functions were not systematically reported, leading to confusing behavior. I) Native / User Defined Function Before this fix, is was possible to create a UDF named "foo", with the same name as a native function "foo", but it was impossible to invoke the UDF, since the syntax "foo()" always refer to the native function. After this fix, creating a UDF fails with an error if there is a name collision with a native function. II) Native / Stored Function Before this fix, is was possible to create a SF named "db.foo", with the same name as a native function "foo", but this was confusing since the syntax "foo()" would refer to the native function. To refer to the Stored Function, the user had to use the "db.foo()" syntax. After this fix, creating a Stored Function reports a warning if there is a name collision with a native function. III) User Defined Function / Stored Function Before this fix, creating a User Defined Function "foo" and a Stored Function "db.foo" are mutually exclusive operations. Whenever the second function is created, an error is reported. However, the test suite did not cover this behavior. After this fix, the behavior is unchanged, and is now covered by test cases. Note that the code change in this patch depends on the fix for Bug 21114. mysql-test/r/sp.result: New test cases. mysql-test/r/udf.result: New test cases. mysql-test/t/sp.test: New test cases. mysql-test/t/udf.test: New test cases. sql/sql_lex.cc: Name collisions with native functions. sql/sql_lex.h: Name collisions with native functions. sql/sql_yacc.yy: Name collisions with native functions. sql/share/errmsg.txt: Name collisions with native functions. mysql-test/r/sp_gis.result: New test cases. mysql-test/t/sp_gis.test: New test cases.
2006-11-14 19:34:16 -07:00
create function y() returns int
return 3;
Warnings:
WL #3031 * New result files due to new error message/error numbers * Fixed system_mysql_db tests to work with servers table * Added UTF8 charset to table defs mysql-test/include/system_db_struct.inc: WL# 3031 Added servers table to inc file used in system_mysql_db* tests mysql-test/lib/init_db.sql: WL# 3031 Added UTF charset to table def mysql-test/r/mysql.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/rpl_sp.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/sp.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/sp_gis.result: WL# 3031 New result files, new error messages shifted error #s up by two mysql-test/r/system_mysql_db.result: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) mysql-test/t/system_mysql_db_fix30020.test: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) mysql-test/t/system_mysql_db_fix40123.test: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) mysql-test/t/system_mysql_db_fix50030.test: WL #3031 New system_mysql_db tests required adding servers table creation. Some more comments in these tests would have been nice to explain what they do ;) scripts/mysql_create_system_tables.sh: WL# 3031 Added utf8 charset to table def scripts/mysql_fix_privilege_tables.sql: WL# 3031 Added servers table to mysql_fix_privilege_tables
2006-12-11 11:44:03 -05:00
Note 1581 This function 'y' has the same name as a native function.
Bug#18239 (Possible to overload internal functions with stored functions) Bug#21025 (misleading error message when creating functions named 'x', or 'y') Bug#22619 (Spaces considered harmful) This change contains a fix to report warnings or errors, and multiple tests cases. Before this fix, name collisions between: - Native functions - User Defined Functions - Stored Functions were not systematically reported, leading to confusing behavior. I) Native / User Defined Function Before this fix, is was possible to create a UDF named "foo", with the same name as a native function "foo", but it was impossible to invoke the UDF, since the syntax "foo()" always refer to the native function. After this fix, creating a UDF fails with an error if there is a name collision with a native function. II) Native / Stored Function Before this fix, is was possible to create a SF named "db.foo", with the same name as a native function "foo", but this was confusing since the syntax "foo()" would refer to the native function. To refer to the Stored Function, the user had to use the "db.foo()" syntax. After this fix, creating a Stored Function reports a warning if there is a name collision with a native function. III) User Defined Function / Stored Function Before this fix, creating a User Defined Function "foo" and a Stored Function "db.foo" are mutually exclusive operations. Whenever the second function is created, an error is reported. However, the test suite did not cover this behavior. After this fix, the behavior is unchanged, and is now covered by test cases. Note that the code change in this patch depends on the fix for Bug 21114. mysql-test/r/sp.result: New test cases. mysql-test/r/udf.result: New test cases. mysql-test/t/sp.test: New test cases. mysql-test/t/udf.test: New test cases. sql/sql_lex.cc: Name collisions with native functions. sql/sql_lex.h: Name collisions with native functions. sql/sql_yacc.yy: Name collisions with native functions. sql/share/errmsg.txt: Name collisions with native functions. mysql-test/r/sp_gis.result: New test cases. mysql-test/t/sp_gis.test: New test cases.
2006-11-14 19:34:16 -07:00
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
drop function a;
drop function x;
drop function y;