Commit 04ff58d5 authored by unknown's avatar unknown

NDB blobs restore backwards compatibility


ndb/src/ndbapi/NdbBlob.cpp:
  restore backwards compatibility
parent 62f23cad
...@@ -97,22 +97,21 @@ NdbBlob::getBlobTable(NdbTableImpl& bt, const NdbTableImpl* t, const NdbColumnIm ...@@ -97,22 +97,21 @@ NdbBlob::getBlobTable(NdbTableImpl& bt, const NdbTableImpl* t, const NdbColumnIm
bt.setName(btname); bt.setName(btname);
bt.setLogging(t->getLogging()); bt.setLogging(t->getLogging());
bt.setFragmentType(t->getFragmentType()); bt.setFragmentType(t->getFragmentType());
{ NdbDictionary::Column bc("PK"); { NdbDictionary::Column bc("DIST");
bc.setType(NdbDictionary::Column::Unsigned); bc.setType(NdbDictionary::Column::Unsigned);
assert(t->m_sizeOfKeysInWords != 0);
bc.setLength(t->m_sizeOfKeysInWords);
bc.setPrimaryKey(true); bc.setPrimaryKey(true);
bc.setDistributionKey(true); bc.setDistributionKey(true);
bt.addColumn(bc); bt.addColumn(bc);
} }
{ NdbDictionary::Column bc("DIST"); { NdbDictionary::Column bc("PART");
bc.setType(NdbDictionary::Column::Unsigned); bc.setType(NdbDictionary::Column::Unsigned);
bc.setPrimaryKey(true); bc.setPrimaryKey(true);
bc.setDistributionKey(true);
bt.addColumn(bc); bt.addColumn(bc);
} }
{ NdbDictionary::Column bc("PART"); { NdbDictionary::Column bc("PK");
bc.setType(NdbDictionary::Column::Unsigned); bc.setType(NdbDictionary::Column::Unsigned);
assert(t->m_sizeOfKeysInWords != 0);
bc.setLength(t->m_sizeOfKeysInWords);
bc.setPrimaryKey(true); bc.setPrimaryKey(true);
bt.addColumn(bc); bt.addColumn(bc);
} }
...@@ -309,7 +308,7 @@ inline Uint32 ...@@ -309,7 +308,7 @@ inline Uint32
NdbBlob::getDistKey(Uint32 part) NdbBlob::getDistKey(Uint32 part)
{ {
assert(theStripeSize != 0); assert(theStripeSize != 0);
return part / theStripeSize; return (part / theStripeSize) % theStripeSize;
} }
// getters and setters // getters and setters
...@@ -393,9 +392,9 @@ NdbBlob::setPartKeyValue(NdbOperation* anOp, Uint32 part) ...@@ -393,9 +392,9 @@ NdbBlob::setPartKeyValue(NdbOperation* anOp, Uint32 part)
Uint32* data = (Uint32*)theKeyBuf.data; Uint32* data = (Uint32*)theKeyBuf.data;
unsigned size = theTable->m_sizeOfKeysInWords; unsigned size = theTable->m_sizeOfKeysInWords;
DBG("setPartKeyValue dist=" << getDistKey(part) << " part=" << part << " key=" << ndb_blob_debug(data, size)); DBG("setPartKeyValue dist=" << getDistKey(part) << " part=" << part << " key=" << ndb_blob_debug(data, size));
if (anOp->equal((Uint32)0, theKeyBuf.data) == -1 || if (anOp->equal((Uint32)0, getDistKey(part)) == -1 ||
anOp->equal((Uint32)1, getDistKey(part)) == -1 || anOp->equal((Uint32)1, part) == -1 ||
anOp->equal((Uint32)2, part) == -1) { anOp->equal((Uint32)2, theKeyBuf.data) == -1) {
setErrorCode(anOp); setErrorCode(anOp);
return -1; return -1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment