List:Commits« Previous MessageNext Message »
From:jonas Date:January 13 2006 8:22am
Subject:bk commit into 5.1 tree (jonas:1.2051)
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
  1.2051 06/01/13 09:22:02 jonas@stripped +5 -0
  Merge perch.ndb.mysql.com:/home/jonas/src/50-work
  into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new

  mysql-test/t/ndb_bitfield.test
    1.6 06/01/13 09:21:59 jonas@stripped +2 -1
    merge

  mysql-test/r/ndb_bitfield.result
    1.8 06/01/13 09:21:59 jonas@stripped +5 -5
    merge

  storage/ndb/test/ndbapi/testDataBuffers.cpp
    1.16 06/01/13 09:19:06 jonas@stripped +0 -0
    Auto merged

  storage/ndb/src/mgmsrv/MgmtSrvr.cpp
    1.88 06/01/13 09:19:06 jonas@stripped +0 -0
    Auto merged

  storage/ndb/include/util/Bitmask.hpp
    1.20 06/01/13 09:19:06 jonas@stripped +0 -0
    Auto merged

  storage/ndb/test/ndbapi/testDataBuffers.cpp
    1.14.1.2 06/01/13 09:19:06 jonas@stripped +0 -0
    Merge rename: ndb/test/ndbapi/testDataBuffers.cpp -> storage/ndb/test/ndbapi/testDataBuffers.cpp

  storage/ndb/src/mgmsrv/MgmtSrvr.cpp
    1.73.15.2 06/01/13 09:19:06 jonas@stripped +0 -0
    Merge rename: ndb/src/mgmsrv/MgmtSrvr.cpp -> storage/ndb/src/mgmsrv/MgmtSrvr.cpp

  storage/ndb/include/util/Bitmask.hpp
    1.16.1.2 06/01/13 09:19:06 jonas@stripped +0 -0
    Merge rename: ndb/include/util/Bitmask.hpp -> storage/ndb/include/util/Bitmask.hpp

# 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/RESYNC

--- 1.16.1.1/ndb/include/util/Bitmask.hpp	2006-01-02 14:38:35 +01:00
+++ 1.20/storage/ndb/include/util/Bitmask.hpp	2006-01-13 09:19:06 +01:00
@@ -48,6 +48,11 @@
   static void set(unsigned size, Uint32 data[]);
 
   /**
+   * set bit from <em>start</em> to <em>last</em>
+   */
+  static void set_range(unsigned size, Uint32 data[], unsigned start, unsigned last);
+
+  /**
    * assign - Set all bits in <em>dst</em> to corresponding in <em>src/<em>
    */
   static void assign(unsigned size, Uint32 dst[], const Uint32 src[]);
@@ -63,6 +68,14 @@
   static void clear(unsigned size, Uint32 data[]);
 
   /**
+   * clear bit from <em>start</em> to <em>last</em>
+   */
+  static void clear_range(unsigned size, Uint32 data[], unsigned start, unsigned last);
+
+  static Uint32 getWord(unsigned size, Uint32 data[], unsigned word_pos);
+  static void setWord(unsigned size, Uint32 data[],
+                      unsigned word_pos, Uint32 new_word);
+  /**
    * isclear -  Check if all bits are clear.  This is faster
    * than checking count() == 0.
    */
@@ -181,6 +194,34 @@
   }
 }
 
+inline void
+BitmaskImpl::set_range(unsigned size, Uint32 data[], 
+		       unsigned start, unsigned last)
+{
+  Uint32 *ptr = data + (start >> 5);
+  Uint32 *end =  data + (last >> 5);
+  assert(start <= last);
+  assert(last < (size << 5));
+  
+  Uint32 tmp_word = ~(Uint32)0 << (start & 31);
+
+  if (ptr < end)
+  {
+    * ptr ++ |= tmp_word;
+    
+    for(; ptr < end; )
+    {
+      * ptr ++ = ~(Uint32)0;
+    }
+    
+    tmp_word = ~(Uint32)0;
+  }
+
+  tmp_word &= ~(~(Uint32)0 << (last & 31));
+  
+  * ptr |= tmp_word;
+}
+
 inline void 
 BitmaskImpl::assign(unsigned size, Uint32 dst[], const Uint32 src[])
 {
@@ -204,6 +245,49 @@
   }
 }
 
+inline void
+BitmaskImpl::clear_range(unsigned size, Uint32 data[], 
+			 unsigned start, unsigned last)
+{
+  Uint32 *ptr = data + (start >> 5);
+  Uint32 *end =  data + (last >> 5);
+  assert(start <= last);
+  assert(last < (size << 5));
+  
+  Uint32 tmp_word = ~(Uint32)0 << (start & 31);
+
+  if (ptr < end)
+  {
+    * ptr ++ &= ~tmp_word;
+    
+    for(; ptr < end; )
+    {
+      * ptr ++ = 0;
+    }
+    
+    tmp_word = ~(Uint32)0;
+  }
+
+  tmp_word &= ~(~(Uint32)0 << (last & 31));
+
+  * ptr &= ~tmp_word;
+}
+
+inline
+Uint32
+BitmaskImpl::getWord(unsigned size, Uint32 data[], unsigned word_pos)
+{
+  return data[word_pos];
+}
+
+inline void
+BitmaskImpl::setWord(unsigned size, Uint32 data[],
+                     unsigned word_pos, Uint32 new_word)
+{
+  data[word_pos] = new_word;
+  return;
+}
+
 inline bool
 BitmaskImpl::isclear(unsigned size, const Uint32 data[])
 {
@@ -431,6 +515,12 @@
   void clear();
 
   /**
+   * Get and set words of bits
+   */
+  Uint32 getWord(unsigned word_pos);
+  void setWord(unsigned word_pos, Uint32 new_word);
+  
+  /**
    * isclear -  Check if all bits are clear.  This is faster
    * than checking count() == 0.
    */
@@ -629,6 +719,20 @@
 BitmaskPOD<size>::clear()
 {
   BitmaskPOD<size>::clear(rep.data);
+}
+
+template <unsigned size>
+inline Uint32
+BitmaskPOD<size>::getWord(unsigned word_pos)
+{
+  return BitmaskImpl::getWord(size, rep.data, word_pos);
+}
+
+template <unsigned size>
+inline void
+BitmaskPOD<size>::setWord(unsigned word_pos, Uint32 new_word)
+{
+  BitmaskImpl::setWord(size, rep.data, word_pos, new_word);
 }
 
 template <unsigned size>

--- 1.73.15.1/ndb/src/mgmsrv/MgmtSrvr.cpp	2006-01-13 07:40:13 +01:00
+++ 1.88/storage/ndb/src/mgmsrv/MgmtSrvr.cpp	2006-01-13 09:19:06 +01:00
@@ -37,7 +37,6 @@
 #include <signaldata/EventReport.hpp>
 #include <signaldata/DumpStateOrd.hpp>
 #include <signaldata/BackupSignalData.hpp>
-#include <signaldata/GrepImpl.hpp>
 #include <signaldata/ManagementServer.hpp>
 #include <signaldata/NFCompleteRep.hpp>
 #include <signaldata/NodeFailRep.hpp>
@@ -465,10 +464,6 @@
       case NODE_TYPE_MGM:
 	nodeTypes[id] = NDB_MGM_NODE_TYPE_MGM;
 	break;
-      case NODE_TYPE_REP:
-	nodeTypes[id] = NDB_MGM_NODE_TYPE_REP;
-	break;
-      case NODE_TYPE_EXT_REP:
       default:
 	break;
       }
@@ -1605,9 +1600,6 @@
     break;
   case GSN_EVENT_REP:
   {
-    EventReport *rep = CAST_PTR(EventReport, signal->getDataPtrSend());
-    if (rep->getNodeId() == 0)
-      rep->setNodeId(refToNode(signal->theSendersBlockRef));
     eventReport(signal->getDataPtr());
     break;
   }
@@ -1648,7 +1640,6 @@
       DBUG_VOID_RETURN;
     }
   }
-  
   rep->setNodeId(_ownNodeId);
   eventReport(theData);
   DBUG_VOID_RETURN;
@@ -2167,17 +2158,6 @@
   return ss.sendSignal(nodeId, &ssig) == SEND_OK ? 0 : SEND_OR_RECEIVE_FAILED;
 }
 
-
-/*****************************************************************************
- * Global Replication
- *****************************************************************************/
-
-int
-MgmtSrvr::repCommand(Uint32* repReqId, Uint32 request, bool waitCompleted)
-{
-  require(false);
-  return 0;
-}
 
 MgmtSrvr::Allocated_resources::Allocated_resources(MgmtSrvr &m)
   : m_mgmsrv(m)

--- 1.7/mysql-test/r/ndb_bitfield.result	2005-11-23 21:44:53 +01:00
+++ 1.8/mysql-test/r/ndb_bitfield.result	2006-01-13 09:21:59 +01:00
@@ -216,3 +216,9 @@
 Level	Code	Message
 Error	1296	Got error 743 'Unsupported character set in table or index' from NDB
 Error	1005	Can't create table 'test.t1' (errno: 140)
+create table t1 (
+pk1 int primary key,
+b bit(32) not null
+) engine=ndbcluster;
+insert into t1 values (1,1);
+drop table t1;

--- 1.5/mysql-test/t/ndb_bitfield.test	2005-11-06 00:20:22 +01:00
+++ 1.6/mysql-test/t/ndb_bitfield.test	2006-01-13 09:21:59 +01:00
@@ -113,3 +113,12 @@
   key(b)
 ) engine=ndbcluster;
 show warnings;
+
+# bug#16125
+create table t1 (
+  pk1 int primary key,
+  b bit(32) not null
+) engine=ndbcluster;
+
+insert into t1 values (1,1);
+drop table t1;
Thread
bk commit into 5.1 tree (jonas:1.2051)jonas13 Jan