List:Commits« Previous MessageNext Message »
From:jonas Date:October 4 2006 11:42am
Subject:bk commit into 5.1 tree (jonas:1.2299)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of jonas. When jonas 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@stripped, 2006-10-04 11:42:50+02:00, jonas@stripped +5 -0
  Merge joreland@stripped:/home/bk/mysql-5.1-new-ndb
  into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
  MERGE: 1.2273.1.47

  storage/ndb/include/mgmapi/mgmapi.h@stripped, 2006-10-04 11:42:06+02:00, jonas@stripped +0 -0
    Auto merged
    MERGE: 1.53.1.1

  storage/ndb/include/ndb_version.h.in@stripped, 2006-10-04 11:42:48+02:00, jonas@stripped +1 -0
    merge
    MERGE: 1.9.1.1

  storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp@stripped, 2006-10-04 11:42:06+02:00, jonas@stripped +0 -0
    Auto merged
    MERGE: 1.83.1.1

  storage/ndb/src/mgmapi/mgmapi.cpp@stripped, 2006-10-04 11:42:06+02:00, jonas@stripped +0 -0
    Auto merged
    MERGE: 1.70.1.1

  storage/ndb/src/ndbapi/NdbScanOperation.cpp@stripped, 2006-10-04 11:42:06+02:00, jonas@stripped +0 -0
    Auto merged
    MERGE: 1.93.1.1

# 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:	jonas
# Host:	perch.ndb.mysql.com
# Root:	/home/jonas/src/mysql-5.1-new-ndb/RESYNC

--- 1.10/storage/ndb/include/ndb_version.h.in	2006-10-04 11:42:56 +02:00
+++ 1.11/storage/ndb/include/ndb_version.h.in	2006-10-04 11:42:56 +02:00
@@ -69,5 +69,7 @@
 
 #define NDBD_UPDATE_FRAG_DIST_KEY_50 MAKE_VERSION(5,0,26)
 #define NDBD_UPDATE_FRAG_DIST_KEY_51 MAKE_VERSION(5,1,12)
+
+#define NDBD_QMGR_SINGLEUSER_VERSION_5 MAKE_VERSION(5,0,25)
 #endif
  

--- 1.54/storage/ndb/include/mgmapi/mgmapi.h	2006-10-04 11:42:56 +02:00
+++ 1.55/storage/ndb/include/mgmapi/mgmapi.h	2006-10-04 11:42:56 +02:00
@@ -230,7 +230,9 @@
     NDB_MGM_SERVER_NOT_CONNECTED = 1010,
     /** Could not connect to socker */
     NDB_MGM_COULD_NOT_CONNECT_TO_SOCKET = 1011,
-
+    /** Could not bind local address */
+    NDB_MGM_BIND_ADDRESS = 1012,
+    
     /* Alloc node id failures */
     /** Generic error, retry may succeed */
     NDB_MGM_ALLOCID_ERROR = 1101,
@@ -513,6 +515,15 @@
   int ndb_mgm_get_connected_port(NdbMgmHandle handle);
   const char *ndb_mgm_get_connected_host(NdbMgmHandle handle);
   const char *ndb_mgm_get_connectstring(NdbMgmHandle handle, char *buf, int buf_sz);
+
+  /**
+   * Set local bindaddress
+   * @param arg - Srting of form "host[:port]"
+   * @note must be called before connect
+   * @note Error on binding local address will not be reported until connect
+   * @return 0 on success
+   */
+  int ndb_mgm_set_bindaddress(NdbMgmHandle, const char * arg);
 
   /**
    * Gets the connectstring used for a connection

--- 1.84/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp	2006-10-04 11:42:56 +02:00
+++ 1.85/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp	2006-10-04 11:42:56 +02:00
@@ -6725,7 +6725,13 @@
         }
       }
     }
-    ndbrequire(count == (2U + (1 + noOfReplicas) * noOfFragments)); 
+    if(count != (2U + (1 + noOfReplicas) * noOfFragments)){
+        char buf[255];
+        BaseString::snprintf(buf, sizeof(buf),
+                           "Illegal configuration change: NoOfReplicas."
+                           " Can't be applied online ");
+        progError(__LINE__, NDBD_EXIT_INVALID_CONFIG, buf);
+    }
     
     CreateFragmentationConf * const conf = 
       (CreateFragmentationConf*)signal->getDataPtrSend();

--- 1.71/storage/ndb/src/mgmapi/mgmapi.cpp	2006-10-04 11:42:56 +02:00
+++ 1.72/storage/ndb/src/mgmapi/mgmapi.cpp	2006-10-04 11:42:56 +02:00
@@ -1368,6 +1368,45 @@
   return 0;
 }
 
+static const char *clusterlog_names[]=
+  { "startup", "shutdown", "statistics", "checkpoint", "noderestart", "connection", "info", "warning", "error", "congestion", "debug", "backup" };
+
+extern "C"
+const unsigned int *
+ndb_mgm_get_clusterlog_loglevel(NdbMgmHandle handle)
+{
+  SET_ERROR(handle, NDB_MGM_NO_ERROR, "Executing: ndb_mgm_get_clusterlog_loglevel");
+  int loglevel_count = CFG_MAX_LOGLEVEL - CFG_MIN_LOGLEVEL + 1 ;
+  static unsigned int loglevel[CFG_MAX_LOGLEVEL - CFG_MIN_LOGLEVEL + 1] = {0,0,0,0,0,0,0,0,0,0,0,0};
+  const ParserRow<ParserDummy> getloglevel_reply[] = {
+    MGM_CMD("get cluster loglevel", NULL, ""),
+    MGM_ARG(clusterlog_names[0], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[1], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[2], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[3], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[4], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[5], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[6], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[7], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[8], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[9], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[10], Int, Mandatory, ""),
+    MGM_ARG(clusterlog_names[11], Int, Mandatory, ""),
+  };
+  CHECK_HANDLE(handle, NULL);
+  CHECK_CONNECTED(handle, NULL);
+
+  Properties args;
+  const Properties *reply;
+  reply = ndb_mgm_call(handle, getloglevel_reply, "get cluster loglevel", &args);
+  CHECK_REPLY(reply, NULL);
+
+  for(int i=0; i < loglevel_count; i++) {
+    reply->get(clusterlog_names[i], &loglevel[i]);
+  }
+  return loglevel;
+}
+
 extern "C"
 int 
 ndb_mgm_set_clusterlog_loglevel(NdbMgmHandle handle, int nodeId,

--- 1.95/storage/ndb/src/ndbapi/NdbScanOperation.cpp	2006-10-04 11:42:56 +02:00
+++ 1.96/storage/ndb/src/ndbapi/NdbScanOperation.cpp	2006-10-04 11:42:56 +02:00
@@ -696,9 +696,27 @@
   theNdbCon = NULL;
   m_transConnection = NULL;
 
-  if (releaseOp && tTransCon) {
+  if (tTransCon) 
+  {
     NdbIndexScanOperation* tOp = (NdbIndexScanOperation*)this;
-    tTransCon->releaseScanOperation(tOp);
+
+    bool ret = true;
+    if (theStatus != WaitResponse)
+    {
+      /**
+       * Not executed yet
+       */
+      ret = 
+	tTransCon->releaseScanOperation(&tTransCon->m_theFirstScanOperation,
+					&tTransCon->m_theLastScanOperation,
+					tOp);
+    }
+    else if (releaseOp)
+    {
+      ret = tTransCon->releaseScanOperation(&tTransCon->m_firstExecutedScanOp,
+					    0, tOp);
+    }
+    assert(ret);
   }
   
   tCon->theScanningOp = 0;
Thread
bk commit into 5.1 tree (jonas:1.2299)jonas4 Oct