1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge 10.6 into 10.11

This commit is contained in:
Marko Mäkelä
2024-01-10 12:37:19 +02:00
27 changed files with 263 additions and 302 deletions

View File

@@ -109,59 +109,56 @@ extern volatile ulonglong spider_mon_table_cache_version_req;
MYSQL_SYSVAR_NAME(param_name).def_val; \
}
static int spider_direct_update(THD *thd, SHOW_VAR *var, char *buff)
extern handlerton *spider_hton_ptr;
static void spider_trx_status_var(THD *thd, SHOW_VAR *var, char *buff,
ulonglong SPIDER_TRX::*counter)
{
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_update");
var->type = SHOW_LONGLONG;
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_update_count;
DBUG_RETURN(error_num);
var->value= buff;
if (thd != current_thd)
mysql_mutex_lock(&thd->LOCK_thd_data);
SPIDER_TRX *trx = (SPIDER_TRX*)thd_get_ha_data(thd, spider_hton_ptr);
*(ulonglong*)buff= trx ? trx->*counter : 0;
if (thd != current_thd)
mysql_mutex_unlock(&thd->LOCK_thd_data);
DBUG_VOID_RETURN;
}
static int spider_direct_update(THD *thd, SHOW_VAR *var, char *buff)
{
DBUG_ENTER("spider_direct_update");
spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_update_count);
DBUG_RETURN(0);
}
static int spider_direct_delete(THD *thd, SHOW_VAR *var, char *buff)
{
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_delete");
var->type = SHOW_LONGLONG;
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_delete_count;
DBUG_RETURN(error_num);
spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_delete_count);
DBUG_RETURN(0);
}
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");
var->type = SHOW_LONGLONG;
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_order_limit_count;
DBUG_RETURN(error_num);
spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_order_limit_count);
DBUG_RETURN(0);
}
static int spider_direct_aggregate(THD *thd, SHOW_VAR *var, char *buff)
{
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_direct_aggregate");
var->type = SHOW_LONGLONG;
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->direct_aggregate_count;
DBUG_RETURN(error_num);
spider_trx_status_var(thd, var, buff, &SPIDER_TRX::direct_aggregate_count);
DBUG_RETURN(0);
}
static int spider_parallel_search(THD *thd, SHOW_VAR *var, char *buff)
{
int error_num = 0;
SPIDER_TRX *trx;
DBUG_ENTER("spider_parallel_search");
var->type = SHOW_LONGLONG;
if ((trx = spider_get_trx(thd, TRUE, &error_num)))
var->value = (char *) &trx->parallel_search_count;
DBUG_RETURN(error_num);
spider_trx_status_var(thd, var, buff, &SPIDER_TRX::parallel_search_count);
DBUG_RETURN(0);
}
struct st_mysql_show_var spider_status_variables[] =