diff options
author | unknown <tomas@poseidon.ndb.mysql.com> | 2006-06-14 01:19:13 +0200 |
---|---|---|
committer | unknown <tomas@poseidon.ndb.mysql.com> | 2006-06-14 01:19:13 +0200 |
commit | 748f589ecde3fca1610db5e5512daacc6e14aba2 (patch) | |
tree | 95f8355883aeb921a97d95260cd732b12dbd22b5 /storage | |
parent | b19c1896adea1166adb8e80552ac3abfa7642205 (diff) | |
download | mariadb-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.cpp | 16 |
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 |