Commit 5ab2d821 authored by kaa@polly.(none)'s avatar kaa@polly.(none)

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

into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
parents 8016268f ccd87109
...@@ -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,6 +393,11 @@ int mysql_create_function(THD *thd,udf_func *udf) ...@@ -393,6 +393,11 @@ int mysql_create_function(THD *thd,udf_func *udf)
if (!initialized) if (!initialized)
{ {
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)); my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
DBUG_RETURN(1); DBUG_RETURN(1);
} }
...@@ -516,6 +521,9 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name) ...@@ -516,6 +521,9 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
if (!initialized) if (!initialized)
{ {
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)); 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