diff options
author | tomas@poseidon.mysql.com <> | 2007-01-19 11:35:00 +0100 |
---|---|---|
committer | tomas@poseidon.mysql.com <> | 2007-01-19 11:35:00 +0100 |
commit | 9c8ab666b0059be709141c353f647e7f425e62ce (patch) | |
tree | 6e4d69e9f0ccc4c4e38d1a6fc4aaaec13a7e4a57 /storage | |
parent | 79e80aac49d5fc4135df9b8027409995c4ce12df (diff) | |
download | mariadb-git-9c8ab666b0059be709141c353f647e7f425e62ce.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 |