summaryrefslogtreecommitdiff
path: root/ndb/tools
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2004-08-27 22:31:16 +0200
committerunknown <joreland@mysql.com>2004-08-27 22:31:16 +0200
commitfa5d6ac3b3c49f1dc64a5a87a3aa1a68433ab557 (patch)
tree700465d65734d48b5cf8696c2ca067ee2ca8b1b9 /ndb/tools
parent40358d1af92f226ec97adf1bdb4615a122ab08f3 (diff)
downloadmariadb-git-fa5d6ac3b3c49f1dc64a5a87a3aa1a68433ab557.tar.gz
Added 3 psuedo columns
Cleaned up code Changed ndb_select_all ndb/include/kernel/AttributeHeader.hpp: Added commit count to psuedo columns Added bit for psuedo columns ndb/include/kernel/GlobalSignalNumbers.h: Changed into READ_PSUEDO ndb/include/ndbapi/NdbDictionary.hpp: Added 3 psuedo columns ndb/include/ndbapi/NdbOperation.hpp: Added 3 psuedo columns ndb/src/kernel/blocks/dbacc/Dbacc.hpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dbacc/DbaccInit.cpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dblqh/DblqhInit.cpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp: Changed into READ_PSUEDO Added commit count ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp: Changed into READ_PSUEDO Added commit count ndb/src/ndbapi/NdbDictionary.cpp: Added 3 psuedo columns ndb/src/ndbapi/NdbDictionaryImpl.cpp: Added 3 psuedo columns ndb/src/ndbapi/NdbDictionaryImpl.hpp: Added 3 psuedo columns ndb/src/ndbapi/NdbOperation.cpp: Added 3 psuedo columns ndb/tools/select_count.cpp: Changed select_count into using new features
Diffstat (limited to 'ndb/tools')
-rw-r--r--ndb/tools/select_count.cpp38
1 files changed, 14 insertions, 24 deletions
diff --git a/ndb/tools/select_count.cpp b/ndb/tools/select_count.cpp
index 2c43af20e64..9037ba01c9d 100644
--- a/ndb/tools/select_count.cpp
+++ b/ndb/tools/select_count.cpp
@@ -129,50 +129,40 @@ select_count(Ndb* pNdb, const NdbDictionary::Table* pTab,
return NDBT_FAILED;
}
- NdbResultSet * rs;
- switch(lock){
- case UtilTransactions::SL_ReadHold:
- rs = pOp->readTuples(NdbScanOperation::LM_Read, 0, parallelism);
- break;
- case UtilTransactions::SL_Exclusive:
- rs = pOp->readTuples(NdbScanOperation::LM_Exclusive, 0, parallelism);
- break;
- case UtilTransactions::SL_Read:
- default:
- rs = pOp->readTuples(NdbScanOperation::LM_Dirty, 0, parallelism);
- }
-
+ NdbResultSet * rs = pOp->readTuples(NdbScanOperation::LM_Dirty);
if( rs == 0 ) {
ERR(pTrans->getNdbError());
pNdb->closeTransaction(pTrans);
return NDBT_FAILED;
}
- check = pOp->interpret_exit_ok();
+
+ check = pOp->interpret_exit_last_row();
if( check == -1 ) {
ERR(pTrans->getNdbError());
pNdb->closeTransaction(pTrans);
return NDBT_FAILED;
}
+ Uint32 tmp;
+ pOp->getValue(NdbDictionary::Column::ROW_COUNT, (char*)&tmp);
+
check = pTrans->execute(NoCommit);
if( check == -1 ) {
ERR(pTrans->getNdbError());
pNdb->closeTransaction(pTrans);
return NDBT_FAILED;
}
-
+
+ Uint64 row_count = 0;
int eof;
- int rows = 0;
- eof = rs->nextResult();
-
- while(eof == 0){
- rows++;
- eof = rs->nextResult();
+ while((eof = rs->nextResult(true)) == 0){
+ row_count += tmp;
}
+
if (eof == -1) {
const NdbError err = pTrans->getNdbError();
-
+
if (err.status == NdbError::TemporaryError){
pNdb->closeTransaction(pTrans);
NdbSleep_MilliSleep(50);
@@ -183,11 +173,11 @@ select_count(Ndb* pNdb, const NdbDictionary::Table* pTab,
pNdb->closeTransaction(pTrans);
return NDBT_FAILED;
}
-
+
pNdb->closeTransaction(pTrans);
if (count_rows != NULL){
- *count_rows = rows;
+ *count_rows = row_count;
}
return NDBT_OK;