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) | jonas | 13 Jan |