Commit 775f6a47 authored by jimw@mysql.com's avatar jimw@mysql.com

Move some code around to appease the IBM AIX compiler. (Bug #8678)

parent 41043bb3
...@@ -2339,26 +2339,6 @@ longlong Item_func_bit_count::val_int() ...@@ -2339,26 +2339,6 @@ longlong Item_func_bit_count::val_int()
#ifdef HAVE_DLOPEN #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 bool
udf_handler::fix_fields(THD *thd, TABLE_LIST *tables, Item_result_field *func, udf_handler::fix_fields(THD *thd, TABLE_LIST *tables, Item_result_field *func,
uint arg_count, Item **arguments) uint arg_count, Item **arguments)
...@@ -2748,6 +2728,31 @@ String *Item_func_udf_str::val_str(String *str) ...@@ -2748,6 +2728,31 @@ String *Item_func_udf_str::val_str(String *str)
return res; 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 #else
bool udf_handler::get_arguments() { return 0; } bool udf_handler::get_arguments() { return 0; }
#endif /* HAVE_DLOPEN */ #endif /* HAVE_DLOPEN */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment