Loading sql/ha_ndbcluster.cc +14 −5 Original line number Diff line number Diff line Loading @@ -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: Loading Loading @@ -3751,7 +3753,7 @@ 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; Loading Loading @@ -4455,11 +4457,18 @@ const char* ha_ndbcluster::index_type(uint key_number) } uint8 ha_ndbcluster::table_cache_type() { if (m_use_local_query_cache) 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; else default: return HA_CACHE_TBL_NOCACHE; } } /* Handling the shared NDB_SHARE structure that is needed to Loading sql/ha_ndbcluster.h +1 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading sql/mysqld.cc +11 −7 Original line number Diff line number Diff line Loading @@ -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, Loading Loading @@ -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, Loading sql/set_var.cc +12 −6 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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, Loading Loading @@ -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}, Loading sql/sql_cache.cc +6 −0 Original line number Diff line number Diff line Loading @@ -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) *****************************************************************************/ Loading Loading
sql/ha_ndbcluster.cc +14 −5 Original line number Diff line number Diff line Loading @@ -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: Loading Loading @@ -3751,7 +3753,7 @@ 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; Loading Loading @@ -4455,11 +4457,18 @@ const char* ha_ndbcluster::index_type(uint key_number) } uint8 ha_ndbcluster::table_cache_type() { if (m_use_local_query_cache) 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; else default: return HA_CACHE_TBL_NOCACHE; } } /* Handling the shared NDB_SHARE structure that is needed to Loading
sql/ha_ndbcluster.h +1 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading
sql/mysqld.cc +11 −7 Original line number Diff line number Diff line Loading @@ -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, Loading Loading @@ -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, Loading
sql/set_var.cc +12 −6 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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, Loading Loading @@ -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}, Loading
sql/sql_cache.cc +6 −0 Original line number Diff line number Diff line Loading @@ -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) *****************************************************************************/ Loading