Commit b3065af6 authored by Sergei Golubchik's avatar Sergei Golubchik

cleanup: spider status variables

reduce code duplication
parent c44cac91
...@@ -116,73 +116,56 @@ extern volatile ulonglong spider_mon_table_cache_version_req; ...@@ -116,73 +116,56 @@ extern volatile ulonglong spider_mon_table_cache_version_req;
MYSQL_SYSVAR_NAME(param_name).def_val; \ MYSQL_SYSVAR_NAME(param_name).def_val; \
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS static int spider_trx_status_var(THD *thd, SHOW_VAR *var, char *buff,
static int spider_direct_update(THD *thd, SHOW_VAR *var, char *buff) ulonglong SPIDER_TRX::*counter)
{ {
int error_num = 0; int error_num = 0;
SPIDER_TRX *trx; SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_update"); DBUG_ENTER("spider_direct_update");
var->type = SHOW_LONGLONG; var->type = SHOW_LONGLONG;
if ((trx = spider_get_trx(thd, TRUE, &error_num))) if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_update_count; var->value = (char *) &(trx->*counter);
DBUG_RETURN(error_num); DBUG_RETURN(error_num);
} }
#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
static int spider_direct_update(THD *thd, SHOW_VAR *var, char *buff)
{
DBUG_ENTER("spider_direct_update");
DBUG_RETURN(spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_update_count));
}
static int spider_direct_delete(THD *thd, SHOW_VAR *var, char *buff) static int spider_direct_delete(THD *thd, SHOW_VAR *var, char *buff)
{ {
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_delete"); DBUG_ENTER("spider_direct_delete");
var->type = SHOW_LONGLONG; DBUG_RETURN(spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_delete_count));
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_delete_count;
DBUG_RETURN(error_num);
} }
#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, char *buff)
{ {
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_order_limit"); DBUG_ENTER("spider_direct_order_limit");
var->type = SHOW_LONGLONG; DBUG_RETURN(spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_order_limit_count));
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_order_limit_count;
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, char *buff)
{ {
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_aggregate"); DBUG_ENTER("spider_direct_aggregate");
var->type = SHOW_LONGLONG; DBUG_RETURN(spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_aggregate_count));
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_aggregate_count;
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, char *buff)
{ {
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_parallel_search"); DBUG_ENTER("spider_parallel_search");
var->type = SHOW_LONGLONG; DBUG_RETURN(spider_trx_status_var(thd, var, buff, &SPIDER_TRX::parallel_search_count));
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->parallel_search_count;
DBUG_RETURN(error_num);
} }
#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, char *buff)
{ {
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_hs_result_free"); DBUG_ENTER("spider_hs_result_free");
var->type = SHOW_LONGLONG; DBUG_RETURN(spider_trx_status_var(thd, var, buff, &SPIDER_TRX::hs_result_free_count));
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->hs_result_free_count;
DBUG_RETURN(error_num);
} }
#endif #endif
......
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