summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorjonas@perch.ndb.mysql.com <>2006-10-27 16:32:59 +0200
committerjonas@perch.ndb.mysql.com <>2006-10-27 16:32:59 +0200
commit0cbb309b1a5f70a586f3bb5497beeef0604e1f2b (patch)
tree50c8447154ebd6d5300d98416a05266b23ed3c14 /ndb
parenta03b282f17f6a4a48683e0b4af30dc3b5b766c17 (diff)
downloadmariadb-git-0cbb309b1a5f70a586f3bb5497beeef0604e1f2b.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)
Diffstat (limited to 'ndb')
-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