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