mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
ndb - add temporary tables to hugo
and use it for testOperations/testTransactions
This commit is contained in:
parent
5f69741462
commit
61d7b5ca42
5 changed files with 37 additions and 5 deletions
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -660,9 +660,11 @@ main(int argc, const char** argv){
|
|||
|
||||
Vector<int> tmp;
|
||||
generate(tmp, 5);
|
||||
|
||||
|
||||
NDBT_TestSuite ts("testOperations");
|
||||
|
||||
|
||||
ts.setTemporaryTables(true);
|
||||
|
||||
for(Uint32 i = 0; i < 12; i++)
|
||||
{
|
||||
if(false && (i == 6 || i == 8 || i == 10))
|
||||
|
|
|
@ -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, "");
|
||||
|
||||
|
|
|
@ -1039,6 +1039,11 @@ loop:
|
|||
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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue