From 11d36cab93dfca86a818b7f79eacbeaf82d9dbb4 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 13:37:10 +0000 Subject: [PATCH] Bug#6776 Failure to delete rows from mysql.func table caused by missing charset conversion for index read by pk. sql/sql_udf.cc: Bug#6776 Have to use Field store() methods for charset conversion --- sql/sql_udf.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc index 0bb8ac8a28b..6566e327a9e 100644 --- a/sql/sql_udf.cc +++ b/sql/sql_udf.cc @@ -493,8 +493,11 @@ int mysql_drop_function(THD *thd,const LEX_STRING *udf_name) tables.real_name= tables.alias= (char*) "func"; if (!(table = open_ltable(thd,&tables,TL_WRITE))) goto err; - if (!table->file->index_read_idx(table->record[0],0,(byte*) udf_name->str, - (uint) udf_name->length, + table->field[0]->store(udf_name.str, udf_name.length, system_charset_info); + table->file->extra(HA_EXTRA_RETRIEVE_ALL_COLS); + if (!table->file->index_read_idx(table->record[0], 0, + (byte*) table->field[0]->ptr, + table->key_info[0].key_length HA_READ_KEY_EXACT)) { int error;