Commit 59cace53 authored by unknown's avatar unknown
Browse files

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1

into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
parents 81a18750 1e272b9f
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -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,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;
  
@@ -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 
+1 −1
Original line number Diff line number Diff line
@@ -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();
+16 −1
Original line number Diff line number Diff line
@@ -2237,7 +2237,11 @@ extern "C" pthread_handler_decl(handle_shutdown,arg)
#endif


const char *load_default_groups[]= { "mysqld","server",MYSQL_BASE_VERSION,0,0};
const char *load_default_groups[]= { 
#ifdef HAVE_NDBCLUSTER_DB
  "mysql_cluster",
#endif
  "mysqld","server",MYSQL_BASE_VERSION,0,0};

bool open_log(MYSQL_LOG *log, const char *hostname,
	      const char *opt_name, const char *extension,
@@ -3965,6 +3969,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_QUERY_CACHE_TYPE,
  OPT_SKIP_SAFEMALLOC,
  OPT_TEMP_POOL, OPT_TX_ISOLATION,
  OPT_SKIP_STACK_TRACE, OPT_SKIP_SYMLINKS,
@@ -4424,6 +4429,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},
#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,
+12 −0
Original line number Diff line number Diff line
@@ -370,6 +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);
#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);
@@ -634,6 +640,9 @@ sys_var *sys_variables[]=
  &sys_ndb_autoincrement_prefetch_sz,
  &sys_ndb_force_send,
  &sys_ndb_use_exact_count,
#ifdef HAVE_QUERY_CACHE
  &sys_ndb_query_cache_type,
#endif
  &sys_ndb_use_transactions,
#endif
  &sys_unique_checks,
@@ -801,6 +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},
#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},
+6 −0
Original line number Diff line number Diff line
@@ -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