Commit ecb5e92a authored by unknown's avatar unknown
Browse files

Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt

into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt

parents a13fa8f6 acf0636e
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -194,6 +194,17 @@ DROP FUNCTION sequence;
DROP FUNCTION lookup;
DROP FUNCTION reverse_lookup;
DROP FUNCTION avgcost;
select * from mysql.func;
name	ret	dl	type
CREATE FUNCTION is_const RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
select IS_const(3);
IS_const(3)
const
drop function IS_const;
select * from mysql.func;
name	ret	dl	type
select is_const(3);
ERROR 42000: FUNCTION test.is_const does not exist
CREATE FUNCTION is_const RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
select
is_const(3) as const,
+17 −0
Original line number Diff line number Diff line
@@ -187,6 +187,23 @@ DROP FUNCTION lookup;
DROP FUNCTION reverse_lookup;
DROP FUNCTION avgcost;

#
# Bug #15439: UDF name case handling forces DELETE FROM mysql.func to remove 
#             the UDF
# 
select * from mysql.func;
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
eval CREATE FUNCTION is_const RETURNS STRING SONAME "$UDF_EXAMPLE_LIB";

select IS_const(3);

drop function IS_const;

select * from mysql.func;

--error 1305
select is_const(3);

#
# Bug#18761: constant expression as UDF parameters not passed in as constant
#
+1 −1
Original line number Diff line number Diff line
@@ -536,7 +536,7 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
  tables.table_name= tables.alias= (char*) "func";
  if (!(table = open_ltable(thd,&tables,TL_WRITE)))
    goto err;
  table->field[0]->store(udf_name->str, udf_name->length, system_charset_info);
  table->field[0]->store(udf->name.str, udf->name.length, &my_charset_bin);
  table->file->extra(HA_EXTRA_RETRIEVE_ALL_COLS);
  if (!table->file->index_read_idx(table->record[0], 0,
				   (byte*) table->field[0]->ptr,