summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-06-14 01:19:13 +0200
committerunknown <tomas@poseidon.ndb.mysql.com>2006-06-14 01:19:13 +0200
commit748f589ecde3fca1610db5e5512daacc6e14aba2 (patch)
tree95f8355883aeb921a97d95260cd732b12dbd22b5 /storage
parentb19c1896adea1166adb8e80552ac3abfa7642205 (diff)
downloadmariadb-git-748f589ecde3fca1610db5e5512daacc6e14aba2.tar.gz
correct initialization of event operation to enable early delete
Diffstat (limited to 'storage')
-rw-r--r--storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp b/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
index c8f05f3a96c..e0b8043a8ff 100644
--- a/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
+++ b/storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
@@ -79,7 +79,8 @@ NdbEventOperationImpl::NdbEventOperationImpl(NdbEventOperation &f,
NdbEventOperation(*this),
m_facade(&f),
m_ndb(theNdb),
- m_state(EO_ERROR)
+ m_state(EO_ERROR),
+ m_oid(~(Uint32)0)
{
DBUG_ENTER("NdbEventOperationImpl::NdbEventOperationImpl");
@@ -88,7 +89,11 @@ NdbEventOperationImpl::NdbEventOperationImpl(NdbEventOperation &f,
assert(myDict != NULL);
const NdbDictionary::Event *myEvnt = myDict->getEvent(eventName);
- if (!myEvnt) { m_error.code= myDict->getNdbError().code; DBUG_VOID_RETURN; }
+ if (!myEvnt)
+ {
+ m_error.code= myDict->getNdbError().code;
+ DBUG_VOID_RETURN;
+ }
init(myEvnt->m_impl);
DBUG_VOID_RETURN;
@@ -99,7 +104,8 @@ NdbEventOperationImpl::NdbEventOperationImpl(Ndb *theNdb,
NdbEventOperation(*this),
m_facade(this),
m_ndb(theNdb),
- m_state(EO_ERROR)
+ m_state(EO_ERROR),
+ m_oid(~(Uint32)0)
{
DBUG_ENTER("NdbEventOperationImpl::NdbEventOperationImpl [evnt]");
init(evnt);
@@ -113,7 +119,6 @@ NdbEventOperationImpl::init(NdbEventImpl& evnt)
m_magic_number = 0;
mi_type = 0;
- m_oid = ~(Uint32)0;
m_change_mask = 0;
#ifdef VM_TRACE
m_data_done_count = 0;
@@ -173,6 +178,9 @@ NdbEventOperationImpl::~NdbEventOperationImpl()
DBUG_ENTER("NdbEventOperationImpl::~NdbEventOperationImpl");
m_magic_number= 0;
+ if (m_oid == ~(Uint32)0)
+ DBUG_VOID_RETURN;
+
stop();
// m_bufferHandle->dropSubscribeEvent(m_bufferId);
; // ToDo? We should send stop signal here