summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2006-07-06 09:38:18 +0200
committerunknown <jonas@perch.ndb.mysql.com>2006-07-06 09:38:18 +0200
commit0890735c7a96d7dc425f1281ab3ca04a9ad7314d (patch)
tree4c32118ecf080cfa2db8a637ac109f87c9d33cbd /ndb
parent79bb70355fff517aa99223c501c9b367e239491d (diff)
downloadmariadb-git-0890735c7a96d7dc425f1281ab3ca04a9ad7314d.tar.gz
ndb - revert bug fix for bug#20442
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/ndbapi/NdbScanOperation.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/ndb/src/ndbapi/NdbScanOperation.cpp b/ndb/src/ndbapi/NdbScanOperation.cpp
index 6b587be688f..f14b5409ce8 100644
--- a/ndb/src/ndbapi/NdbScanOperation.cpp
+++ b/ndb/src/ndbapi/NdbScanOperation.cpp
@@ -1503,66 +1503,6 @@ NdbScanOperation::close_impl(TransporterFacade* tp, bool forceSend){
return -1;
}
- bool holdLock = false;
- if (theSCAN_TABREQ)
- {
- ScanTabReq * req = CAST_PTR(ScanTabReq, theSCAN_TABREQ->getDataPtrSend());
- holdLock = ScanTabReq::getHoldLockFlag(req->requestInfo);
- }
-
- /**
- * When using locks, force close of scan directly
- */
- if (holdLock && theError.code == 0 &&
- (m_sent_receivers_count + m_conf_receivers_count + m_api_receivers_count))
- {
- TransporterFacade * tp = TransporterFacade::instance();
- NdbApiSignal tSignal(theNdb->theMyRef);
- tSignal.setSignal(GSN_SCAN_NEXTREQ);
-
- Uint32* theData = tSignal.getDataPtrSend();
- Uint64 transId = theNdbCon->theTransactionId;
- theData[0] = theNdbCon->theTCConPtr;
- theData[1] = 1;
- theData[2] = transId;
- theData[3] = (Uint32) (transId >> 32);
-
- tSignal.setLength(4);
- int ret = tp->sendSignal(&tSignal, nodeId);
- if (ret)
- {
- setErrorCode(4008);
- return -1;
- }
- checkForceSend(forceSend);
-
- /**
- * If no receiver is outstanding...
- * set it to 1 as execCLOSE_SCAN_REP resets it
- */
- m_sent_receivers_count = m_sent_receivers_count ? m_sent_receivers_count : 1;
-
- while(theError.code == 0 && (m_sent_receivers_count + m_conf_receivers_count))
- {
- theNdb->theImpl->theWaiter.m_node = nodeId;
- theNdb->theImpl->theWaiter.m_state = WAIT_SCAN;
- int return_code = theNdb->receiveResponse(WAITFOR_SCAN_TIMEOUT);
- switch(return_code){
- case 0:
- break;
- case -1:
- setErrorCode(4008);
- case -2:
- m_api_receivers_count = 0;
- m_conf_receivers_count = 0;
- m_sent_receivers_count = 0;
- theNdbCon->theReleaseOnClose = true;
- return -1;
- }
- }
- return 0;
- }
-
/**
* Wait for outstanding
*/