changed query cache type variable for ndb
This commit is contained in:
parent
49b02a8f21
commit
ca61e54cd0
@ -3025,7 +3025,9 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
|
||||
m_transaction_on= FALSE;
|
||||
else
|
||||
m_transaction_on= thd->variables.ndb_use_transactions;
|
||||
m_use_local_query_cache= thd->variables.ndb_use_local_query_cache;
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
m_query_cache_type= thd->variables.ndb_query_cache_type;
|
||||
#endif
|
||||
|
||||
m_active_trans= thd->transaction.all.ndb_tid ?
|
||||
(NdbConnection*)thd->transaction.all.ndb_tid:
|
||||
@ -3751,8 +3753,8 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg):
|
||||
m_force_send(TRUE),
|
||||
m_autoincrement_prefetch(32),
|
||||
m_transaction_on(TRUE),
|
||||
m_use_local_query_cache(FALSE)
|
||||
{
|
||||
m_query_cache_type(0)
|
||||
{
|
||||
int i;
|
||||
|
||||
DBUG_ENTER("ha_ndbcluster");
|
||||
@ -4455,10 +4457,17 @@ const char* ha_ndbcluster::index_type(uint key_number)
|
||||
}
|
||||
uint8 ha_ndbcluster::table_cache_type()
|
||||
{
|
||||
if (m_use_local_query_cache)
|
||||
return HA_CACHE_TBL_TRANSACT;
|
||||
else
|
||||
switch (m_query_cache_type)
|
||||
{
|
||||
case 0:
|
||||
return HA_CACHE_TBL_NOCACHE;
|
||||
case 1:
|
||||
return HA_CACHE_TBL_ASKTRANSACT;
|
||||
case 2:
|
||||
return HA_CACHE_TBL_TRANSACT;
|
||||
default:
|
||||
return HA_CACHE_TBL_NOCACHE;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -244,7 +244,7 @@ class ha_ndbcluster: public handler
|
||||
bool m_force_send;
|
||||
ha_rows m_autoincrement_prefetch;
|
||||
bool m_transaction_on;
|
||||
bool m_use_local_query_cache;
|
||||
ulong m_query_cache_type;
|
||||
|
||||
void set_rec_per_key();
|
||||
void records_update();
|
||||
|
@ -3954,7 +3954,7 @@ enum options_mysqld
|
||||
OPT_INNODB, OPT_ISAM,
|
||||
OPT_NDBCLUSTER, OPT_NDB_CONNECTSTRING, OPT_NDB_USE_EXACT_COUNT,
|
||||
OPT_NDB_FORCE_SEND, OPT_NDB_AUTOINCREMENT_PREFETCH_SZ,
|
||||
OPT_NDB_USE_LOCAL_QUERY_CACHE,
|
||||
OPT_NDB_QUERY_CACHE_TYPE,
|
||||
OPT_SKIP_SAFEMALLOC,
|
||||
OPT_TEMP_POOL, OPT_TX_ISOLATION,
|
||||
OPT_SKIP_STACK_TRACE, OPT_SKIP_SYMLINKS,
|
||||
@ -4414,12 +4414,16 @@ Disable with --skip-ndbcluster (will save memory).",
|
||||
(gptr*) &global_system_variables.ndb_use_exact_count,
|
||||
(gptr*) &global_system_variables.ndb_use_exact_count,
|
||||
0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0},
|
||||
{"ndb_use_local_query_cache", OPT_NDB_USE_LOCAL_QUERY_CACHE,
|
||||
"Use local query cache, note that this cache will _not_ "
|
||||
"be invalidated if data is updated through other mysql servers",
|
||||
(gptr*) &global_system_variables.ndb_use_local_query_cache,
|
||||
(gptr*) &global_system_variables.ndb_use_local_query_cache,
|
||||
0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
{"ndb_query_cache_type", OPT_NDB_QUERY_CACHE_TYPE,
|
||||
"0 = OFF = Don't cache or retrieve results. 1 = ON = Cache as query_cache_type states and "
|
||||
"invalidate cache if tables are updated by other mysql servers. "
|
||||
"2 = LOCAL = Cache as query_cache_type states and don't bother about what's happening on other "
|
||||
"mysql servers.",
|
||||
(gptr*) &global_system_variables.ndb_query_cache_type,
|
||||
(gptr*) &global_system_variables.ndb_query_cache_type,
|
||||
0, GET_ULONG, REQUIRED_ARG, 0, 0, 2, 0, 0, 0},
|
||||
#endif
|
||||
#endif
|
||||
{"new", 'n', "Use very new possible 'unsafe' functions.",
|
||||
(gptr*) &global_system_variables.new_mode,
|
||||
|
@ -370,9 +370,12 @@ sys_ndb_force_send("ndb_force_send",
|
||||
sys_var_thd_bool
|
||||
sys_ndb_use_exact_count("ndb_use_exact_count",
|
||||
&SV::ndb_use_exact_count);
|
||||
sys_var_thd_bool
|
||||
sys_ndb_use_local_query_cache("ndb_use_local_query_cache",
|
||||
&SV::ndb_use_local_query_cache);
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
sys_var_thd_enum
|
||||
sys_ndb_query_cache_type("ndb_query_cache_type",
|
||||
&SV::ndb_query_cache_type,
|
||||
&ndb_query_cache_type_typelib);
|
||||
#endif
|
||||
sys_var_thd_bool
|
||||
sys_ndb_use_transactions("ndb_use_transactions",
|
||||
&SV::ndb_use_transactions);
|
||||
@ -637,7 +640,9 @@ sys_var *sys_variables[]=
|
||||
&sys_ndb_autoincrement_prefetch_sz,
|
||||
&sys_ndb_force_send,
|
||||
&sys_ndb_use_exact_count,
|
||||
&sys_ndb_use_local_query_cache,
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
&sys_ndb_query_cache_type,
|
||||
#endif
|
||||
&sys_ndb_use_transactions,
|
||||
#endif
|
||||
&sys_unique_checks,
|
||||
@ -805,8 +810,9 @@ struct show_var_st init_vars[]= {
|
||||
(char*) &sys_ndb_autoincrement_prefetch_sz, SHOW_SYS},
|
||||
{sys_ndb_force_send.name, (char*) &sys_ndb_force_send, SHOW_SYS},
|
||||
{sys_ndb_use_exact_count.name,(char*) &sys_ndb_use_exact_count, SHOW_SYS},
|
||||
{sys_ndb_use_local_query_cache.name,
|
||||
(char*) &sys_ndb_use_local_query_cache, SHOW_SYS},
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
{sys_ndb_query_cache_type.name,(char*) &sys_ndb_query_cache_type, SHOW_SYS},
|
||||
#endif
|
||||
{sys_ndb_use_transactions.name,(char*) &sys_ndb_use_transactions, SHOW_SYS},
|
||||
#endif
|
||||
{sys_net_buffer_length.name,(char*) &sys_net_buffer_length, SHOW_SYS},
|
||||
|
@ -366,6 +366,12 @@ TYPELIB query_cache_type_typelib=
|
||||
array_elements(query_cache_type_names)-1,"", query_cache_type_names, NULL
|
||||
};
|
||||
|
||||
const char *ndb_query_cache_type_names[]= { "OFF", "ON", "LOCAL",NullS };
|
||||
TYPELIB ndb_query_cache_type_typelib=
|
||||
{
|
||||
array_elements(ndb_query_cache_type_names)-1,"", ndb_query_cache_type_names, NULL
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
Query_cache_block_table method(s)
|
||||
*****************************************************************************/
|
||||
|
@ -412,6 +412,7 @@ protected:
|
||||
};
|
||||
|
||||
extern Query_cache query_cache;
|
||||
extern TYPELIB ndb_query_cache_type_typelib;
|
||||
extern TYPELIB query_cache_type_typelib;
|
||||
void query_cache_end_of_result(THD *thd);
|
||||
void query_cache_abort(NET *net);
|
||||
|
@ -403,7 +403,7 @@ struct system_variables
|
||||
ulong ndb_autoincrement_prefetch_sz;
|
||||
my_bool ndb_force_send;
|
||||
my_bool ndb_use_exact_count;
|
||||
my_bool ndb_use_local_query_cache;
|
||||
ulong ndb_query_cache_type;
|
||||
my_bool ndb_use_transactions;
|
||||
#endif /* HAVE_NDBCLUSTER_DB */
|
||||
my_bool old_passwords;
|
||||
|
Loading…
x
Reference in New Issue
Block a user