int NDBT_TestSuite::createHook(Ndb* ndb, NdbDictionary::Table& tab, int when) { if (when == 0) { if (diskbased) { for (int i = 0; i < tab.getNoOfColumns(); i++) { NdbDictionary::Column* col = tab.getColumn(i); if (! col->getPrimaryKey()) { col->setStorageType(NdbDictionary::Column::StorageTypeDisk); } } } else if (temporaryTables) { tab.setTemporary(true); tab.setLogging(false); } if (tsname != NULL) { tab.setTablespaceName(tsname); } } return 0; }
static int g_create_hook(Ndb* ndb, NdbDictionary::Table& tab, int when, void* arg) { if (when == 0) { if (g_diskbased) { for (int i = 0; i < tab.getNoOfColumns(); i++) { NdbDictionary::Column* col = tab.getColumn(i); if (! col->getPrimaryKey()) { col->setStorageType(NdbDictionary::Column::StorageTypeDisk); } } } if (g_tsname != NULL) { tab.setTablespaceName(g_tsname); } } return 0; }
int create100Tables(NDBT_Context* ctx, NDBT_Step* step) { Ndb* pNdb = GETNDB(step); const NdbDictionary::Table* pTab= ctx->getTab(); /* Run as a 'T1' testcase - do nothing for other tables */ if (strcmp(pTab->getName(), "T1") != 0) return NDBT_OK; for (Uint32 t=0; t < 100; t++) { char tabnameBuff[10]; snprintf(tabnameBuff, sizeof(tabnameBuff), "TAB%u", t); NdbDictionary::Table tab; tab.setName(tabnameBuff); NdbDictionary::Column pk; pk.setName("PK"); pk.setType(NdbDictionary::Column::Varchar); pk.setLength(20); pk.setNullable(false); pk.setPrimaryKey(true); tab.addColumn(pk); pNdb->getDictionary()->dropTable(tab.getName()); if(pNdb->getDictionary()->createTable(tab) != 0) { ndbout << "Create table failed with error : " << pNdb->getDictionary()->getNdbError().code << " " << pNdb->getDictionary()->getNdbError().message << endl; return NDBT_FAILED; } ndbout << "Created table " << tabnameBuff << endl; } return NDBT_OK; }
inline NdbDictionary::Column::Type NdbRecAttr::getType() const { return m_column->getType(); }
static void createTable(Ndb &myNdb, bool storeInACC, bool twoKey, bool longKey) { NdbDictionary::Dictionary* dict = myNdb.getDictionary(); NdbDictionary::Table table("PERSON"); //NdbDictionary::Column column(); // Bug NdbDictionary::Column column; int res; column.setName("NAME"); column.setType(NdbDictionary::Column::Char); column.setLength((longKey)? 1024 // 1KB => long key :12); column.setPrimaryKey(true); column.setNullable(false); table.addColumn(column); if (twoKey) { column.setName("KEY2"); column.setType(NdbDictionary::Column::Unsigned); column.setLength(1); column.setPrimaryKey(true); column.setNullable(false); table.addColumn(column); } column.setName("PNUM1"); column.setType(NdbDictionary::Column::Unsigned); column.setLength(1); column.setPrimaryKey(false); column.setNullable(false); table.addColumn(column); column.setName("PNUM2"); column.setType(NdbDictionary::Column::Unsigned); column.setLength(1); column.setPrimaryKey(false); column.setNullable(false); table.addColumn(column); column.setName("PNUM3"); column.setType(NdbDictionary::Column::Unsigned); column.setLength(1); column.setPrimaryKey(false); column.setNullable(false); table.addColumn(column); column.setName("PNUM4"); column.setType(NdbDictionary::Column::Unsigned); column.setLength(1); column.setPrimaryKey(false); column.setNullable(false); table.addColumn(column); column.setName("AGE"); column.setType(NdbDictionary::Column::Unsigned); column.setLength(1); column.setPrimaryKey(false); column.setNullable(false); table.addColumn(column); column.setName("STRING_AGE"); column.setType(NdbDictionary::Column::Char); column.setLength(1); column.setLength(256); column.setPrimaryKey(false); column.setNullable(false); table.addColumn(column); if ((res = dict->createTable(table)) == -1) { error_handler(dict->getNdbError()); } else ndbout << "Created table" << ((longKey)?" with long key":"") <<endl; }