From aa6400a356b64f9f3e2b0dd1a89174bfaab23d9b Mon Sep 17 00:00:00 2001
From: "jonas@perch.ndb.mysql.com" <>
Date: Wed, 4 Jan 2006 11:38:58 +0100
Subject: [PATCH] ndb - Make testDatabuffer clean up tables

---
 ndb/test/ndbapi/testDataBuffers.cpp | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/ndb/test/ndbapi/testDataBuffers.cpp b/ndb/test/ndbapi/testDataBuffers.cpp
index 03d52252334..27e241fa87a 100644
--- a/ndb/test/ndbapi/testDataBuffers.cpp
+++ b/ndb/test/ndbapi/testDataBuffers.cpp
@@ -254,12 +254,6 @@ testcase(int flag)
     ndbout << "tab=" << tab << " cols=" << attrcnt
 	<< " size max=" << smax << " tot=" << stot << endl;
 
-    ndb = new Ndb("TEST_DB");
-    if (ndb->init() != 0)
-	return ndberror("init");
-    if (ndb->waitUntilReady(30) < 0)
-	return ndberror("waitUntilReady");
-
     if ((tcon = NdbSchemaCon::startSchemaTrans(ndb)) == 0)
 	return ndberror("startSchemaTransaction");
     if ((top = tcon->getNdbSchemaOp()) == 0)
@@ -541,7 +535,6 @@ testcase(int flag)
 	    return ndberror("key %d not found", k);
     ndbout << "scanned " << key << endl;
 
-    ndb = 0;
     ndbout << "done" << endl;
     return 0;
 }
@@ -605,7 +598,23 @@ NDB_COMMAND(testDataBuffers, "testDataBuffers", "testDataBuffers", "testDataBuff
 	    return NDBT_ProgramExit(NDBT_WRONGARGS);
 	}
     }
+
     unsigned ok = true;
+
+    ndb = new Ndb("TEST_DB");
+    if (ndb->init() != 0)
+    {
+	ndberror("init");
+	ok = false;
+	goto out;
+    }
+    if (ndb->waitUntilReady(30) < 0)
+    {
+      ndberror("waitUntilReady");
+      ok = false;
+      goto out;
+    }
+    
     for (i = 1; 0 == loopcnt || i <= loopcnt; i++) {
 	ndbout << "=== loop " << i << " ===" << endl;
 	for (int flag = 0; flag < (1<<testbits); flag++) {
@@ -614,9 +623,13 @@ NDB_COMMAND(testDataBuffers, "testDataBuffers", "testDataBuffers", "testDataBuff
 		if (! kontinue)
 		    goto out;
 	    }
+	    NdbDictionary::Dictionary * dict = ndb->getDictionary();
+	    dict->dropTable(tab);
 	}
     }
+    
 out:
+    delete ndb;
     return NDBT_ProgramExit(ok ? NDBT_OK : NDBT_FAILED);
 }
 
-- 
2.30.9