mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
wl2126 - ndb - fix last unhandled part of read_multi_range
reading sorted multi_range with several range-scans BitKeeper/deleted/.del-NdbResultSet.hpp~e0042f4c18088ff6: Delete: ndb/include/ndbapi/NdbResultSet.hpp BitKeeper/deleted/.del-NdbResultSet.cpp~84d192cf3f42600d: Delete: ndb/src/ndbapi/NdbResultSet.cpp ndb/include/ndbapi/NdbApi.hpp: Remove NdbResultSet ndb/include/ndbapi/NdbIndexScanOperation.hpp: Remove NdbResultSet ndb/include/ndbapi/NdbScanOperation.hpp: Remove NdbResultSet ndb/src/ndbapi/Makefile.am: Remove NdbResultSet ndb/src/ndbapi/NdbConnection.cpp: Remove NdbResultSet ndb/src/ndbapi/NdbIndexOperation.cpp: Remove NdbResultSet ndb/src/ndbapi/NdbScanOperation.cpp: Remove NdbResultSet ndb/test/include/HugoOperations.hpp: Remove NdbResultSet ndb/test/ndbapi/ScanFunctions.hpp: Remove NdbResultSet ndb/test/ndbapi/ScanInterpretTest.hpp: Remove NdbResultSet ndb/test/ndbapi/bank/Bank.cpp: Remove NdbResultSet ndb/test/ndbapi/bank/BankLoad.cpp: Remove NdbResultSet ndb/test/ndbapi/slow_select.cpp: Remove NdbResultSet ndb/test/ndbapi/testBlobs.cpp: Remove NdbResultSet ndb/test/ndbapi/testDataBuffers.cpp: Remove NdbResultSet ndb/test/ndbapi/testDeadlock.cpp: Remove NdbResultSet ndb/test/ndbapi/testIndex.cpp: Remove NdbResultSet ndb/test/ndbapi/testOIBasic.cpp: Remove NdbResultSet ndb/test/ndbapi/testReadPerf.cpp: Remove NdbResultSet ndb/test/ndbapi/testScan.cpp: Remove NdbResultSet ndb/test/ndbapi/testScanPerf.cpp: Remove NdbResultSet ndb/test/src/HugoOperations.cpp: Remove NdbResultSet ndb/test/src/HugoTransactions.cpp: Remove NdbResultSet ndb/test/src/UtilTransactions.cpp: Remove NdbResultSet ndb/tools/delete_all.cpp: Remove NdbResultSet ndb/tools/select_all.cpp: Remove NdbResultSet ndb/tools/select_count.cpp: Remove NdbResultSet sql/ha_ndbcluster.cc: 1) Fix a = 3 -> a= 3 2) Impl. last part of wl2126 ordered "multi ordered scan"
This commit is contained in:
@ -198,7 +198,6 @@ run_scan(){
|
||||
NdbScanOperation * pOp = 0;
|
||||
NdbIndexScanOperation * pIOp = 0;
|
||||
NdbConnection * pTrans = 0;
|
||||
NdbResultSet * rs = 0;
|
||||
int check = 0;
|
||||
|
||||
for(int i = 0; i<iter; i++){
|
||||
@ -230,13 +229,13 @@ run_scan(){
|
||||
if(g_paramters[P_ACCESS].value == 0){
|
||||
pOp = pTrans->getNdbScanOperation(g_tablename);
|
||||
assert(pOp);
|
||||
rs = pOp->readTuples(lm, bat, par);
|
||||
pOp->readTuples(lm, bat, par);
|
||||
} else {
|
||||
if(g_paramters[P_RESET].value == 0 || pIOp == 0)
|
||||
{
|
||||
pOp= pIOp= pTrans->getNdbIndexScanOperation(g_indexname, g_tablename);
|
||||
bool ord = g_paramters[P_ACCESS].value == 2;
|
||||
rs = pIOp->readTuples(lm, bat, par, ord);
|
||||
pIOp->readTuples(lm, bat, par, ord);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -270,7 +269,7 @@ run_scan(){
|
||||
{
|
||||
int row = rand() % tot;
|
||||
pIOp->setBound((Uint32)0, NdbIndexScanOperation::BoundEQ, &row);
|
||||
pIOp->end_of_bound();
|
||||
pIOp->end_of_bound(i);
|
||||
}
|
||||
if(g_paramters[P_RESET].value == 2)
|
||||
goto execute;
|
||||
@ -279,7 +278,6 @@ run_scan(){
|
||||
}
|
||||
}
|
||||
assert(pOp);
|
||||
assert(rs);
|
||||
|
||||
switch(g_paramters[P_FILT].value){
|
||||
case 0: // All
|
||||
@ -323,10 +321,10 @@ execute:
|
||||
check = pTrans->execute(NoCommit);
|
||||
assert(check == 0);
|
||||
int fetch = g_paramters[P_FETCH].value;
|
||||
while((check = rs->nextResult(true)) == 0){
|
||||
while((check = pOp->nextResult(true)) == 0){
|
||||
do {
|
||||
rows++;
|
||||
} while(!fetch && ((check = rs->nextResult(false)) == 0));
|
||||
} while(!fetch && ((check = pOp->nextResult(false)) == 0));
|
||||
if(check == -1){
|
||||
err(pTrans->getNdbError());
|
||||
return -1;
|
||||
|
Reference in New Issue
Block a user