ndb - fix bug#18075 varsize PK + blobs

storage/ndb/include/ndbapi/NdbBlob.hpp:
  fast fix bug#18075
storage/ndb/include/ndbapi/NdbOperation.hpp:
  fast fix bug#18075
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
  fast fix bug#18075
storage/ndb/src/ndbapi/NdbBlob.cpp:
  fast fix bug#18075
storage/ndb/src/ndbapi/NdbBlobImpl.hpp:
  fast fix bug#18075
storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
  fast fix bug#18075
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
  fast fix bug#18075
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  fast fix bug#18075
storage/ndb/src/ndbapi/ndberror.c:
  fast fix bug#18075
storage/ndb/test/ndbapi/testBlobs.cpp:
  fast fix bug#18075
This commit is contained in:
unknown 2006-03-09 13:27:58 +01:00
commit 7f86cede6a
10 changed files with 123 additions and 27 deletions

View file

@ -292,6 +292,7 @@ private:
};
Buf theKeyBuf;
Buf theAccessKeyBuf;
Buf thePackKeyBuf;
Buf theHeadInlineBuf;
Buf theHeadInlineCopyBuf; // for writeTuple
Buf thePartBuf;
@ -328,6 +329,9 @@ private:
Uint32 getPartNumber(Uint64 pos);
Uint32 getPartCount();
Uint32 getDistKey(Uint32 part);
// pack / unpack
int packKeyValue(const NdbTableImpl* aTable, const Buf& srcBuf);
int unpackKeyValue(const NdbTableImpl* aTable, Buf& dstBuf);
// getters and setters
int getTableKeyValue(NdbOperation* anOp);
int setTableKeyValue(NdbOperation* anOp);

View file

@ -881,7 +881,7 @@ protected:
Uint32 ptr2int() { return theReceiver.getId(); };
// get table or index key from prepared signals
int getKeyFromTCREQ(Uint32* data, unsigned size);
int getKeyFromTCREQ(Uint32* data, Uint32 & size);
/******************************************************************************
* These are the private variables that are defined in the operation objects.

View file

@ -240,7 +240,7 @@ protected:
void receiver_completed(NdbReceiver*);
void execCLOSE_SCAN_REP();
int getKeyFromKEYINFO20(Uint32* data, unsigned size);
int getKeyFromKEYINFO20(Uint32* data, Uint32 & size);
NdbOperation* takeOverScanOp(OperationType opType, NdbTransaction*);
bool m_ordered;