diff options
author | unknown <tomas@poseidon.mysql.com> | 2007-01-19 11:35:00 +0100 |
---|---|---|
committer | unknown <tomas@poseidon.mysql.com> | 2007-01-19 11:35:00 +0100 |
commit | 867e6dc67455bd554fabe252743414566d02c834 (patch) | |
tree | 6e4d69e9f0ccc4c4e38d1a6fc4aaaec13a7e4a57 /storage | |
parent | 532a2d99423c94c0757a524d4e2d91aafa1e1787 (diff) | |
download | mariadb-git-867e6dc67455bd554fabe252743414566d02c834.tar.gz |
Bug#25387 ndb: dbug assert in reference counting for event operations
- on blob part execute failure, must leave in state executin, and await dropEventOperation
Diffstat (limited to 'storage')
-rw-r--r-- | storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp b/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp index c2a07899143..fe10cf133c2 100644 --- a/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp +++ b/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp @@ -571,7 +571,12 @@ NdbEventOperationImpl::execute_nolock() while (blob_op != NULL) { r = blob_op->execute_nolock(); if (r != 0) { - break; + // since main op is running and possibly some blob ops as well + // we can't just reset the main op. Instead return with error, + // main op (and blob ops) will be cleaned up when user calls + // dropEventOperation + m_error.code= myDict->getNdbError().code; + DBUG_RETURN(r); } // add blob reference to main op // removed by TE_STOP or TE_CLUSTER_FAILURE |