Commit 0f6b5074 authored by unknown's avatar unknown

Merge polly.(none):/home/kaa/src/opt/bug32020/my51-bug31445

into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


sql/sql_udf.cc:
  Auto merged
parents 015ed8e6 b83c00f4
...@@ -72,3 +72,8 @@ count(*) ...@@ -72,3 +72,8 @@ count(*)
select count(*) from information_schema.USER_PRIVILEGES; select count(*) from information_schema.USER_PRIVILEGES;
count(*) count(*)
0 0
CREATE FUNCTION a RETURNS STRING SONAME '';
ERROR HY000: Can't initialize function 'a'; UDFs are unavailable with the --skip-grant-tables option
DROP FUNCTION a;
ERROR 42000: FUNCTION test.a does not exist
End of 5.0 tests
...@@ -122,3 +122,15 @@ select count(*) from information_schema.COLUMN_PRIVILEGES; ...@@ -122,3 +122,15 @@ select count(*) from information_schema.COLUMN_PRIVILEGES;
select count(*) from information_schema.SCHEMA_PRIVILEGES; select count(*) from information_schema.SCHEMA_PRIVILEGES;
select count(*) from information_schema.TABLE_PRIVILEGES; select count(*) from information_schema.TABLE_PRIVILEGES;
select count(*) from information_schema.USER_PRIVILEGES; select count(*) from information_schema.USER_PRIVILEGES;
#
# Bug #32020: loading udfs while --skip-grant-tables is enabled causes out of
# memory errors
#
--error ER_CANT_INITIALIZE_UDF
CREATE FUNCTION a RETURNS STRING SONAME '';
--error ER_SP_DOES_NOT_EXIST
DROP FUNCTION a;
--echo End of 5.0 tests
...@@ -393,7 +393,12 @@ int mysql_create_function(THD *thd,udf_func *udf) ...@@ -393,7 +393,12 @@ int mysql_create_function(THD *thd,udf_func *udf)
if (!initialized) if (!initialized)
{ {
my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0)); if (opt_noacl)
my_error(ER_CANT_INITIALIZE_UDF, MYF(0),
udf->name.str,
"UDFs are unavailable with the --skip-grant-tables option");
else
my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
DBUG_RETURN(1); DBUG_RETURN(1);
} }
...@@ -516,7 +521,10 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name) ...@@ -516,7 +521,10 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
if (!initialized) if (!initialized)
{ {
my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0)); if (opt_noacl)
my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), udf_name->str);
else
my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
DBUG_RETURN(1); DBUG_RETURN(1);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment