List:Internals« Previous MessageNext Message »
From:tomas Date:May 9 2005 1:35pm
Subject:bk commit into 5.1 tree (tomas:1.1831)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.1831 05/05/09 15:35:37 tomas@stripped +7 -0
      handle with and without ndbcluster enabled
      added option to be able to run statement binlogging although ndbcluster is on
     bugfix error in setting of gci
      check for "only mysql" tables at startup
      print error if statement based loggon is used with ndb

  storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp
    1.4 05/05/09 15:35:30 tomas@stripped +2 -0
    bugfix error in setting of gci

  storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
    1.71 05/05/09 15:35:30 tomas@stripped +3 -0
    added extra check for correct gci setting

  sql/mysqld.cc
    1.462 05/05/09 15:35:30 tomas@stripped +7 -4
    added option to be able to run statement binlogging although ndbcluster is on

  sql/ha_ndbcluster.cc
    1.237 05/05/09 15:35:30 tomas@stripped +10 -3
    check for "only mysql" tables at startup
    print error if statement based loggon is used with ndb

  mysql-test/t/information_schema.test
    1.34 05/05/09 15:35:30 tomas@stripped +4 -2
    handle with and without ndbcluster enabled

  mysql-test/t/disabled.def
    1.12 05/05/09 15:35:30 tomas@stripped +2 -1
    test disabled

  mysql-test/r/information_schema.result
    1.44 05/05/09 15:35:29 tomas@stripped +1 -1
    handle with and without ndbcluster enabled

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	tomas
# Host:	poseidon.ndb.mysql.com
# Root:	/home/tomas/wl2325

--- 1.461/sql/mysqld.cc	2005-05-06 13:45:53 +02:00
+++ 1.462/sql/mysqld.cc	2005-05-09 15:35:30 +02:00
@@ -6782,11 +6782,14 @@
   if (opt_bin_log)
   {
     if (opt_binlog_format_id == BF_NONE)
-      opt_binlog_format_id= BF_STMT;
-    if (have_ndbcluster == SHOW_OPTION_YES)
     {
-      rpl_filter->add_ignore_table("cluster_replication.binlog_index");
-      opt_binlog_format_id= BF_ROW;
+      if (have_ndbcluster == SHOW_OPTION_YES)
+      {
+	rpl_filter->add_ignore_table("cluster_replication.binlog_index");
+	opt_binlog_format_id= BF_ROW;
+      }
+      else
+	opt_binlog_format_id= BF_STMT;
     }
     if (opt_binlog_format_id == BF_ROW)
       opt_binlog_row_level= TRUE;

--- 1.43/mysql-test/r/information_schema.result	2005-04-14 14:19:30 +02:00
+++ 1.44/mysql-test/r/information_schema.result	2005-05-09 15:35:29 +02:00
@@ -30,7 +30,7 @@
 create table t3(a int, KEY a_data (a));
 create table mysqltest.t4(a int);
 create view v1 (c) as select table_name from information_schema.TABLES;
-select * from v1;
+select * from v1 where c not in ('apply_status');
 c
 SCHEMATA
 TABLES

--- 1.33/mysql-test/t/information_schema.test	2005-04-14 08:03:09 +02:00
+++ 1.34/mysql-test/t/information_schema.test	2005-05-09 15:35:30 +02:00
@@ -23,7 +23,8 @@
 create table t3(a int, KEY a_data (a));
 create table mysqltest.t4(a int);
 create view v1 (c) as select table_name from information_schema.TABLES;
-select * from v1;
+# the presence of 'apply_status' will depend on if cluster is running or not so skip
+select * from v1 where c not in ('apply_status');
 
 select c,table_name from v1 
 inner join information_schema.TABLES v2 on (v1.c=v2.table_name)
@@ -417,7 +418,8 @@
 --disable_result_log
 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES;
 --enable_result_log
-SELECT count(*) FROM INFORMATION_SCHEMA.TABLES;
+# the presence of 'apply_status' will depend on if cluster is running or not, so skip
+SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE table_name NOT IN ('apply_status');
 let $tab_count= 65;
 while ($tab_count)
 {

--- 1.11/mysql-test/t/disabled.def	2005-05-06 18:46:57 +02:00
+++ 1.12/mysql-test/t/disabled.def	2005-05-09 15:35:30 +02:00
@@ -16,7 +16,8 @@
 ndb_cache_multi : replication conflict
 ndb_cache_multi2 : replication conflict
 ndb_insert : Tomas fix sql REPLACE replication conflict
-ndb_multi : replication conflict
 rpl_change_master : result mismatch, Mats, Lars check
 rpl_deadlock : result mismatch, Mats, Lars check
 ps_1general : row-based currently allow max 128 cols /Mats
+myisam : row-based currently allow max 128 cols /Mats
+mysql_client_test : row-based currently allow max 128 cols /Mats

--- 1.70/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp	2005-05-02 17:06:36 +02:00
+++ 1.71/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp	2005-05-09 15:35:30 +02:00
@@ -3260,6 +3260,7 @@
   locTcConnectptr.p->tcTimer = cLqhTimeOutCount;
   locTcConnectptr.p->tableref = RNIL;
   locTcConnectptr.p->savePointId = 0;
+  locTcConnectptr.p->gci = 0;
   cfirstfreeTcConrec = nextTc;
   tcConnectptr = locTcConnectptr;
   locTcConnectptr.p->connectState = TcConnectionrec::CONNECTED;
@@ -5408,6 +5409,7 @@
   TcConnectionrec * const regTcPtr = tcConnectptr.p;
   TcConnectionrec::LogWriteState logWriteState = regTcPtr->logWriteState;
   TcConnectionrec::TransactionState transState = regTcPtr->transactionState;
+  ndbrequire(regTcPtr->gci == gci || regTcPtr->gci == 0);
   regTcPtr->gci = gci; 
   if (transState == TcConnectionrec::PREPARED) {
     if (logWriteState == TcConnectionrec::WRITTEN) {
@@ -5477,6 +5479,7 @@
   Uint32 newestGci = cnewestGci;
   TcConnectionrec::LogWriteState logWriteState = regTcPtr->logWriteState;
   TcConnectionrec::TransactionState transState = regTcPtr->transactionState;
+  ndbrequire(regTcPtr->gci == gci || regTcPtr->gci == 0);
   regTcPtr->gci = gci;
   if (gci > newestGci) {
     jam();

--- 1.3/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp	2005-04-08 02:44:04 +02:00
+++ 1.4/storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp	2005-05-09 15:35:30 +02:00
@@ -443,6 +443,7 @@
     saveAttributeMask.bitOR(befOpPtr.p->changeMask);
     befOpPtr.p->changeMask.clear();
     befOpPtr.p->changeMask.bitOR(attributeMask);
+    befOpPtr.p->gci = regOperPtr->gci;
     
     operPtr.p = befOpPtr.p;
     checkDetachedTriggers(signal,
@@ -480,6 +481,7 @@
     befOpPtr.p->pageOffset = befOpPtr.p->pageOffsetC;
     befOpPtr.p->fragPageId = befOpPtr.p->fragPageIdC;
     befOpPtr.p->pageIndex  = befOpPtr.p->pageIndexC;
+    befOpPtr.p->gci = regOperPtr->gci;
 
     operPtr.p = befOpPtr.p;
     checkDetachedTriggers(signal,

--- 1.236/sql/ha_ndbcluster.cc	2005-05-09 05:10:41 +02:00
+++ 1.237/sql/ha_ndbcluster.cc	2005-05-09 15:35:30 +02:00
@@ -5041,6 +5041,9 @@
       continue;
     }
 
+    if (ndbtab->getFrmLength() == 0)
+      continue;
+
     strxnmov(key, FN_LEN, mysql_data_home,"/",t.database,"/",t.name, NullS);
     const void *data, *pack_data;
     uint length, pack_length;
@@ -5327,10 +5330,14 @@
   pthread_mutex_init(&ndbcluster_mutex,MY_MUTEX_INIT_FAST);
 
 #ifdef HAVE_REPLICATION
-  if (opt_bin_log && ndbcluster_binlog_start())
+  if (opt_binlog_row_level && ndbcluster_binlog_start())
   {
     goto ndbcluster_init_error;
   }
+  else if (opt_bin_log)
+  {
+    sql_print_error("NDB: only row based binary logging is supported");
+  }
 #endif /* HAVE_REPLICATION */
   
   pthread_mutex_init(&LOCK_ndb_util_thread, MY_MUTEX_INIT_FAST);
@@ -9082,7 +9089,7 @@
     thd->db=db;
   }
   for (;!((abort_loop || do_ndbcluster_binlog_close_connection) &&
-	  ndb_latest_received_binlog_epoch >= g_latest_trans_gci);)
+	  ndb_latest_handled_binlog_epoch >= g_latest_trans_gci);)
   {
     /**
      * now we don't want any events before next gci is complete
@@ -9093,7 +9100,7 @@
     int res= ndb->pollEvents(1000); // wait for event or 1000 ms
 
     if ( (abort_loop || do_ndbcluster_binlog_close_connection) &&
-	 ndb_latest_received_binlog_epoch >= g_latest_trans_gci )
+	 ndb_latest_handled_binlog_epoch >= g_latest_trans_gci )
     {
       break; /* Shutting down server */
     }
Thread
bk commit into 5.1 tree (tomas:1.1831)tomas9 May