summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2005-02-25 09:14:43 +0100
committerunknown <joreland@mysql.com>2005-02-25 09:14:43 +0100
commit52902cb8497610fb77d96d4c6fb0b1c40d182d8b (patch)
treec37ad1aa0770b5ff9fd7d2f2b539aef20235ac2d /ndb
parent92e3070ca35bd38f23daf335c341ebb55fdb7d21 (diff)
parentb89feadf56d074161acdacacd01a1f95f6d60e8d (diff)
downloadmariadb-git-52902cb8497610fb77d96d4c6fb0b1c40d182d8b.tar.gz
Merge mysql.com:/home/jonas/src/fix
into mysql.com:/home/jonas/src/mysql-4.1 ndb/src/ndbapi/NdbDictionaryImpl.cpp: Auto merged
Diffstat (limited to 'ndb')
-rw-r--r--ndb/include/kernel/signaldata/AlterIndx.hpp6
-rw-r--r--ndb/include/kernel/signaldata/BuildIndx.hpp4
-rw-r--r--ndb/include/kernel/signaldata/CreateIndx.hpp6
-rw-r--r--ndb/include/kernel/signaldata/CreateTrig.hpp6
-rw-r--r--ndb/include/kernel/signaldata/DropIndx.hpp6
-rw-r--r--ndb/src/kernel/blocks/dbdict/Dbdict.cpp1
-rw-r--r--ndb/src/ndbapi/NdbDictionaryImpl.cpp4
7 files changed, 21 insertions, 12 deletions
diff --git a/ndb/include/kernel/signaldata/AlterIndx.hpp b/ndb/include/kernel/signaldata/AlterIndx.hpp
index 4c8bb465cf1..f5ad835b6f3 100644
--- a/ndb/include/kernel/signaldata/AlterIndx.hpp
+++ b/ndb/include/kernel/signaldata/AlterIndx.hpp
@@ -201,8 +201,10 @@ private:
//Uint32 m_indexVersion;
Uint32 m_errorCode;
Uint32 m_errorLine;
- Uint32 m_errorNode;
-
+ union {
+ Uint32 m_errorNode;
+ Uint32 masterNodeId; // if NotMaster
+ };
public:
AlterIndxConf* getConf() {
return &m_conf;
diff --git a/ndb/include/kernel/signaldata/BuildIndx.hpp b/ndb/include/kernel/signaldata/BuildIndx.hpp
index e8eca03ea81..a6ea84c5ea0 100644
--- a/ndb/include/kernel/signaldata/BuildIndx.hpp
+++ b/ndb/include/kernel/signaldata/BuildIndx.hpp
@@ -242,9 +242,8 @@ public:
AllocationFailure = 4252,
InternalError = 4346
};
- STATIC_CONST( SignalLength = BuildIndxConf::SignalLength + 1 );
+ STATIC_CONST( SignalLength = BuildIndxConf::SignalLength + 2 );
-private:
//Uint32 m_userRef;
//Uint32 m_connectionPtr;
//Uint32 m_requestInfo;
@@ -253,6 +252,7 @@ private:
//Uint32 m_indexId;
BuildIndxConf m_conf;
Uint32 m_errorCode;
+ Uint32 masterNodeId;
public:
BuildIndxConf* getConf() {
diff --git a/ndb/include/kernel/signaldata/CreateIndx.hpp b/ndb/include/kernel/signaldata/CreateIndx.hpp
index 2751cfbbbfa..5563f80a555 100644
--- a/ndb/include/kernel/signaldata/CreateIndx.hpp
+++ b/ndb/include/kernel/signaldata/CreateIndx.hpp
@@ -220,8 +220,10 @@ public:
//Uint32 m_indexVersion;
Uint32 m_errorCode;
Uint32 m_errorLine;
- Uint32 m_errorNode;
-
+ union {
+ Uint32 m_errorNode;
+ Uint32 masterNodeId; // If NotMaster
+ };
public:
CreateIndxConf* getConf() {
return &m_conf;
diff --git a/ndb/include/kernel/signaldata/CreateTrig.hpp b/ndb/include/kernel/signaldata/CreateTrig.hpp
index 4af9cb57f68..62627256dcf 100644
--- a/ndb/include/kernel/signaldata/CreateTrig.hpp
+++ b/ndb/include/kernel/signaldata/CreateTrig.hpp
@@ -311,8 +311,10 @@ private:
//Uint32 m_triggerInfo;
Uint32 m_errorCode;
Uint32 m_errorLine;
- Uint32 m_errorNode;
-
+ union {
+ Uint32 m_errorNode;
+ Uint32 masterNodeId; // When NotMaster
+ };
public:
CreateTrigConf* getConf() {
return &m_conf;
diff --git a/ndb/include/kernel/signaldata/DropIndx.hpp b/ndb/include/kernel/signaldata/DropIndx.hpp
index 247fbdf914e..fd2ea7f0b7b 100644
--- a/ndb/include/kernel/signaldata/DropIndx.hpp
+++ b/ndb/include/kernel/signaldata/DropIndx.hpp
@@ -185,8 +185,10 @@ public:
//Uint32 m_indexVersion;
Uint32 m_errorCode;
Uint32 m_errorLine;
- Uint32 m_errorNode;
-
+ union {
+ Uint32 m_errorNode;
+ Uint32 masterNodeId;
+ };
public:
DropIndxConf* getConf() {
return &m_conf;
diff --git a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
index 2b2748eb165..b1e573e1cc8 100644
--- a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+++ b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
@@ -10237,6 +10237,7 @@ Dbdict::buildIndex_sendReply(Signal* signal, OpBuildIndexPtr opPtr,
rep->setIndexId(opPtr.p->m_request.getIndexId());
if (sendRef) {
rep->setErrorCode(opPtr.p->m_errorCode);
+ rep->masterNodeId = opPtr.p->m_errorNode;
gsn = GSN_BUILDINDXREF;
length = BuildIndxRef::SignalLength;
}
diff --git a/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/ndb/src/ndbapi/NdbDictionaryImpl.cpp
index 8f1670b1faf..e88f76ef513 100644
--- a/ndb/src/ndbapi/NdbDictionaryImpl.cpp
+++ b/ndb/src/ndbapi/NdbDictionaryImpl.cpp
@@ -2125,7 +2125,7 @@ NdbDictInterface::execCREATE_INDX_REF(NdbApiSignal * signal,
const CreateIndxRef* const ref = CAST_CONSTPTR(CreateIndxRef, signal->getDataPtr());
m_error.code = ref->getErrorCode();
if(m_error.code == ref->NotMaster)
- m_masterNodeId= ref->m_errorNode;
+ m_masterNodeId= ref->masterNodeId;
m_waiter.signal(NO_WAIT);
}
@@ -2251,7 +2251,7 @@ NdbDictInterface::execDROP_INDX_REF(NdbApiSignal * signal,
const DropIndxRef* const ref = CAST_CONSTPTR(DropIndxRef, signal->getDataPtr());
m_error.code = ref->getErrorCode();
if(m_error.code == ref->NotMaster)
- m_masterNodeId= ref->m_errorNode;
+ m_masterNodeId= ref->masterNodeId;
m_waiter.signal(NO_WAIT);
}