⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testbasic.cpp

📁 mysql-5.0.22.tar.gz源码包
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 2, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 3, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 626);  }while(false);  hugoOps.closeTransaction(pNdb);    return result;}int runCommit630(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Commit transaction    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 630);  }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCommit_TryCommit626(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Commit transaction, TryCommit    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb, TryCommit) == 626);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Commit transaction, TryCommit    // Several operations in one transaction    // The insert is OK    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 2, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 3, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 4, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb, TryCommit) == 626);  }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCommit_TryCommit630(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);    do{    // Commit transaction, TryCommit    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.execute_Commit(pNdb, TryCommit) == 630);  }while(false);    hugoOps.closeTransaction(pNdb);    return result;}int runCommit_CommitAsMuchAsPossible626(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Commit transaction, CommitAsMuchAsPossible    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb, CommitAsMuchAsPossible) == 626);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Commit transaction, CommitAsMuchAsPossible    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 2, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 3, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.execute_Commit(pNdb, CommitAsMuchAsPossible) == 626);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);  } while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCommit_CommitAsMuchAsPossible630(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Commit transaction, CommitAsMuchAsPossible    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.pkDeleteRecord(pNdb, 2) == 0);    CHECK(hugoOps.execute_Commit(pNdb, CommitAsMuchAsPossible) == 630);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 2) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);  } while(false);  hugoOps.closeTransaction(pNdb);    return result;}int runNoCommit626(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // No commit transaction, readTuple    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Read) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 626);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // No commit transaction, readTupleExcluive    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 626);  }while(false);  hugoOps.closeTransaction(pNdb);    return result;}int runNoCommit630(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // No commit transaction    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 630);  }while(false);  hugoOps.closeTransaction(pNdb);    return result;}int runNoCommitRollback626(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // No commit transaction, rollback    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 626);    CHECK(hugoOps.execute_Rollback(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // No commit transaction, rollback    // Multiple operations    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 1, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 2, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 3, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.pkReadRecord(pNdb, 4, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 626);    CHECK(hugoOps.execute_Rollback(pNdb) == 0);  }while(false);  hugoOps.closeTransaction(pNdb);    return result;}int runNoCommitRollback630(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // No commit transaction, rollback    CHECK(hugoOps.startTransaction(pNdb) == 0);    CHECK(hugoOps.pkInsertRecord(pNdb, 1) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 630);    CHECK(hugoOps.execute_Rollback(pNdb) == 0);  }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runNoCommitAndClose(NDBT_Context* ctx, NDBT_Step* step){  int i, result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Read     CHECK(hugoOps.startTransaction(pNdb) == 0);      for (i = 0; i < 10; i++)      CHECK(hugoOps.pkReadRecord(pNdb, i, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);      // Update    CHECK(hugoOps.startTransaction(pNdb) == 0);      for (i = 0; i < 10; i++)      CHECK(hugoOps.pkUpdateRecord(pNdb, i) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);      // Delete    CHECK(hugoOps.startTransaction(pNdb) == 0);      for (i = 0; i < 10; i++)      CHECK(hugoOps.pkDeleteRecord(pNdb, i) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Try to insert, record should already exist    CHECK(hugoOps.startTransaction(pNdb) == 0);      for (i = 0; i < 10; i++)      CHECK(hugoOps.pkInsertRecord(pNdb, i) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 630);    CHECK(hugoOps.closeTransaction(pNdb) == 0);  }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCheckRollbackDelete(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Read value and save it for later    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 5) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.saveCopyOfRecord() == NDBT_OK);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Delete record 5    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkDeleteRecord(pNdb, 5) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);    // Check record is deleted    CHECK(hugoOps.pkReadRecord(pNdb, 5, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 626);    CHECK(hugoOps.execute_Rollback(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Check record is not deleted    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 5, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Check record is back to original value    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 5, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.compareRecordToCopy() == NDBT_OK);  }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCheckRollbackUpdate(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  int numRecords = 5;  do{        // Read value and save it for later    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 1, numRecords) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.verifyUpdatesValue(0) == NDBT_OK); // Update value 0    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Update  record 5    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkUpdateRecord(pNdb, 1, numRecords, 5) == 0);// Updates value 5    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);      // Check record is updated    CHECK(hugoOps.pkReadRecord(pNdb, 1, numRecords, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);    CHECK(hugoOps.verifyUpdatesValue(5) == NDBT_OK); // Updates value 5    CHECK(hugoOps.execute_Rollback(pNdb) == 0);    CHECK(hugoOps.closeTransaction(pNdb) == 0);    // Check record is back to original value    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 1, numRecords, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.verifyUpdatesValue(0) == NDBT_OK); // Updates value 0  }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCheckRollbackDeleteMultiple(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Read value and save it for later    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 5, 10) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.verifyUpdatesValue(0) == NDBT_OK);    CHECK(hugoOps.closeTransaction(pNdb) == 0);        Uint32 updatesValue = 0;    Uint32 j;    for(Uint32 i = 0; i<1; i++){      // Read  record 5 - 10      CHECK(hugoOps.startTransaction(pNdb) == 0);        CHECK(hugoOps.pkReadRecord(pNdb, 5, 10, NdbOperation::LM_Exclusive) == 0);      CHECK(hugoOps.execute_NoCommit(pNdb) == 0);            for(j = 0; j<10; j++){	// Update  record 5 - 10	updatesValue++;	CHECK(hugoOps.pkUpdateRecord(pNdb, 5, 10, updatesValue) == 0);	CHECK(hugoOps.execute_NoCommit(pNdb) == 0);	CHECK(hugoOps.pkReadRecord(pNdb, 5, 10, NdbOperation::LM_Exclusive) == 0);	CHECK(hugoOps.execute_NoCommit(pNdb) == 0);	CHECK(hugoOps.verifyUpdatesValue(updatesValue) == 0);      }                  for(j = 0; j<10; j++){	// Delete record 5 - 10 times	CHECK(hugoOps.pkDeleteRecord(pNdb, 5, 10) == 0);	CHECK(hugoOps.execute_NoCommit(pNdb) == 0);#if 0	// Check records are deleted	CHECK(hugoOps.pkReadRecord(pNdb, 5, 10, NdbOperation::LM_Exclusive) == 0);	CHECK(hugoOps.execute_NoCommit(pNdb) == 626);#endif	updatesValue++;	CHECK(hugoOps.pkInsertRecord(pNdb, 5, 10, updatesValue) == 0);	CHECK(hugoOps.execute_NoCommit(pNdb) == 0);		CHECK(hugoOps.pkReadRecord(pNdb, 5, 10, NdbOperation::LM_Exclusive) == 0);	CHECK(hugoOps.execute_NoCommit(pNdb) == 0);	CHECK(hugoOps.verifyUpdatesValue(updatesValue) == 0);      }      CHECK(hugoOps.pkDeleteRecord(pNdb, 5, 10) == 0);      CHECK(hugoOps.execute_NoCommit(pNdb) == 0);      // Check records are deleted      CHECK(hugoOps.pkReadRecord(pNdb, 5, 10, NdbOperation::LM_Exclusive) == 0);      CHECK(hugoOps.execute_NoCommit(pNdb) == 626);      CHECK(hugoOps.execute_Rollback(pNdb) == 0);            CHECK(hugoOps.closeTransaction(pNdb) == 0);    }        // Check records are not deleted    // after rollback    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 5, 10, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_Commit(pNdb) == 0);    CHECK(hugoOps.verifyUpdatesValue(0) == NDBT_OK);      }while(false);  hugoOps.closeTransaction(pNdb);  return result;}int runCheckImplicitRollbackDelete(NDBT_Context* ctx, NDBT_Step* step){  int result = NDBT_OK;  HugoOperations hugoOps(*ctx->getTab());  Ndb* pNdb = GETNDB(step);  do{    // Read  record 5    CHECK(hugoOps.startTransaction(pNdb) == 0);      CHECK(hugoOps.pkReadRecord(pNdb, 5, 1, NdbOperation::LM_Exclusive) == 0);    CHECK(hugoOps.execute_NoCommit(pNdb) == 0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -