summaryrefslogtreecommitdiff
path: root/ndb/src/ndbapi/NdbOperationExec.cpp
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2004-10-15 08:08:39 +0200
committerunknown <joreland@mysql.com>2004-10-15 08:08:39 +0200
commit11e5f207526df99186d9e6dba471215c81a85f35 (patch)
tree95261ce9c491d0547027077b4f7a57bb4f3ad515 /ndb/src/ndbapi/NdbOperationExec.cpp
parent6ba2ca2b14b49822bb8a745bd581c0e74c65325d (diff)
downloadmariadb-git-11e5f207526df99186d9e6dba471215c81a85f35.tar.gz
autotest failures
ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Fix scan out of keyinfo buffers ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Fix scan out of keyinfo buffers ndb/src/ndbapi/NdbOperationExec.cpp: Handle TCKEYREF connect wrt dirty/simple read ndb/src/ndbapi/NdbScanOperation.cpp: Set error code ndb/test/src/UtilTransactions.cpp: Handle temporary errors
Diffstat (limited to 'ndb/src/ndbapi/NdbOperationExec.cpp')
-rw-r--r--ndb/src/ndbapi/NdbOperationExec.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/ndb/src/ndbapi/NdbOperationExec.cpp b/ndb/src/ndbapi/NdbOperationExec.cpp
index da4eaf49613..f1338ae01e4 100644
--- a/ndb/src/ndbapi/NdbOperationExec.cpp
+++ b/ndb/src/ndbapi/NdbOperationExec.cpp
@@ -541,6 +541,9 @@ NdbOperation::receiveTCKEYREF( NdbApiSignal* aSignal)
return -1;
}//if
+ AbortOption ao = (AbortOption)theNdbCon->m_abortOption;
+ theReceiver.m_received_result_length = ~0;
+
theStatus = Finished;
theNdbCon->theReturnStatus = NdbConnection::ReturnFailure;
@@ -548,11 +551,19 @@ NdbOperation::receiveTCKEYREF( NdbApiSignal* aSignal)
theNdbCon->setOperationErrorCodeAbort(aSignal->readData(4));
if(theOperationType != ReadRequest || !theSimpleIndicator) // not simple read
- return theNdbCon->OpCompleteFailure(theNdbCon->m_abortOption);
-
- // Simple read is always ignore error
- return theNdbCon->OpCompleteFailure(IgnoreError);
-}//NdbOperation::receiveTCKEYREF()
+ return theNdbCon->OpCompleteFailure(ao);
+
+ /**
+ * If TCKEYCONF has arrived
+ * op has completed (maybe trans has completed)
+ */
+ if(theReceiver.m_expected_result_length)
+ {
+ return theNdbCon->OpCompleteFailure(AbortOnError);
+ }
+
+ return -1;
+}
void