summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorjimw@mysql.com <>2005-03-03 08:34:27 -0800
committerjimw@mysql.com <>2005-03-03 08:34:27 -0800
commit6a082b36ed4e77394791f199e390c06110aab579 (patch)
tree87e3d4c91c028baea4a6decde8a56368649d1139 /sql/item_func.cc
parent5c5ac0e3b1a12fde5d230bea9f71550162f59c0f (diff)
parentd596af2c9704027796a03c1a54edd227390a887c (diff)
downloadmariadb-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.cc45
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 */