diff --git a/ndb/src/kernel/blocks/dbtc/Dbtc.hpp b/ndb/src/kernel/blocks/dbtc/Dbtc.hpp
index 501cec1f231..d4979ad39c6 100644
--- a/ndb/src/kernel/blocks/dbtc/Dbtc.hpp
+++ b/ndb/src/kernel/blocks/dbtc/Dbtc.hpp
@@ -235,7 +235,6 @@ public:
   enum ReturnSignal {
     RS_NO_RETURN = 0,
     RS_TCKEYCONF = 1,
-    RS_TCKEYREF = 2,
     RS_TC_COMMITCONF = 3,
     RS_TCROLLBACKCONF = 4,
     RS_TCROLLBACKREP = 5
@@ -699,7 +698,7 @@ public:
     UintR lqhkeyreqrec;
     AbortState abortState;
     Uint32 buddyPtr;
-    Uint8 unused;
+    Uint8 m_exec_flag;
     Uint8 unused2;
     Uint8 takeOverRec;
     Uint8 currentReplicaNo;
diff --git a/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp b/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
index 4f1e6cdd74c..051c6d7de27 100644
--- a/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+++ b/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
@@ -1688,15 +1688,8 @@ Dbtc::TCKEY_abort(Signal* signal, int place)
 
   case 59:{
     jam();
-    const TcKeyReq * const tcKeyReq = (TcKeyReq *)&signal->theData[0];
-    const Uint32 t1 = tcKeyReq->transId1;
-    const Uint32 t2 = tcKeyReq->transId2;
-    signal->theData[0] = apiConnectptr.p->ndbapiConnect;
-    signal->theData[1] = t1;
-    signal->theData[2] = t2;
-    signal->theData[3] = ZABORTINPROGRESS;
-    sendSignal(apiConnectptr.p->ndbapiBlockref, 
-	       GSN_TCROLLBACKREP, signal, 4, JBB);
+    terrorCode = ZABORTINPROGRESS;
+    abortErrorLab(signal);
     return;
   }
     
@@ -2217,6 +2210,8 @@ void Dbtc::initApiConnectRec(Signal* signal,
   UintR Ttransid0 = tcKeyReq->transId1;
   UintR Ttransid1 = tcKeyReq->transId2;
 
+  regApiPtr->m_exec_flag = 0;
+  regApiPtr->returncode = 0;
   regApiPtr->returnsignal = RS_TCKEYCONF;
   regApiPtr->firstTcConnect = RNIL;
   regApiPtr->lastTcConnect = RNIL;
@@ -2382,6 +2377,7 @@ void Dbtc::execTCKEYREQ(Signal* signal)
   bool isIndexOp = regApiPtr->isIndexOp;
   bool isIndexOpReturn = regApiPtr->indexOpReturn;
   regApiPtr->isIndexOp = false; // Reset marker
+  regApiPtr->m_exec_flag |= TexecFlag;
   switch (regApiPtr->apiConnectstate) {
   case CS_CONNECTED:{
     if (TstartFlag == 1 && getAllowStartTransaction() == true){
@@ -2390,6 +2386,7 @@ void Dbtc::execTCKEYREQ(Signal* signal)
       //---------------------------------------------------------------------
       jam();
       initApiConnectRec(signal, regApiPtr);
+      regApiPtr->m_exec_flag = TexecFlag;
     } else {
       if(getAllowStartTransaction() == true){
 	/*------------------------------------------------------------------
@@ -2432,6 +2429,7 @@ void Dbtc::execTCKEYREQ(Signal* signal)
 	//--------------------------------------------------------------------
         jam();
         initApiConnectRec(signal, regApiPtr);
+	regApiPtr->m_exec_flag = TexecFlag;
       } else if(TexecFlag) {
 	TCKEY_abort(signal, 59);
 	return;
@@ -5101,8 +5099,8 @@ void Dbtc::execTC_COMMITREQ(Signal* signal)
           // We will abort it instead.
           /*******************************************************************/
           regApiPtr->returnsignal = RS_NO_RETURN;
-          abort010Lab(signal);
           errorCode = ZTRANS_STATUS_ERROR;
+          abort010Lab(signal);
         }//if
       } else {
         jam();
@@ -5128,8 +5126,8 @@ void Dbtc::execTC_COMMITREQ(Signal* signal)
       // transaction. We will abort it instead.
       /***********************************************************************/
       regApiPtr->returnsignal = RS_NO_RETURN;
-      abort010Lab(signal);
       errorCode = ZPREPAREINPROGRESS;
+      abort010Lab(signal);
       break;
       
     case CS_START_COMMITTING:
@@ -5661,7 +5659,10 @@ void Dbtc::abortErrorLab(Signal* signal)
     return;
   }
   transP->returnsignal = RS_TCROLLBACKREP;
-  transP->returncode = terrorCode;
+  if(transP->returncode == 0){
+    jam();
+    transP->returncode = terrorCode;
+  }
   abort010Lab(signal);
 }//Dbtc::abortErrorLab()
 
@@ -5989,7 +5990,8 @@ void Dbtc::timeOutFoundLab(Signal* signal, Uint32 TapiConPtr)
   /*       FIND OUT WHAT WE NEED TO DO BASED ON THE STATE INFORMATION.*/
   /*------------------------------------------------------------------*/
   DEBUG("Time-out in state = " << apiConnectptr.p->apiConnectstate
-	<< " apiConnectptr.i = " << apiConnectptr.i);
+	<< " apiConnectptr.i = " << apiConnectptr.i 
+	<< " - exec: " << apiConnectptr.p->m_exec_flag);
   switch (apiConnectptr.p->apiConnectstate) {
   case CS_STARTED:
     if(apiConnectptr.p->lqhkeyreqrec == apiConnectptr.p->lqhkeyconfrec){
@@ -6003,11 +6005,8 @@ void Dbtc::timeOutFoundLab(Signal* signal, Uint32 TapiConPtr)
         jam();
         return;
       }//if
-      apiConnectptr.p->returnsignal = RS_NO_RETURN;
-    } else {
-      jam();
-      apiConnectptr.p->returnsignal = RS_TCROLLBACKREP;      
     }
+    apiConnectptr.p->returnsignal = RS_TCROLLBACKREP;      
     apiConnectptr.p->returncode = ZTIME_OUT_ERROR;
     abort010Lab(signal);
     return;
@@ -9385,9 +9384,9 @@ Dbtc::close_scan_req_send_conf(Signal* signal, ScanRecordPtr scanPtr){
     return;
   }
 
-  if(!apiFail){
+  Uint32 ref = apiConnectptr.p->ndbapiBlockref;
+  if(!apiFail && ref){
     jam();
-    Uint32 ref = apiConnectptr.p->ndbapiBlockref;
     ScanTabConf * conf = (ScanTabConf*)&signal->theData[0];
     conf->apiConnectPtr = apiConnectptr.p->ndbapiConnect;
     conf->requestInfo = ScanTabConf::EndOfData;
@@ -9395,7 +9394,7 @@ Dbtc::close_scan_req_send_conf(Signal* signal, ScanRecordPtr scanPtr){
     conf->transId2 = apiConnectptr.p->transid[1];
     sendSignal(ref, GSN_SCAN_TABCONF, signal, ScanTabConf::SignalLength, JBB);
   }
-
+  
   releaseScanResources(scanPtr);
   
   if(apiFail){
@@ -9926,48 +9925,52 @@ void Dbtc::releaseAbortResources(Signal* signal)
   apiConnectptr.p->apiConnectstate = CS_ABORTING;
   apiConnectptr.p->abortState = AS_IDLE;
 
-  bool ok = false;
-  Uint32 blockRef = apiConnectptr.p->ndbapiBlockref;
-  switch(apiConnectptr.p->returnsignal){
-  case RS_TCROLLBACKCONF:
+  if(apiConnectptr.p->m_exec_flag || apiConnectptr.p->apiFailState == ZTRUE){
     jam();
-    ok = true;
-    signal->theData[0] = apiConnectptr.p->ndbapiConnect;
-    signal->theData[1] = apiConnectptr.p->transid[0];
-    signal->theData[2] = apiConnectptr.p->transid[1];
-    sendSignal(blockRef, GSN_TCROLLBACKCONF, signal, 3, JBB);
-    break;
-  case RS_TCROLLBACKREP:{
-    jam();
-    ok = true;
-    TcRollbackRep * const tcRollbackRep = 
-      (TcRollbackRep *) signal->getDataPtr();
-    
-    tcRollbackRep->connectPtr = apiConnectptr.p->ndbapiConnect;
-    tcRollbackRep->transId[0] = apiConnectptr.p->transid[0];
-    tcRollbackRep->transId[1] = apiConnectptr.p->transid[1];
-    tcRollbackRep->returnCode = apiConnectptr.p->returncode;
-    sendSignal(blockRef, GSN_TCROLLBACKREP, signal, 
-	       TcRollbackRep::SignalLength, JBB);
-  }
-    break;
-  case RS_NO_RETURN:
-    jam();
-    ok = true;
-    break;
-  case RS_TCKEYCONF:
-  case RS_TCKEYREF:
-  case RS_TC_COMMITCONF:
-    break;
-  }    
-  if(!ok){
-    jam();
-    ndbout_c("returnsignal = %d", apiConnectptr.p->returnsignal);
-    sendSystemError(signal);
-  }//if
+    bool ok = false;
+    Uint32 blockRef = apiConnectptr.p->ndbapiBlockref;
+    ReturnSignal ret = apiConnectptr.p->returnsignal;
+    apiConnectptr.p->returnsignal = RS_NO_RETURN;
+    apiConnectptr.p->m_exec_flag = 0;
+    switch(ret){
+    case RS_TCROLLBACKCONF:
+      jam();
+      ok = true;
+      signal->theData[0] = apiConnectptr.p->ndbapiConnect;
+      signal->theData[1] = apiConnectptr.p->transid[0];
+      signal->theData[2] = apiConnectptr.p->transid[1];
+      sendSignal(blockRef, GSN_TCROLLBACKCONF, signal, 3, JBB);
+      break;
+    case RS_TCROLLBACKREP:{
+      jam();
+      ok = true;
+      TcRollbackRep * const tcRollbackRep = 
+	(TcRollbackRep *) signal->getDataPtr();
+      
+      tcRollbackRep->connectPtr = apiConnectptr.p->ndbapiConnect;
+      tcRollbackRep->transId[0] = apiConnectptr.p->transid[0];
+      tcRollbackRep->transId[1] = apiConnectptr.p->transid[1];
+      tcRollbackRep->returnCode = apiConnectptr.p->returncode;
+      sendSignal(blockRef, GSN_TCROLLBACKREP, signal, 
+		 TcRollbackRep::SignalLength, JBB);
+    }
+      break;
+    case RS_NO_RETURN:
+      jam();
+      ok = true;
+      break;
+    case RS_TCKEYCONF:
+    case RS_TC_COMMITCONF:
+      break;
+    }    
+    if(!ok){
+      jam();
+      ndbout_c("returnsignal = %d", apiConnectptr.p->returnsignal);
+      sendSystemError(signal);
+    }//if
 
+  }
   setApiConTimer(apiConnectptr.i, 0, __LINE__);
-  apiConnectptr.p->abortState = AS_IDLE;
   if (apiConnectptr.p->apiFailState == ZTRUE) {
     jam();
     handleApiFailState(signal, apiConnectptr.i);
diff --git a/ndb/src/ndbapi/NdbApiSignal.cpp b/ndb/src/ndbapi/NdbApiSignal.cpp
index d173a462020..4dc9bfb6fce 100644
--- a/ndb/src/ndbapi/NdbApiSignal.cpp
+++ b/ndb/src/ndbapi/NdbApiSignal.cpp
@@ -162,7 +162,7 @@ NdbApiSignal::setSignal(int aNdbSignalType)
       theTrace                = TestOrd::TraceAPI;
       theReceiversBlockNumber = DBTC;
       theVerId_signalNumber   = GSN_TCROLLBACKREQ;
-      theLength               = 5;
+      theLength               = 3;
     }
     break;
 
diff --git a/ndb/src/ndbapi/NdbScanOperation.cpp b/ndb/src/ndbapi/NdbScanOperation.cpp
index efc167cbc5e..edecb5855e1 100644
--- a/ndb/src/ndbapi/NdbScanOperation.cpp
+++ b/ndb/src/ndbapi/NdbScanOperation.cpp
@@ -665,6 +665,23 @@ void NdbScanOperation::closeScan()
       break;
     }
     
+    while(m_sent_receivers_count){
+      theNdb->theWaiter.m_node = nodeId;
+      theNdb->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;
+      }
+    }
+    
     if(m_api_receivers_count+m_conf_receivers_count){
       // Send close scan
       send_next_scan(0, true); // Close scan
diff --git a/ndb/test/include/HugoOperations.hpp b/ndb/test/include/HugoOperations.hpp
index 7295b72b18f..37e53e322c8 100644
--- a/ndb/test/include/HugoOperations.hpp
+++ b/ndb/test/include/HugoOperations.hpp
@@ -57,11 +57,10 @@ public:
   int pkDeleteRecord(Ndb*,
 		     int recordNo,
 		     int numRecords = 1);
-
-  int scanReadRecords(Ndb* pNdb, 
-		      Uint32 parallelism = 240, ScanLock lock = SL_Read);
-  int executeScanRead(Ndb*);
   
+  NdbResultSet* scanReadRecords(Ndb* pNdb, ScanLock lock = SL_Read);
+  int readTuples(NdbResultSet*);
+
   int execute_Commit(Ndb*, 
 		     AbortOption ao = AbortOnError);
   int execute_NoCommit(Ndb*,
@@ -104,46 +103,6 @@ protected:
   Vector<BaseString> savedRecords;
 private:
   NdbConnection* pTrans;
-
-  struct ScanTmp {
-    ScanTmp() { 
-      pTrans = 0; 
-      m_tmpRow = 0; 
-      m_delete = true; 
-      m_op = DONE;
-    }
-    ScanTmp(NdbConnection* a, NDBT_ResultRow* b){ 
-      pTrans = a; 
-      m_tmpRow = b; 
-      m_delete = true; 
-      m_op = DONE;
-    }
-    ScanTmp(const ScanTmp& org){
-      * this = org;
-    }
-    ScanTmp& operator=(const ScanTmp& org){
-      pTrans = org.pTrans; 
-      m_tmpRow = org.m_tmpRow; 
-      m_delete = org.m_delete;
-      m_op = org.m_op;
-      return * this;
-    }
-    
-    ~ScanTmp() { 
-      if(m_delete && pTrans)
-	pTrans->close(); 
-      if(m_delete && m_tmpRow)
-	delete m_tmpRow;
-    }
-    
-    NdbConnection * pTrans;
-    NDBT_ResultRow * m_tmpRow;
-    bool m_delete;
-    enum { DONE, READ, UPDATE, DELETE } m_op;
-  };
-  Vector<ScanTmp> m_scans;
-  int run(ScanTmp & tmp);
-
 };
 
 #endif
diff --git a/ndb/test/ndbapi/testScan.cpp b/ndb/test/ndbapi/testScan.cpp
index 55ee6bc2b78..97eb1691552 100644
--- a/ndb/test/ndbapi/testScan.cpp
+++ b/ndb/test/ndbapi/testScan.cpp
@@ -809,58 +809,11 @@ int runExecuteScanWithoutOpenScan(NDBT_Context* ctx, NDBT_Step* step){
 }
 
 int runOnlyOneOpBeforeOpenScan(NDBT_Context* ctx, NDBT_Step* step){
-  const NdbDictionary::Table*  pTab = ctx->getTab();
-  int records = ctx->getNumRecords();
-  int numFailed = 0;
-
-  ScanFunctions scanF(*pTab);
-  if (scanF.scanReadFunctions(GETNDB(step), 
-			      records, 
-			      6,
-			      ScanFunctions::OnlyOneOpBeforeOpenScan,
-			      false) == 0){
-    numFailed++;
-  }
-  if (scanF.scanReadFunctions(GETNDB(step), 
-			      records, 
-			      6,
-			      ScanFunctions::OnlyOneOpBeforeOpenScan,
-			      true) == 0){
-    numFailed++;
-  }
-  
-  if(numFailed > 0)
-    return NDBT_FAILED;
-  else
     return NDBT_OK;
-
 }
+
 int runOnlyOneScanPerTrans(NDBT_Context* ctx, NDBT_Step* step){
-  const NdbDictionary::Table*  pTab = ctx->getTab();
-  int records = ctx->getNumRecords();
-  int numFailed = 0;
-
-  ScanFunctions scanF(*pTab);
-  if (scanF.scanReadFunctions(GETNDB(step), 
-			      records, 
-			      6,
-			      ScanFunctions::OnlyOneScanPerTrans,
-			      false) == 0){
-    numFailed++;
-  }
-  if (scanF.scanReadFunctions(GETNDB(step), 
-			      records, 
-			      6,
-			      ScanFunctions::OnlyOneScanPerTrans,
-			      true) == 0){
-    numFailed++;
-  }
-    
-  if(numFailed > 0)
-    return NDBT_FAILED;
-  else
-    return NDBT_OK;
-
+  return NDBT_OK;
 }
 
 int runNoCloseTransaction(NDBT_Context* ctx, NDBT_Step* step){
diff --git a/ndb/test/ndbapi/testTimeout.cpp b/ndb/test/ndbapi/testTimeout.cpp
index ba6b53df9a9..d37c58f7ea6 100644
--- a/ndb/test/ndbapi/testTimeout.cpp
+++ b/ndb/test/ndbapi/testTimeout.cpp
@@ -206,7 +206,7 @@ int runTimeoutTrans2(NDBT_Context* ctx, NDBT_Step* step){
 
       // Expect that transaction has timed-out
       res = hugoOps.execute_Commit(pNdb);
-      if(op1 != 0 && res != 237){
+      if(op1 != 0 && res != 266){
 	g_err << stepNo << ": Fail: " << res << "!= 237, op1=" 
 	      << op1 << ", op2=" << op2 << endl;
 	return NDBT_FAILED;
@@ -299,9 +299,11 @@ int runBuddyTransNoTimeout(NDBT_Context* ctx, NDBT_Step* step){
       
       for (int i = 0; i < 10; i++){
 	// Perform buddy scan reads
-	CHECK(hugoOps.scanReadRecords(pNdb) == 0);
-	CHECK(hugoOps.executeScanRead(pNdb) == 0);
-
+	NdbResultSet* rs = 0;
+	CHECK((rs = hugoOps.scanReadRecords(pNdb)) != 0);
+	CHECK(hugoOps.execute_NoCommit(pNdb) == 0); 
+	CHECK(hugoOps.readTuples(rs) == 0);
+	
 	int sleep = myRandom48(maxSleep);   	
 	ndbout << "Sleeping for " << sleep << " milliseconds" << endl;
 	NdbSleep_MilliSleep(sleep);
diff --git a/ndb/test/ndbapi/testTransactions.cpp b/ndb/test/ndbapi/testTransactions.cpp
index 9ce928f8736..7b4bb60cdf7 100644
--- a/ndb/test/ndbapi/testTransactions.cpp
+++ b/ndb/test/ndbapi/testTransactions.cpp
@@ -204,11 +204,14 @@ runOp(HugoOperations & hugoOps,
   } else if(strcmp(op, "DELETE") == 0){
     C2(hugoOps.pkDeleteRecord(pNdb, 1, 1) == 0);      
   } else if(strcmp(op, "SCAN") == 0){
-    C2(hugoOps.scanReadRecords(pNdb) == 0);
+    abort();
+    //C2(hugoOps.scanReadRecords(pNdb) == 0);
   } else if(strcmp(op, "SCAN-HL") == 0){
-    C2(hugoOps.scanReadRecords(pNdb, 240, HugoOperations::SL_ReadHold) == 0);
+    abort();
+    //C2(hugoOps.scanReadRecords(pNdb, 240, HugoOperations::SL_ReadHold)== 0);
   } else if(strcmp(op, "SCAN-EX") == 0){
-    C2(hugoOps.scanReadRecords(pNdb, 240, HugoOperations::SL_Exclusive) == 0);
+    abort();
+    //C2(hugoOps.scanReadRecords(pNdb, 240, HugoOperations::SL_Exclusive)== 0);
   } else {
     g_err << __FILE__ << " - " << __LINE__ 
 	  << ": Unknown operation" << op << endl;
diff --git a/ndb/test/run-test/daily-basic-tests.txt b/ndb/test/run-test/daily-basic-tests.txt
new file mode 100644
index 00000000000..f64c1c3f8ba
--- /dev/null
+++ b/ndb/test/run-test/daily-basic-tests.txt
@@ -0,0 +1,767 @@
+# BASIC FUNCTIONALITY
+max-time: 500
+cmd: testBasic
+args: -n PkRead
+
+max-time: 500
+cmd: testBasic
+args: -n PkUpdate 
+
+max-time: 500
+cmd: testBasic
+args: -n PkDelete 
+
+max-time: 500
+cmd: testBasic
+args: -n PkInsert 
+
+max-time: 600
+cmd: testBasic
+args: -n UpdateAndRead 
+
+max-time: 500
+cmd: testBasic
+args: -n PkReadAndLocker T6 
+
+max-time: 500
+cmd: testBasic
+args: -n PkReadAndLocker2 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n PkReadUpdateAndLocker T6 
+
+max-time: 500
+cmd: testBasic
+args: -n ReadWithLocksAndInserts T6 
+
+max-time: 500
+cmd: testBasic
+args: -n PkInsertTwice T1 T6 T10 
+
+max-time: 1500
+cmd: testBasic
+args: -n Fill T1 
+
+max-time: 1500
+cmd: testBasic
+args: -n Fill T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommitSleep T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommit626 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommitAndClose T6 
+
+max-time: 500
+cmd: testBasic
+args: -n Commit626 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n CommitTry626 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n CommitAsMuch626 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommit626 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommitRollback626 T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n Commit630 T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n CommitTry630 T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n CommitAsMuch630 T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommit630 T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommitRollback630 T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n NoCommitAndClose T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n RollbackUpdate T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n RollbackDeleteMultiple T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n ImplicitRollbackDelete T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n CommitDelete T1 T6 
+
+max-time: 500
+cmd: testBasic
+args: -n RollbackNothing T1 T6 
+
+max-time: 500
+cmd: testBasicAsynch
+args: -n PkInsertAsynch 
+
+max-time: 500
+cmd: testBasicAsynch
+args: -n PkReadAsynch 
+
+max-time: 500
+cmd: testBasicAsynch
+args: -n PkUpdateAsynch 
+
+max-time: 500
+cmd: testBasicAsynch
+args: -n PkDeleteAsynch 
+
+max-time: 500
+cmd: testBasic
+args: -n MassiveRollback T1 T6 T13 
+
+max-time: 500
+cmd: testBasic
+args: -n MassiveRollback2 T1 T6 T13 
+
+#-m 500 1: testBasic -n ReadConsistency T6
+cmd: testTimeout
+args: -n DontTimeoutTransaction T1 
+
+cmd: testTimeout 
+args: -n DontTimeoutTransaction5 T1 
+
+cmd: testTimeout
+args: -n TimeoutTransaction T1 
+
+cmd: testTimeout 
+args: -n TimeoutTransaction5 T1 
+
+cmd: testTimeout
+args: -n BuddyTransNoTimeout T1 
+
+cmd: testTimeout
+args: -n BuddyTransNoTimeout5 T1 
+
+#
+# SCAN TESTS
+#
+max-time: 500
+cmd: testScan
+args: -n ScanRead16 
+
+max-time: 500
+cmd: testScan
+args: -n ScanRead240 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadCommitted240 
+
+max-time: 500
+cmd: testScan
+args: -n ScanUpdate 
+
+max-time: 500
+cmd: testScan
+args: -n ScanUpdate2 T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanDelete 
+
+max-time: 500
+cmd: testScan
+args: -n ScanDelete2 T10 
+
+max-time: 500
+cmd: testScan
+args: -n ScanUpdateAndScanRead T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadAndLocker T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadAndPkRead T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanRead488 -l 10 T6 
+
+max-time: 600
+cmd: testScan
+args: -n ScanRead40 -l 100 T2 
+
+max-time: 1800
+cmd: testScan
+args: -n ScanRead100 -l 100 T1 
+
+max-time: 600
+cmd: testScan
+args: -n ScanRead40 -l 100 T1 
+
+max-time: 1800
+cmd: testScan
+args: -n ScanRead40RandomTable -l 100 T1 
+
+max-time: 3600
+cmd: testScan
+args: -n ScanRead40RandomTable -l 1000 T2 
+
+max-time: 500
+cmd: testScan
+args: -n ScanWithLocksAndInserts T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadAbort T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadAbort15 T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadAbort240 T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanUpdateAbort16 T6 
+
+max-time: 3600
+cmd: testScan
+args: -n ScanReadRestart T1 T6 T13 
+
+max-time: 500
+cmd: testScan
+args: -n ScanUpdateRestart T6 
+
+max-time: 500
+cmd: testScan
+args: -n CheckGetValue T6 
+
+max-time: 500
+cmd: testScan
+args: -n CloseWithoutStop T6 
+
+max-time: 500
+cmd: testScan
+args: -n NextScanWhenNoMore T6 
+
+max-time: 500
+cmd: testScan
+args: -n ExecuteScanWithoutOpenScan T6 
+
+max-time: 500
+cmd: testScan
+args: -n OnlyOpenScanOnce T6 
+
+max-time: 500
+cmd: testScan
+args: -n OnlyOneOpInScanTrans T6 
+
+max-time: 500
+cmd: testScan
+args: -n OnlyOneOpBeforeOpenScan T6 
+
+max-time: 500
+cmd: testScan
+args: -n OnlyOneScanPerTrans T6 
+
+max-time: 500
+cmd: testScan
+args: -n NoCloseTransaction T6 
+
+max-time: 500
+cmd: testScan
+args: -n CheckInactivityTimeOut T6 
+
+max-time: 500
+cmd: testScan
+args: -n CheckInactivityBeforeClose T6 
+
+max-time: 500
+cmd: testScan
+args: -n CheckAfterTerror T6 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadError5021 T1 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReaderror5022 T1 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadError5023 T1 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadError5024 T1 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadError5025 T1 
+
+max-time: 500
+cmd: testScan
+args: -n ScanReadError5030 T1 
+
+# OLD FLEX
+max-time: 500
+cmd: flexBench
+args: -c 25 -t 10 
+
+max-time: 500
+cmd: flexHammer
+args: -r 5 -t 32 
+
+#
+# DICT TESTS
+max-time: 1500
+cmd: testDict
+args: -n CreateAndDrop 
+
+max-time: 1500
+cmd: testDict
+args: -n CreateAndDropWithData 
+
+max-time: 1500
+cmd: testDict
+args: -n CreateAndDropDuring T6 T10 
+
+max-time: 1500
+cmd: testDict
+args: -n CreateInvalidTables 
+
+max-time: 1500
+cmd: testDict
+args: -n CreateTableWhenDbIsFull T6 
+
+max-time: 1500
+cmd: testDict
+args: -n CreateMaxTables T6 
+
+max-time: 500
+cmd: testDict
+args: -n FragmentTypeSingle T1 
+
+max-time: 1500
+cmd: testDict
+args: -n FragmentTypeAll T1 T6 T7 T8 
+
+max-time: 1500
+cmd: testDict
+args: -n FragmentTypeAllLarge T1 T6 T7 T8 
+
+max-time: 1500
+cmd: testDict
+args: -n TemporaryTables T1 T6 T7 T8 
+
+#
+# TEST NDBAPI
+#
+max-time: 500
+cmd: testDataBuffers
+args: 
+
+# Testsuite: testNdbApi
+# Number of tests: 5
+max-time: 500
+cmd: testNdbApi
+args: -n MaxNdb T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n MaxTransactions T1 T6 T7 T8 T13 
+
+max-time: 500
+cmd: testNdbApi
+args: -n MaxOperations T1 T6 T7 T8 T13 
+
+max-time: 500
+cmd: testNdbApi
+args: -n MaxGetValue T1 T6 T7 T8 T13 
+
+max-time: 500
+cmd: testNdbApi
+args: -n MaxEqual 
+
+max-time: 500
+cmd: testNdbApi
+args: -n DeleteNdb T1 T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n WaitUntilReady T1 T6 T7 T8 T13 
+
+max-time: 500
+cmd: testNdbApi
+args: -n GetOperationNoTab T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n NdbErrorOperation T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n MissingOperation T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n GetValueInUpdate T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n UpdateWithoutKeys T6 
+
+max-time: 500
+cmd: testNdbApi
+args: -n UpdateWithoutValues T6 
+
+max-time: 500
+cmd: testInterpreter
+args: T1 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadReadEx 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadInsert 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadUpdate 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadDelete 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadReadEx 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadInsert 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadUpdate 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadDelete 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExReadEx 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExInsert 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExUpdate 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExDelete 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertReadEx 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertInsert 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertUpdate 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertDelete 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateReadEx 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateInsert 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateUpdate 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateDelete 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteReadEx 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteInsert 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteUpdate 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteDelete 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadSimpleRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadDirtyRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadSimpleRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n FReadDirtyRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExSimpleRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n ReadExDirtyRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertSimpleRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n InsertDirtyRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateSimpleRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n UpdateDirtyRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteSimpleRead 
+
+max-time: 1500
+cmd: testOperations
+args: -n DeleteDirtyRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadReadEx 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadInsert 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadUpdate 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadDelete 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExReadEx 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExInsert 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExUpdate 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExDelete 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertReadEx 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertInsert 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertUpdate 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertDelete 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateReadEx 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateInsert 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateUpdate 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateDelete 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteReadEx 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteInsert 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteUpdate 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteDelete 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadSimpleRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadDirtyRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExSimpleRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n ReadExDirtyRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertSimpleRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n InsertDirtyRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateSimpleRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n UpdateDirtyRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteSimpleRead 
+
+max-time: 1500
+cmd: testTransactions
+args: -n DeleteDirtyRead 
+
+max-time: 1500
+cmd: testRestartGci
+args: T6 
+
+max-time: 300
+cmd: testBlobs
+args:
+
diff --git a/ndb/test/run-test/daily-devel-tests.txt b/ndb/test/run-test/daily-devel-tests.txt
new file mode 100644
index 00000000000..e967de2aea3
--- /dev/null
+++ b/ndb/test/run-test/daily-devel-tests.txt
@@ -0,0 +1,236 @@
+#
+# INDEX
+#
+max-time: 1500
+cmd: testIndex
+args: -n CreateAll 
+
+#-m 7200 1: testIndex -n InsertDeleteGentle T7
+max-time: 3600
+cmd: testIndex
+args: -n InsertDelete T1 T10 
+
+#-m 3600 1: testIndex -n CreateLoadDropGentle T7
+max-time: 3600
+cmd: testIndex
+args: -n CreateLoadDrop T1 T10 
+
+#
+# BACKUP
+#
+max-time: 600
+cmd: testBackup
+args: -n BackupOne 
+
+max-time: 600
+cmd: testBackup
+args: -n BackupBank T6 
+
+#
+# MGMAPI AND MGSRV
+#
+max-time: 1800
+cmd: testMgm
+args: -n SingleUserMode T1 
+
+#
+#
+# SYSTEM RESTARTS
+#
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR1 T1 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR1 T6 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR1 T7 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR1 T8 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR2 T1 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR2 T6 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR2 T7 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR_UNDO T1 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR_UNDO T6 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR_UNDO T7 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR_UNDO T8 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR3 T6 
+
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR4 T6 
+
+#
+max-time: 1500
+cmd: testSystemRestart
+args: -n SR_FULLDB T1 
+
+#
+# NODE RESTARTS
+#
+max-time: 2500
+cmd: testNodeRestart
+args: -n NoLoad T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n PkRead T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -l 1 -n PkReadPkUpdate 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -l 1 -n ReadUpdateScan 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n Terror T6 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n FullDb T6 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartRandomNode T6 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartRandomNodeError T6 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartRandomNodeInitial T6 T13 
+
+max-time: 3600
+cmd: testNodeRestart
+args: -l 1 -n RestartNFDuringNR T6 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartMasterNodeError T6 T8 T13 
+
+max-time: 3600
+cmd: testNodeRestart
+args: -n RestartNodeDuringLCP T6 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n TwoNodeFailure T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n TwoMasterNodeFailure T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n FiftyPercentFail T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartAllNodes T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartAllNodesAbort T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n RestartAllNodesError9999 T6 T8 T13 
+
+max-time: 2500
+cmd: testNodeRestart
+args: -n FiftyPercentStopAndWait T6 T8 T13 
+
+max-time: 500
+cmd: testNodeRestart
+args: -n StopOnError T1 
+
+#
+max-time: 2500
+cmd: testIndex
+args: -n NFNR1 T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n NFNR2 T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n NFNR3 T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n BuildDuring T6 
+
+max-time: 2500
+cmd: testIndex
+args: -l 2 -n SR1 T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n NFNR1_O T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n NFNR2_O T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n NFNR3_O T6 T13 
+
+max-time: 2500
+cmd: testIndex
+args: -n BuildDuring_O T6 
+
+max-time: 2500
+cmd: testIndex
+args: -l 2 -n SR1_O T6 T13 
+
+max-time: 500
+cmd: testIndex
+args: -n MixedTransaction T1 
+
+max-time: 2500
+cmd: testDict
+args: -n NF1 T1 T6 T13 
+
+max-time: 2500
+cmd: test_event
+args: -n BasicEventOperation T1 T6 
+
+max-time: 2500
+cmd: testOIBasic
+args: 
+
diff --git a/ndb/test/src/HugoOperations.cpp b/ndb/test/src/HugoOperations.cpp
index f4b814adee2..d5dbf1388d1 100644
--- a/ndb/test/src/HugoOperations.cpp
+++ b/ndb/test/src/HugoOperations.cpp
@@ -292,91 +292,61 @@ int HugoOperations::pkDeleteRecord(Ndb* pNdb,
   return NDBT_OK;
 }
 
-int HugoOperations::scanReadRecords(Ndb* pNdb, 
-				    Uint32 parallelism, ScanLock lock){
-
-#ifdef JONAS_NOT_DONE
-  NdbConnection * pCon = pNdb->hupp(pTrans);
+NdbResultSet*
+HugoOperations::scanReadRecords(Ndb* pNdb, ScanLock lock){
+  
   NDBT_ResultRow * m_tmpRow = new NDBT_ResultRow(tab);
-  ScanTmp tmp(pCon, m_tmpRow);
-  tmp.m_op = ScanTmp::READ;
 
-  NdbOperation* pOp = pCon->getNdbOperation(tab.getName());	
+  NdbScanOperation* pOp = pTrans->getNdbScanOperation(tab.getName());	
   if (pOp == NULL) {
-    ERR(pCon->getNdbError());
-    return NDBT_FAILED;
+    ERR(pTrans->getNdbError());
+    return 0;
   }
   
+
   int check = 0;
+  NdbResultSet * rs = 0;
   switch(lock){
   case SL_ReadHold:
-    check = pOp->openScanReadHoldLock(parallelism);
+    rs = pOp->readTuples(NdbScanOperation::LM_Read, 1, 1);
     break;
   case SL_Exclusive:
-    check = pOp->openScanExclusive(parallelism);
+    rs = pOp->readTuples(NdbScanOperation::LM_Exclusive, 1, 1);
     break;
   case SL_Read:
   default:
-    check = pOp->openScanRead(parallelism);
+    rs = pOp->readTuples(NdbScanOperation::LM_Dirty, 1, 1);
   }
   
-  if( check == -1 ) {
-    ERR(pCon->getNdbError());
-    return NDBT_FAILED;
+  if( rs == 0) {
+    ERR(pTrans->getNdbError());
+    return 0;
   }
   
   check = pOp->interpret_exit_ok();
   if( check == -1 ) {
-    ERR(pCon->getNdbError());
-    return NDBT_FAILED;
+    ERR(pTrans->getNdbError());
+    return 0;
   }
   
   // Define attributes to read  
   for(int a = 0; a<tab.getNoOfColumns(); a++){
     if((m_tmpRow->attributeStore(a) = 
 	pOp->getValue(tab.getColumn(a)->getName())) == 0) {
-      ERR(pCon->getNdbError());
-      return NDBT_FAILED;
+      ERR(pTrans->getNdbError());
+      return 0;
     }
   } 
-
-  check = tmp.pTrans->executeScan();   
-  if( check == -1 ) {
-    NdbError err = tmp.pTrans->getNdbError();
-    ERR(err);
-    return err.code;
-  }
-
-  tmp.m_delete = false;
-  m_scans.push_back(tmp);
-
-  return 0;
-#endif
+  return rs;
 }
 
-int HugoOperations::executeScanRead(Ndb* pNdb){
-
-  int check = 0;
-  for(Uint32 i = 0; i<m_scans.size(); i++){
-    ScanTmp & tmp = m_scans[i];
-    check = run(tmp);
-    if(check != 0){
-      return check;
-    }
+int
+HugoOperations::readTuples(NdbResultSet* rs){
+  int res = 0;
+  while((res = rs->nextResult()) == 0){
   }
-  while(m_scans.size() > 0){
-    ScanTmp & tmp = m_scans[m_scans.size() - 1];
-    if(tmp.m_op != ScanTmp::DONE)
-      abort();
-    
-    tmp.pTrans->close();
-    delete tmp.m_tmpRow;
-    m_scans.erase(m_scans.size() - 1);
-  }
-  if(check != 0){
-    return check;
-  }
-  
+  if(res != 1)
+    return NDBT_FAILED;
   return NDBT_OK;
 }
 
@@ -384,19 +354,6 @@ int HugoOperations::execute_Commit(Ndb* pNdb,
 				   AbortOption eao){
 
   int check = 0;
-  while(m_scans.size() > 0){
-    ScanTmp & tmp = m_scans[m_scans.size() - 1];
-    if(tmp.m_op != ScanTmp::DONE)
-      abort();
-    
-    tmp.pTrans->close();
-    delete tmp.m_tmpRow;
-    m_scans.erase(m_scans.size() - 1);
-  }
-  if(check != 0){
-    return check;
-  }
-  
   check = pTrans->execute(Commit, eao);   
 
   if( check == -1 ) {
@@ -414,54 +371,9 @@ int HugoOperations::execute_Commit(Ndb* pNdb,
   return NDBT_OK;
 }
 
-int
-HugoOperations::run(ScanTmp & tmp){
-#if JONAS_NOT_DONE
-  int count = 0;
-  if(tmp.m_op == ScanTmp::DONE)
-    abort();
-
-  int eof = tmp.pTrans->nextScanResult(true) ;
-  while(eof == 0){
-    count++;
-    switch(tmp.m_op){
-    case ScanTmp::READ:
-    case ScanTmp::UPDATE:
-    case ScanTmp::DELETE:
-      break;
-    case ScanTmp::DONE:
-      abort();
-    }
-    rows.push_back(tmp.m_tmpRow->clone());
-    eof = tmp.pTrans->nextScanResult(false);
-  }
-
-  tmp.m_op = ScanTmp::DONE;
-  if (eof == -1) {
-    deallocRows();
-    NdbError err = tmp.pTrans->getNdbError();
-    ERR(err);
-    return err.code;
-  }    
-
-  if(count == 0)
-    return 626;
-#endif
-
-  return 0;
-}
-
 int HugoOperations::execute_NoCommit(Ndb* pNdb, AbortOption eao){
 
   int check;
-  for(Uint32 i = 0; i<m_scans.size(); i++){
-    ScanTmp & tmp = m_scans[i];
-    check = run(tmp);
-    if(check != 0){
-      return check;
-    }
-  }
-
   check = pTrans->execute(NoCommit, eao);   
 
   if( check == -1 ) {
@@ -701,10 +613,6 @@ HugoOperations::refresh() {
   NdbConnection* t = getTransaction(); 
   if(t)
     t->refresh();
-  for(Uint32 i = 0; i<m_scans.size(); i++){
-    if(m_scans[i].pTrans)
-      m_scans[i].pTrans->refresh();
-  }
 }
 
 int HugoOperations::indexReadRecords(Ndb*, const char * idxName, int recordNo,