diff options
author | gkodinov/kgeorge@rakia.gmz <> | 2007-01-03 18:29:39 +0200 |
---|---|---|
committer | gkodinov/kgeorge@rakia.gmz <> | 2007-01-03 18:29:39 +0200 |
commit | 47c044e418464e7dcd1ef043af2a979b61358605 (patch) | |
tree | 8082d8a9bdca61e15e24505c505ad42eb18e2472 /sql/sql_udf.cc | |
parent | 79361c655a09e47c06ec05afdcd4fa28257634af (diff) | |
parent | 770608cf267788e8a050894d221a29db1513cbd6 (diff) | |
download | mariadb-git-47c044e418464e7dcd1ef043af2a979b61358605.tar.gz |
Merge bk-internal:/home/bk/mysql-5.0-opt
into rakia.gmz:/home/kgeorge/mysql/work/B15439-5.0-opt
Diffstat (limited to 'sql/sql_udf.cc')
-rw-r--r-- | sql/sql_udf.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc index 5769c39623e..077660f0bb9 100644 --- a/sql/sql_udf.cc +++ b/sql/sql_udf.cc @@ -509,6 +509,8 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name) TABLE *table; TABLE_LIST tables; udf_func *udf; + char *exact_name_str; + uint exact_name_len; DBUG_ENTER("mysql_drop_function"); if (!initialized) { @@ -522,6 +524,8 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name) my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), udf_name->str); goto err; } + exact_name_str= udf->name.str; + exact_name_len= udf->name.length; del_udf(udf); /* Close the handle if this was function that was found during boot or @@ -535,7 +539,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, &my_charset_bin); + table->field[0]->store(exact_name_str, exact_name_len, &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, |