List:Commits« Previous MessageNext Message »
From:Jonathan Miller Date:February 1 2008 8:51pm
Subject:bk commit into 5.1 tree (jmiller:1.2669)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of jmiller.  When jmiller does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-02-01 13:51:04-06:00, jmiller@stripped +1 -0
  NdbRepStress.cpp:
    Updated with new support function from Magnus push to dbutil

  storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp@stripped, 2008-02-01 13:39:53-06:00,
jmiller@stripped +29 -51
    Updated with new support function from Magnus push to dbutil

diff -Nrup a/storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp
b/storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp
--- a/storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp	2008-01-09 12:01:18 -06:00
+++ b/storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp	2008-02-01 13:39:53 -06:00
@@ -58,14 +58,13 @@ syncSlaveWithMaster()
      know when the slave has caught up
   */
 
-  MYSQL_RES * result;
-  MYSQL_ROW   row;
+  SqlResultSet result;
   unsigned int masterEpoch = 0;
   unsigned int slaveEpoch = 0;
   unsigned int slaveEpochOld = 0;
   int maxLoops = 100;
   int loopCnt = 0;
-
+  
   //Create a DbUtil object for the master
   DbUtil master("mysql","");
 
@@ -75,16 +74,13 @@ syncSlaveWithMaster()
     return NDBT_FAILED;
   } 
 
-  //Get max epoch from master
-  if(master.doQuery("SELECT MAX(epoch) FROM mysql.ndb_binlog_index"))
+    //Get max epoch from master
+  if(master.doQuery("SELECT MAX(epoch) FROM mysql.ndb_binlog_index", result))
   {
     return NDBT_FAILED;
   }
-  result = mysql_use_result(master.getMysql());
-  row    = mysql_fetch_row(result);
-  masterEpoch = atoi(row[0]);
-  mysql_free_result(result);
-
+  masterEpoch = result.columnAsInt("epoch");
+  
   /*
      Now we will pull current epoch from slave. If not the
      same as master, we will continue to retrieve the epoch
@@ -103,15 +99,12 @@ syncSlaveWithMaster()
 
   while(slaveEpoch != masterEpoch && loopCnt < maxLoops)
   {
-    if(slave.doQuery("SELECT epoch FROM mysql.ndb_apply_status"))
+    if(slave.doQuery("SELECT epoch FROM mysql.ndb_apply_status",result))
     {
       return NDBT_FAILED;
     }
-    result = mysql_use_result(slave.getMysql());
-    row    = mysql_fetch_row(result);
-    slaveEpoch = atoi(row[0]);
-    mysql_free_result(result);
-
+    slaveEpoch = result.columnAsInt("epoch");
+   
     if(slaveEpoch != slaveEpochOld)
     {
       slaveEpochOld = slaveEpoch;
@@ -135,17 +128,15 @@ syncSlaveWithMaster()
 }
 
 int
-verifySlaveLoad(BaseString *table)
+verifySlaveLoad(BaseString &table)
 {
-  BaseString  sqlStm;
+  //BaseString  sqlStm;
   BaseString  db;
-  MYSQL_RES * result;
-  MYSQL_ROW   row;
   unsigned int masterCount = 0;
   unsigned int slaveCount  = 0;
  
   db.assign("TEST_DB");
-  sqlStm.assfmt("SELECT COUNT(*) FROM %s", table);
+  //sqlStm.assfmt("SELECT COUNT(*) FROM %s", table);
 
   //First thing to do is sync slave
   if(syncSlaveWithMaster())
@@ -163,15 +154,11 @@ verifySlaveLoad(BaseString *table)
     return NDBT_FAILED;
   }
 
-  if(master.doQuery(sqlStm.c_str()))
+  if((masterCount = master.selectCountTable(table.c_str())) == 0 )
   {
     return NDBT_FAILED;
   }
-  result = mysql_use_result(master.getMysql());
-  row    = mysql_fetch_row(result);
-  masterCount = atoi(row[0]);
-  mysql_free_result(result);
-
+  
   //Create a DB Object for slave
   DbUtil slave(db.c_str(),".slave");
 
@@ -181,15 +168,11 @@ verifySlaveLoad(BaseString *table)
     return NDBT_FAILED;
   }
 
-  if(slave.doQuery(sqlStm.c_str()))
+  if((slaveCount = slave.selectCountTable(table.c_str())) == 0 )
   {
     return NDBT_FAILED;
   }
-  result = mysql_use_result(slave.getMysql());
-  row    = mysql_fetch_row(result);
-  slaveCount = atoi(row[0]);
-  mysql_free_result(result);
-
+  
   if(slaveCount != masterCount)
   {
     g_err << "Verify Load -> Slave Count != Master Count "
@@ -245,10 +228,9 @@ dropTEST_DB(NDBT_Context* ctx, NDBT_Step
 }
 
 int
-verifySlave(BaseString& sqlStm, BaseString& db)
+verifySlave(BaseString& sqlStm, BaseString& db, BaseString& column)
 {
-  MYSQL_RES*  resource;
-  MYSQL_ROW   row;
+  SqlResultSet result;
   float       masterSum;
   float       slaveSum;
 
@@ -269,30 +251,24 @@ verifySlave(BaseString& sqlStm, BaseStri
     return NDBT_FAILED;
   }
 
-  if(master.doQuery(sqlStm.c_str()) != NDBT_OK)
+  if(master.doQuery(sqlStm.c_str(),result) != NDBT_OK)
   {
     return NDBT_FAILED;
   }
-  resource = mysql_use_result(master.getMysql());
-  row = mysql_fetch_row(resource);
-  masterSum = atoi(row[0]);
-  mysql_free_result(resource);
-
+  masterSum = result.columnAsInt(column.c_str());
+  
   //Login to slave
   if (!slave.connect())
   {
     return NDBT_FAILED;
   }
 
-  if(slave.doQuery(sqlStm.c_str()) != NDBT_OK)
+  if(slave.doQuery(sqlStm.c_str(),result) != NDBT_OK)
   {
      return NDBT_FAILED;
   }
-  resource = mysql_use_result(slave.getMysql());
-  row = mysql_fetch_row(resource);
-  slaveSum = atoi(row[0]);
-  mysql_free_result(resource);
-
+  slaveSum = result.columnAsInt(column.c_str());
+  
   if(masterSum != slaveSum)
   {
     g_err << "VerifySlave -> masterSum != slaveSum..." << endl;
@@ -364,7 +340,7 @@ createTable_rep1(NDBT_Context* ctx, NDBT
     return NDBT_FAILED;
   }
 
-  if(verifySlaveLoad(&table)!= NDBT_OK)
+  if(verifySlaveLoad(table)!= NDBT_OK)
   {
     g_err << "Create Table -> Failed on verify slave load!" 
           << endl;
@@ -429,11 +405,13 @@ verifySlave_rep1(NDBT_Context* ctx, NDBT
 {
   BaseString sql;
   BaseString db;
+  BaseString column;
 
   sql.assign("SELECT SUM(c3) FROM rep1");
   db.assign("TEST_DB");
+  column.assign("c3");
 
-  if (verifySlave(sql,db) != NDBT_OK)
+  if (verifySlave(sql,db,column) != NDBT_OK)
     return NDBT_FAILED;
   return NDBT_OK;
 }
@@ -452,7 +430,7 @@ verifySlave_rep1(NDBT_Context* ctx, NDBT
  dropTEST_DB() 
  {Drops TEST_DB database on master} 
 
- verifySlave(BaseString& sql, BaseSting& db) 
+ verifySlave(BaseString& sql, BaseSting& db, BaseSting& column) 
  {The SQL statement must sum a column and will verify
   that the sum of the column is equal on master & slave}
 */
Thread
bk commit into 5.1 tree (jmiller:1.2669)Jonathan Miller1 Feb