MDEV-33160 show_status_array() calls various functions via incompatible pointer

In commit b4ff64568c88ab3ce559e7bd39853d9cbf86704a the
signature of mysql_show_var_func was changed, but not all functions
of that type were adjusted.

When the server is configured with `cmake -DWITH_ASAN=ON` and
compiled with clang, runtime errors would be flagged for invoking
functions through an incompatible function pointer.

Reviewed by: Michael 'Monty' Widenius
This commit is contained in:
Marko Mäkelä 2024-01-04 12:50:05 +02:00
parent 54ed3939f7
commit 613d019497
8 changed files with 102 additions and 104 deletions

View File

@ -7180,8 +7180,8 @@ struct my_option my_long_options[]=
MYSQL_TO_BE_IMPLEMENTED_OPTION("validate-user-plugins") // NO_EMBEDDED_ACCESS_CHECKS MYSQL_TO_BE_IMPLEMENTED_OPTION("validate-user-plugins") // NO_EMBEDDED_ACCESS_CHECKS
}; };
static int show_queries(THD *thd, SHOW_VAR *var, char *buff, static int show_queries(THD *thd, SHOW_VAR *var, void *,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONGLONG; var->type= SHOW_LONGLONG;
var->value= &thd->query_id; var->value= &thd->query_id;
@ -7189,16 +7189,16 @@ static int show_queries(THD *thd, SHOW_VAR *var, char *buff,
} }
static int show_net_compression(THD *thd, SHOW_VAR *var, char *buff, static int show_net_compression(THD *thd, SHOW_VAR *var, void *,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_MY_BOOL; var->type= SHOW_MY_BOOL;
var->value= &thd->net.compress; var->value= &thd->net.compress;
return 0; return 0;
} }
static int show_starttime(THD *thd, SHOW_VAR *var, char *buff, static int show_starttime(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7207,8 +7207,8 @@ static int show_starttime(THD *thd, SHOW_VAR *var, char *buff,
} }
#ifdef ENABLED_PROFILING #ifdef ENABLED_PROFILING
static int show_flushstatustime(THD *thd, SHOW_VAR *var, char *buff, static int show_flushstatustime(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7218,32 +7218,28 @@ static int show_flushstatustime(THD *thd, SHOW_VAR *var, char *buff,
#endif #endif
#ifdef HAVE_REPLICATION #ifdef HAVE_REPLICATION
static int show_rpl_status(THD *thd, SHOW_VAR *var, char *buff, static int show_rpl_status(THD *, SHOW_VAR *var, void *, system_status_var *,
enum enum_var_type scope) enum_var_type)
{ {
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
var->value= const_cast<char*>(rpl_status_type[(int)rpl_status]); var->value= const_cast<char*>(rpl_status_type[(int)rpl_status]);
return 0; return 0;
} }
static int show_slave_running(THD *thd, SHOW_VAR *var, char *buff, static int show_slave_running(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
Master_info *mi= NULL; if (Master_info *mi=
bool UNINIT_VAR(tmp); get_master_info(&thd->variables.default_master_connection,
Sql_condition::WARN_LEVEL_NOTE))
var->type= SHOW_MY_BOOL;
var->value= buff;
if ((mi= get_master_info(&thd->variables.default_master_connection,
Sql_condition::WARN_LEVEL_NOTE)))
{ {
tmp= (my_bool) (mi->slave_running == MYSQL_SLAVE_RUN_READING && *((my_bool*) buff)=
(mi->slave_running == MYSQL_SLAVE_RUN_READING &&
mi->rli.slave_running != MYSQL_SLAVE_NOT_RUN); mi->rli.slave_running != MYSQL_SLAVE_NOT_RUN);
mi->release(); mi->release();
var->type= SHOW_MY_BOOL;
var->value= buff;
} }
if (mi)
*((my_bool *)buff)= tmp;
else else
var->type= SHOW_UNDEF; var->type= SHOW_UNDEF;
return 0; return 0;
@ -7253,7 +7249,8 @@ static int show_slave_running(THD *thd, SHOW_VAR *var, char *buff,
/* How many masters this slave is connected to */ /* How many masters this slave is connected to */
static int show_slaves_running(THD *thd, SHOW_VAR *var, char *buff) static int show_slaves_running(THD *, SHOW_VAR *var, void *buff,
system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONGLONG; var->type= SHOW_LONGLONG;
var->value= buff; var->value= buff;
@ -7264,19 +7261,17 @@ static int show_slaves_running(THD *thd, SHOW_VAR *var, char *buff)
} }
static int show_slave_received_heartbeats(THD *thd, SHOW_VAR *var, char *buff, static int show_slave_received_heartbeats(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
Master_info *mi; if (Master_info *mi=
get_master_info(&thd->variables.default_master_connection,
var->type= SHOW_LONGLONG; Sql_condition::WARN_LEVEL_NOTE))
var->value= buff;
if ((mi= get_master_info(&thd->variables.default_master_connection,
Sql_condition::WARN_LEVEL_NOTE)))
{ {
*((longlong *)buff)= mi->received_heartbeats; *((longlong *)buff)= mi->received_heartbeats;
mi->release(); mi->release();
var->type= SHOW_LONGLONG;
var->value= buff;
} }
else else
var->type= SHOW_UNDEF; var->type= SHOW_UNDEF;
@ -7284,19 +7279,17 @@ static int show_slave_received_heartbeats(THD *thd, SHOW_VAR *var, char *buff,
} }
static int show_heartbeat_period(THD *thd, SHOW_VAR *var, char *buff, static int show_heartbeat_period(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
Master_info *mi; if (Master_info *mi=
get_master_info(&thd->variables.default_master_connection,
Sql_condition::WARN_LEVEL_NOTE))
{
sprintf(static_cast<char*>(buff), "%.3f", mi->heartbeat_period);
mi->release();
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
var->value= buff; var->value= buff;
if ((mi= get_master_info(&thd->variables.default_master_connection,
Sql_condition::WARN_LEVEL_NOTE)))
{
sprintf(buff, "%.3f", mi->heartbeat_period);
mi->release();
} }
else else
var->type= SHOW_UNDEF; var->type= SHOW_UNDEF;
@ -7306,8 +7299,8 @@ static int show_heartbeat_period(THD *thd, SHOW_VAR *var, char *buff,
#endif /* HAVE_REPLICATION */ #endif /* HAVE_REPLICATION */
static int show_open_tables(THD *thd, SHOW_VAR *var, char *buff, static int show_open_tables(THD *, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7315,8 +7308,8 @@ static int show_open_tables(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_prepared_stmt_count(THD *thd, SHOW_VAR *var, char *buff, static int show_prepared_stmt_count(THD *, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7326,8 +7319,8 @@ static int show_prepared_stmt_count(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_table_definitions(THD *thd, SHOW_VAR *var, char *buff, static int show_table_definitions(THD *, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7336,8 +7329,8 @@ static int show_table_definitions(THD *thd, SHOW_VAR *var, char *buff,
} }
static int show_flush_commands(THD *thd, SHOW_VAR *var, char *buff, static int show_flush_commands(THD *, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONGLONG; var->type= SHOW_LONGLONG;
var->value= buff; var->value= buff;
@ -7356,8 +7349,8 @@ static int show_flush_commands(THD *thd, SHOW_VAR *var, char *buff,
inside an Event. inside an Event.
*/ */
static int show_ssl_get_version(THD *thd, SHOW_VAR *var, char *buff, static int show_ssl_get_version(THD *thd, SHOW_VAR *var, void *,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
if( thd->vio_ok() && thd->net.vio->ssl_arg ) if( thd->vio_ok() && thd->net.vio->ssl_arg )
@ -7367,8 +7360,8 @@ static int show_ssl_get_version(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_ssl_get_default_timeout(THD *thd, SHOW_VAR *var, char *buff, static int show_ssl_get_default_timeout(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7379,8 +7372,8 @@ static int show_ssl_get_default_timeout(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_ssl_get_verify_mode(THD *thd, SHOW_VAR *var, char *buff, static int show_ssl_get_verify_mode(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7395,8 +7388,8 @@ static int show_ssl_get_verify_mode(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_ssl_get_verify_depth(THD *thd, SHOW_VAR *var, char *buff, static int show_ssl_get_verify_depth(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_LONG; var->type= SHOW_LONG;
var->value= buff; var->value= buff;
@ -7408,8 +7401,8 @@ static int show_ssl_get_verify_depth(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_ssl_get_cipher(THD *thd, SHOW_VAR *var, char *buff, static int show_ssl_get_cipher(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
if( thd->vio_ok() && thd->net.vio->ssl_arg ) if( thd->vio_ok() && thd->net.vio->ssl_arg )
@ -7419,9 +7412,10 @@ static int show_ssl_get_cipher(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_ssl_get_cipher_list(THD *thd, SHOW_VAR *var, char *buff, static int show_ssl_get_cipher_list(THD *thd, SHOW_VAR *var, void *buf,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
char *buff= static_cast<char*>(buf);
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
var->value= buff; var->value= buff;
if (thd->vio_ok() && thd->net.vio->ssl_arg) if (thd->vio_ok() && thd->net.vio->ssl_arg)
@ -7506,8 +7500,8 @@ end:
*/ */
static int static int
show_ssl_get_server_not_before(THD *thd, SHOW_VAR *var, char *buff, show_ssl_get_server_not_before(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
if(thd->vio_ok() && thd->net.vio->ssl_arg) if(thd->vio_ok() && thd->net.vio->ssl_arg)
@ -7516,7 +7510,7 @@ show_ssl_get_server_not_before(THD *thd, SHOW_VAR *var, char *buff,
X509 *cert= SSL_get_certificate(ssl); X509 *cert= SSL_get_certificate(ssl);
const ASN1_TIME *not_before= X509_get0_notBefore(cert); const ASN1_TIME *not_before= X509_get0_notBefore(cert);
var->value= my_asn1_time_to_string(not_before, buff, var->value= my_asn1_time_to_string(not_before, static_cast<char*>(buff),
SHOW_VAR_FUNC_BUFF_SIZE); SHOW_VAR_FUNC_BUFF_SIZE);
if (!var->value) if (!var->value)
return 1; return 1;
@ -7540,8 +7534,8 @@ show_ssl_get_server_not_before(THD *thd, SHOW_VAR *var, char *buff,
*/ */
static int static int
show_ssl_get_server_not_after(THD *thd, SHOW_VAR *var, char *buff, show_ssl_get_server_not_after(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_CHAR; var->type= SHOW_CHAR;
if(thd->vio_ok() && thd->net.vio->ssl_arg) if(thd->vio_ok() && thd->net.vio->ssl_arg)
@ -7550,7 +7544,7 @@ show_ssl_get_server_not_after(THD *thd, SHOW_VAR *var, char *buff,
X509 *cert= SSL_get_certificate(ssl); X509 *cert= SSL_get_certificate(ssl);
const ASN1_TIME *not_after= X509_get0_notAfter(cert); const ASN1_TIME *not_after= X509_get0_notAfter(cert);
var->value= my_asn1_time_to_string(not_after, buff, var->value= my_asn1_time_to_string(not_after, static_cast<char*>(buff),
SHOW_VAR_FUNC_BUFF_SIZE); SHOW_VAR_FUNC_BUFF_SIZE);
if (!var->value) if (!var->value)
return 1; return 1;
@ -7604,7 +7598,7 @@ static int show_default_keycache(THD *thd, SHOW_VAR *var, void *buff,
} }
static int show_memory_used(THD *thd, SHOW_VAR *var, char *buff, static int show_memory_used(THD *thd, SHOW_VAR *var, void *buff,
struct system_status_var *status_var, struct system_status_var *status_var,
enum enum_var_type scope) enum enum_var_type scope)
{ {
@ -7660,8 +7654,8 @@ static int debug_status_func(THD *thd, SHOW_VAR *var, void *buff,
#endif #endif
#ifdef HAVE_POOL_OF_THREADS #ifdef HAVE_POOL_OF_THREADS
int show_threadpool_idle_threads(THD *thd, SHOW_VAR *var, char *buff, int show_threadpool_idle_threads(THD *, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_INT; var->type= SHOW_INT;
var->value= buff; var->value= buff;
@ -7670,8 +7664,8 @@ int show_threadpool_idle_threads(THD *thd, SHOW_VAR *var, char *buff,
} }
static int show_threadpool_threads(THD *thd, SHOW_VAR *var, char *buff, static int show_threadpool_threads(THD *, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum_var_type)
{ {
var->type= SHOW_INT; var->type= SHOW_INT;
var->value= buff; var->value= buff;

View File

@ -11869,8 +11869,8 @@ static my_bool count_column_grants(void *grant_table,
This must be performed under the mutex in order to make sure the This must be performed under the mutex in order to make sure the
iteration does not fail. iteration does not fail.
*/ */
static int show_column_grants(THD *thd, SHOW_VAR *var, char *buff, static int show_column_grants(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum enum_var_type scope)
{ {
var->type= SHOW_ULONG; var->type= SHOW_ULONG;
var->value= buff; var->value= buff;
@ -11886,8 +11886,8 @@ static int show_column_grants(THD *thd, SHOW_VAR *var, char *buff,
return 0; return 0;
} }
static int show_database_grants(THD *thd, SHOW_VAR *var, char *buff, static int show_database_grants(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum enum_var_type scope)
{ {
var->type= SHOW_UINT; var->type= SHOW_UINT;
var->value= buff; var->value= buff;

View File

@ -1345,8 +1345,8 @@ int tdc_iterate(THD *thd, my_hash_walk_action action, void *argument,
} }
int show_tc_active_instances(THD *thd, SHOW_VAR *var, char *buff, int show_tc_active_instances(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope) system_status_var *, enum enum_var_type scope)
{ {
var->type= SHOW_UINT; var->type= SHOW_UINT;
var->value= buff; var->value= buff;

View File

@ -97,8 +97,8 @@ extern int tdc_iterate(THD *thd, my_hash_walk_action action, void *argument,
bool no_dups= false); bool no_dups= false);
extern uint tc_records(void); extern uint tc_records(void);
int show_tc_active_instances(THD *thd, SHOW_VAR *var, char *buff, int show_tc_active_instances(THD *thd, SHOW_VAR *var, void *buff,
enum enum_var_type scope); system_status_var *, enum enum_var_type scope);
extern void tc_purge(bool mark_flushed= false); extern void tc_purge(bool mark_flushed= false);
extern void tc_add_table(THD *thd, TABLE *table); extern void tc_add_table(THD *thd, TABLE *table);
extern void tc_release_table(TABLE *table); extern void tc_release_table(TABLE *table);

View File

@ -64,9 +64,6 @@ extern int tp_get_thread_count();
/* Activate threadpool scheduler */ /* Activate threadpool scheduler */
extern void tp_scheduler(void); extern void tp_scheduler(void);
extern int show_threadpool_idle_threads(THD *thd, SHOW_VAR *var, char *buff,
enum enum_var_type scope);
enum TP_PRIORITY { enum TP_PRIORITY {
TP_PRIORITY_HIGH, TP_PRIORITY_HIGH,
TP_PRIORITY_LOW, TP_PRIORITY_LOW,

View File

@ -3548,7 +3548,8 @@ CSphSEStats * sphinx_get_stats ( THD * thd, SHOW_VAR * out )
return 0; return 0;
} }
int sphinx_showfunc_total ( THD * thd, SHOW_VAR * out, char * ) static int sphinx_showfunc_total ( THD * thd, SHOW_VAR * out, void *,
system_status_var *, enum_var_type )
{ {
CSphSEStats * pStats = sphinx_get_stats ( thd, out ); CSphSEStats * pStats = sphinx_get_stats ( thd, out );
if ( pStats ) if ( pStats )
@ -3559,7 +3560,8 @@ int sphinx_showfunc_total ( THD * thd, SHOW_VAR * out, char * )
return 0; return 0;
} }
int sphinx_showfunc_total_found ( THD * thd, SHOW_VAR * out, char * ) static int sphinx_showfunc_total_found ( THD * thd, SHOW_VAR * out, void *,
system_status_var *, enum_var_type )
{ {
CSphSEStats * pStats = sphinx_get_stats ( thd, out ); CSphSEStats * pStats = sphinx_get_stats ( thd, out );
if ( pStats ) if ( pStats )
@ -3570,7 +3572,8 @@ int sphinx_showfunc_total_found ( THD * thd, SHOW_VAR * out, char * )
return 0; return 0;
} }
int sphinx_showfunc_time ( THD * thd, SHOW_VAR * out, char * ) static int sphinx_showfunc_time ( THD * thd, SHOW_VAR * out, void *,
system_status_var *, enum_var_type )
{ {
CSphSEStats * pStats = sphinx_get_stats ( thd, out ); CSphSEStats * pStats = sphinx_get_stats ( thd, out );
if ( pStats ) if ( pStats )
@ -3581,7 +3584,8 @@ int sphinx_showfunc_time ( THD * thd, SHOW_VAR * out, char * )
return 0; return 0;
} }
int sphinx_showfunc_word_count ( THD * thd, SHOW_VAR * out, char * ) static int sphinx_showfunc_word_count ( THD * thd, SHOW_VAR * out, void *,
system_status_var *, enum_var_type )
{ {
CSphSEStats * pStats = sphinx_get_stats ( thd, out ); CSphSEStats * pStats = sphinx_get_stats ( thd, out );
if ( pStats ) if ( pStats )
@ -3592,9 +3596,11 @@ int sphinx_showfunc_word_count ( THD * thd, SHOW_VAR * out, char * )
return 0; return 0;
} }
int sphinx_showfunc_words ( THD * thd, SHOW_VAR * out, char * sBuffer ) static int sphinx_showfunc_words ( THD * thd, SHOW_VAR * out, void * buf,
system_status_var *, enum_var_type )
{ {
#if MYSQL_VERSION_ID>50100 #if MYSQL_VERSION_ID>50100
char *sBuffer = static_cast<char*>(buf);
if ( sphinx_hton_ptr ) if ( sphinx_hton_ptr )
{ {
CSphTLS * pTls = (CSphTLS *) *thd_ha_data ( thd, sphinx_hton_ptr ); CSphTLS * pTls = (CSphTLS *) *thd_ha_data ( thd, sphinx_hton_ptr );
@ -3649,7 +3655,8 @@ int sphinx_showfunc_words ( THD * thd, SHOW_VAR * out, char * sBuffer )
return 0; return 0;
} }
int sphinx_showfunc_error ( THD * thd, SHOW_VAR * out, char * ) static int sphinx_showfunc_error ( THD * thd, SHOW_VAR * out, void *,
system_status_var *, enum_var_type )
{ {
CSphSEStats * pStats = sphinx_get_stats ( thd, out ); CSphSEStats * pStats = sphinx_get_stats ( thd, out );
out->type = SHOW_CHAR; out->type = SHOW_CHAR;

View File

@ -164,12 +164,6 @@ private:
bool sphinx_show_status ( THD * thd ); bool sphinx_show_status ( THD * thd );
#endif #endif
int sphinx_showfunc_total_found ( THD *, SHOW_VAR *, char * );
int sphinx_showfunc_total ( THD *, SHOW_VAR *, char * );
int sphinx_showfunc_time ( THD *, SHOW_VAR *, char * );
int sphinx_showfunc_word_count ( THD *, SHOW_VAR *, char * );
int sphinx_showfunc_words ( THD *, SHOW_VAR *, char * );
// //
// $Id: ha_sphinx.h 4818 2014-09-24 08:53:38Z tomat $ // $Id: ha_sphinx.h 4818 2014-09-24 08:53:38Z tomat $
// //

View File

@ -115,7 +115,8 @@ extern volatile ulonglong spider_mon_table_cache_version_req;
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS #ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
static int spider_direct_update(THD *thd, SHOW_VAR *var, char *buff) static int spider_direct_update(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;
@ -126,7 +127,8 @@ static int spider_direct_update(THD *thd, SHOW_VAR *var, char *buff)
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
static int spider_direct_delete(THD *thd, SHOW_VAR *var, char *buff) static int spider_direct_delete(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;
@ -138,7 +140,8 @@ static int spider_direct_delete(THD *thd, SHOW_VAR *var, char *buff)
} }
#endif #endif
static int spider_direct_order_limit(THD *thd, SHOW_VAR *var, char *buff) static int spider_direct_order_limit(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;
@ -149,7 +152,8 @@ static int spider_direct_order_limit(THD *thd, SHOW_VAR *var, char *buff)
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
static int spider_direct_aggregate(THD *thd, SHOW_VAR *var, char *buff) static int spider_direct_aggregate(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;
@ -160,7 +164,8 @@ static int spider_direct_aggregate(THD *thd, SHOW_VAR *var, char *buff)
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
static int spider_parallel_search(THD *thd, SHOW_VAR *var, char *buff) static int spider_parallel_search(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;
@ -172,7 +177,8 @@ static int spider_parallel_search(THD *thd, SHOW_VAR *var, char *buff)
} }
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET) #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
static int spider_hs_result_free(THD *thd, SHOW_VAR *var, char *buff) static int spider_hs_result_free(THD *thd, SHOW_VAR *var, void *,
system_status_var *, enum_var_type)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;