summaryrefslogtreecommitdiff
path: root/ndb/src
diff options
context:
space:
mode:
authorpekka@sama.ndb.mysql.com <>2007-08-29 21:45:53 +0300
committerpekka@sama.ndb.mysql.com <>2007-08-29 21:45:53 +0300
commitaf1ce5c230ef4400b31aab6c1be8105da5ca3e52 (patch)
treee3f750da001e4c89b1be008ed38958308691c646 /ndb/src
parent822fd77ab2d8240815e633efe24cd05c0e25dc1a (diff)
downloadmariadb-git-af1ce5c230ef4400b31aab6c1be8105da5ca3e52.tar.gz
ndb - bug#29102 : use locked read even for blob parts
Diffstat (limited to 'ndb/src')
-rw-r--r--ndb/src/ndbapi/NdbBlob.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/ndb/src/ndbapi/NdbBlob.cpp b/ndb/src/ndbapi/NdbBlob.cpp
index 7ab9c2132d8..611d0396f96 100644
--- a/ndb/src/ndbapi/NdbBlob.cpp
+++ b/ndb/src/ndbapi/NdbBlob.cpp
@@ -892,7 +892,12 @@ NdbBlob::readParts(char* buf, Uint32 part, Uint32 count)
while (n < count) {
NdbOperation* tOp = theNdbCon->getNdbOperation(theBlobTable);
if (tOp == NULL ||
- tOp->committedRead() == -1 ||
+ /*
+ * This was committedRead() before. However lock on main
+ * table tuple does not fully protect blob parts since DBTUP
+ * commits each tuple separately.
+ */
+ tOp->readTuple() == -1 ||
setPartKeyValue(tOp, part + n) == -1 ||
tOp->getValue((Uint32)3, buf) == NULL) {
setErrorCode(tOp);