summaryrefslogtreecommitdiff
path: root/ndb/test/ndbapi
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2005-05-26 22:04:50 +0200
committerunknown <joreland@mysql.com>2005-05-26 22:04:50 +0200
commit0ea67b0dd43f39ec06792c4ba96837a8b444553e (patch)
tree80b1c9546fca07963d2fd3ea46a06c1c0dcb0252 /ndb/test/ndbapi
parent65a6513a1f74e3106004f68517c40996f54d062a (diff)
downloadmariadb-git-0ea67b0dd43f39ec06792c4ba96837a8b444553e.tar.gz
bug#10669 - ndb read wo/ get value
add dummy getvalue ndb/src/ndbapi/NdbOperationExec.cpp: Add dummy get value of NDB$FRAGMENT if dirty read wo/ get values ndb/test/ndbapi/testNdbApi.cpp: Test scans as well
Diffstat (limited to 'ndb/test/ndbapi')
-rw-r--r--ndb/test/ndbapi/testNdbApi.cpp64
1 files changed, 48 insertions, 16 deletions
diff --git a/ndb/test/ndbapi/testNdbApi.cpp b/ndb/test/ndbapi/testNdbApi.cpp
index fe03c8eb09e..da114667922 100644
--- a/ndb/test/ndbapi/testNdbApi.cpp
+++ b/ndb/test/ndbapi/testNdbApi.cpp
@@ -884,25 +884,16 @@ int runReadWithoutGetValue(NDBT_Context* ctx, NDBT_Step* step){
HugoOperations hugoOps(*pTab);
- Ndb* pNdb = new Ndb(&ctx->m_cluster_connection, "TEST_DB");
- if (pNdb == NULL){
- ndbout << "pNdb == NULL" << endl;
- return NDBT_FAILED;
- }
- if (pNdb->init()){
- ERR(pNdb->getNdbError());
- delete pNdb;
- return NDBT_FAILED;
- }
+ Ndb* pNdb = GETNDB(step);
+ Uint32 lm;
for(Uint32 cm= 0; cm < 2; cm++)
{
- for(Uint32 lm= 0; lm <= NdbOperation::LM_CommittedRead; lm++)
+ for(lm= 0; lm <= NdbOperation::LM_CommittedRead; lm++)
{
NdbConnection* pCon = pNdb->startTransaction();
if (pCon == NULL){
pNdb->closeTransaction(pCon);
- delete pNdb;
return NDBT_FAILED;
}
@@ -910,14 +901,12 @@ int runReadWithoutGetValue(NDBT_Context* ctx, NDBT_Step* step){
if (pOp == NULL){
ERR(pCon->getNdbError());
pNdb->closeTransaction(pCon);
- delete pNdb;
return NDBT_FAILED;
}
if (pOp->readTuple((NdbOperation::LockMode)lm) != 0){
pNdb->closeTransaction(pCon);
ERR(pOp->getNdbError());
- delete pNdb;
return NDBT_FAILED;
}
@@ -926,7 +915,6 @@ int runReadWithoutGetValue(NDBT_Context* ctx, NDBT_Step* step){
if(hugoOps.equalForAttr(pOp, a, 1) != 0){
ERR(pCon->getNdbError());
pNdb->closeTransaction(pCon);
- delete pNdb;
return NDBT_FAILED;
}
}
@@ -946,7 +934,51 @@ int runReadWithoutGetValue(NDBT_Context* ctx, NDBT_Step* step){
pNdb->closeTransaction(pCon);
}
}
- delete pNdb;
+
+ /**
+ * Now test scans
+ */
+ for(lm= 0; lm <= NdbOperation::LM_CommittedRead; lm++)
+ {
+ NdbConnection* pCon = pNdb->startTransaction();
+ if (pCon == NULL){
+ pNdb->closeTransaction(pCon);
+ return NDBT_FAILED;
+ }
+
+ NdbScanOperation* pOp = pCon->getNdbScanOperation(pTab->getName());
+ if (pOp == NULL){
+ ERR(pCon->getNdbError());
+ pNdb->closeTransaction(pCon);
+ return NDBT_FAILED;
+ }
+
+ NdbResultSet *rs;
+ if ((rs = pOp->readTuples((NdbOperation::LockMode)lm)) == 0){
+ pNdb->closeTransaction(pCon);
+ ERR(pOp->getNdbError());
+ return NDBT_FAILED;
+ }
+
+
+ // Dont' call any getValues
+
+ // Execute should work
+ int check = pCon->execute(NoCommit);
+ if (check == 0){
+ ndbout << "execute worked" << endl;
+ } else {
+ ERR(pCon->getNdbError());
+ result = NDBT_FAILED;
+ }
+
+ int res;
+ while((res = rs->nextResult()) == 0);
+ pNdb->closeTransaction(pCon);
+
+ if(res != 1)
+ result = NDBT_FAILED;
+ }
return result;
}