summaryrefslogtreecommitdiff
path: root/ndb/src
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2006-10-27 16:32:59 +0200
committerunknown <jonas@perch.ndb.mysql.com>2006-10-27 16:32:59 +0200
commit124e01f5db21cf17681d7f40bdb81d0f637deb91 (patch)
tree50c8447154ebd6d5300d98416a05266b23ed3c14 /ndb/src
parent8a87a2671704fb9e12a491f4275e6cf6a4d9765f (diff)
downloadmariadb-git-124e01f5db21cf17681d7f40bdb81d0f637deb91.tar.gz
ndb - valgrind
Still leakage, make sure all unlinked operations are put back so they will be release (on failing blob operations, when AO_IgnoreError) ndb/src/ndbapi/NdbConnection.cpp: Still leakage, make sure all unlinked operations are put back so they will be release
Diffstat (limited to 'ndb/src')
-rw-r--r--ndb/src/ndbapi/NdbConnection.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/ndb/src/ndbapi/NdbConnection.cpp b/ndb/src/ndbapi/NdbConnection.cpp
index e061740c9f6..d5fa8f77db2 100644
--- a/ndb/src/ndbapi/NdbConnection.cpp
+++ b/ndb/src/ndbapi/NdbConnection.cpp
@@ -379,7 +379,29 @@ NdbConnection::execute(ExecType aTypeOfExec,
* operations, making postExecute impossible
*/
if (abortOption == AO_IgnoreError)
+ {
+ if (theCompletedFirstOp != NULL)
+ {
+ if (tCompletedFirstOp != NULL)
+ {
+ tCompletedLastOp->next(theCompletedFirstOp);
+ theCompletedFirstOp = tCompletedFirstOp;
+ }
+ }
+ else
+ {
+ theCompletedFirstOp = tCompletedFirstOp;
+ theCompletedLastOp = tCompletedLastOp;
+ }
+ if (tPrepOp != NULL && tRestOp != NULL) {
+ if (theFirstOpInList == NULL)
+ theFirstOpInList = tRestOp;
+ else
+ theLastOpInList->next(tRestOp);
+ theLastOpInList = tLastOp;
+ }
DBUG_RETURN(-1);
+ }
}
#ifdef ndb_api_crash_on_complex_blob_abort