Commit b8812c85 authored by unknown's avatar unknown
Browse files

ndb - add temporary tables to hugo

  and use it for testOperations/testTransactions


storage/ndb/test/include/NDBT_Test.hpp:
  Add support for temporary tables in hugo
storage/ndb/test/ndbapi/testOperations.cpp:
  Make testOperations use temporary tables
storage/ndb/test/ndbapi/testTransactions.cpp:
  Make testTransactions use temporary tables
storage/ndb/test/src/NDBT_Tables.cpp:
  Add support for temporary tables in hugo
storage/ndb/test/src/NDBT_Test.cpp:
  Add support for temporary tables in hugo
parent e4a398f1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -364,6 +364,9 @@ public:
  // Table create tweaks
  int createHook(Ndb*, NdbDictionary::Table&, int when);
  Vector<BaseString> m_tables_in_test;

  void setTemporaryTables(bool val);
  bool getTemporaryTables() const;
private:
  int executeOne(Ndb_cluster_connection&,
		 const char* _tabname, const char* testname = NULL);
@@ -390,6 +393,7 @@ private:
  bool runonce;
  const char* tsname;
  bool createAllTables;
  bool temporaryTables;
};


+4 −2
Original line number Diff line number Diff line
@@ -663,6 +663,8 @@ main(int argc, const char** argv){
  
  NDBT_TestSuite ts("testOperations");
  
  ts.setTemporaryTables(true);
  
  for(Uint32 i = 0; i < 12; i++)
  {
    if(false && (i == 6 || i == 8 || i == 10))
+2 −0
Original line number Diff line number Diff line
@@ -372,6 +372,8 @@ main(int argc, const char** argv){
  ndb_init();

  NDBT_TestSuite ts("testOperations");
  ts.setTemporaryTables(true);

  for(Uint32 i = 0; i<sizeof(matrix)/sizeof(matrix[0]); i++){
    NDBT_TestCaseImpl1 *pt = new NDBT_TestCaseImpl1(&ts, matrix[i].name, "");
    
+5 −0
Original line number Diff line number Diff line
@@ -1039,6 +1039,11 @@ NDBT_Tables::createTable(Ndb* pNdb, const char* _name, bool _temp,
	  j++;
	}
	j++;
	if (tmpTab.getTemporary())
	{
	  tmpIndx.setTemporary(true);
	  tmpIndx.setLogging(false);
	}
	if(pNdb->getDictionary()->createIndex(tmpIndx) != 0){
	  ndbout << pNdb->getDictionary()->getNdbError() << endl;
	  return NDBT_FAILED;
+22 −3
Original line number Diff line number Diff line
@@ -770,6 +770,7 @@ NDBT_TestSuite::NDBT_TestSuite(const char* pname):name(pname){
   diskbased = false;
   tsname = NULL;
   createAllTables = false;
   temporaryTables = false;
}


@@ -791,6 +792,14 @@ void NDBT_TestSuite::setCreateAllTables(bool _flag){
  createAllTables = _flag;
}

void NDBT_TestSuite::setTemporaryTables(bool val){
  temporaryTables = val;
}

bool NDBT_TestSuite::getTemporaryTables() const {
  return temporaryTables;
}

bool NDBT_TestSuite::timerIsOn(){
  return (timer != 0);
}
@@ -805,6 +814,7 @@ static int
g_create_hook(Ndb* ndb, NdbDictionary::Table& tab, int when, void* arg)
{
  NDBT_TestSuite* ts = (NDBT_TestSuite*)arg;
  
  return ts->createHook(ndb, tab, when);
}

@@ -942,14 +952,23 @@ int
NDBT_TestSuite::createHook(Ndb* ndb, NdbDictionary::Table& tab, int when)
{
  if (when == 0) {
    if (diskbased) {
      for (int i = 0; i < tab.getNoOfColumns(); i++) {
    if (diskbased) 
    {
      for (int i = 0; i < tab.getNoOfColumns(); i++) 
      {
        NdbDictionary::Column* col = tab.getColumn(i);
        if (! col->getPrimaryKey()) {
        if (! col->getPrimaryKey()) 
	{
          col->setStorageType(NdbDictionary::Column::StorageTypeDisk);
        }
      }
    }
    else if (temporaryTables)
    {
      tab.setTemporary(true);
      tab.setLogging(false);
    }
    
    if (tsname != NULL) {
      tab.setTablespace(tsname);
    }