diff options
author | jimw@mysql.com <> | 2005-03-03 08:34:27 -0800 |
---|---|---|
committer | jimw@mysql.com <> | 2005-03-03 08:34:27 -0800 |
commit | 6a082b36ed4e77394791f199e390c06110aab579 (patch) | |
tree | 87e3d4c91c028baea4a6decde8a56368649d1139 /sql/item_func.cc | |
parent | 5c5ac0e3b1a12fde5d230bea9f71550162f59c0f (diff) | |
parent | d596af2c9704027796a03c1a54edd227390a887c (diff) | |
download | mariadb-git-6a082b36ed4e77394791f199e390c06110aab579.tar.gz |
Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index 88faee95502..37e59fa89d3 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2364,26 +2364,6 @@ longlong Item_func_bit_count::val_int() #ifdef HAVE_DLOPEN -udf_handler::~udf_handler() -{ - if (!not_original) - { - if (initialized) - { - if (u_d->func_deinit != NULL) - { - void (*deinit)(UDF_INIT *) = (void (*)(UDF_INIT*)) - u_d->func_deinit; - (*deinit)(&initid); - } - free_udf(u_d); - } - if (buffers) // Because of bug in ecc - delete [] buffers; - } -} - - bool udf_handler::fix_fields(THD *thd, TABLE_LIST *tables, Item_result_field *func, uint arg_count, Item **arguments) @@ -2773,6 +2753,31 @@ String *Item_func_udf_str::val_str(String *str) return res; } + +/* + This has to come last in the udf_handler methods, or the compiler for IBM + AIX fails to compile with debugging enabled. (Yes, really.) + */ + +udf_handler::~udf_handler() +{ + if (!not_original) + { + if (initialized) + { + if (u_d->func_deinit != NULL) + { + void (*deinit)(UDF_INIT *) = (void (*)(UDF_INIT*)) + u_d->func_deinit; + (*deinit)(&initid); + } + free_udf(u_d); + } + if (buffers) // Because of bug in ecc + delete [] buffers; + } +} + #else bool udf_handler::get_arguments() { return 0; } #endif /* HAVE_DLOPEN */ |