TDengine/source/dnode/vnode/meta/test/metaTests.cpp

103 lines
2.5 KiB
C++
Raw Normal View History

2021-10-11 07:41:49 +00:00
#include <gtest/gtest.h>
2021-10-12 07:11:44 +00:00
#include <string.h>
2021-10-11 07:41:49 +00:00
#include <iostream>
#include "meta.h"
2021-10-15 07:42:01 +00:00
static STSchema *metaGetSimpleSchema() {
STSchema * pSchema = NULL;
2021-10-15 09:07:37 +00:00
STSchemaBuilder sb = {0};
2021-10-15 07:42:01 +00:00
tdInitTSchemaBuilder(&sb, 0);
tdAddColToSchema(&sb, TSDB_DATA_TYPE_TIMESTAMP, 0, 8);
tdAddColToSchema(&sb, TSDB_DATA_TYPE_INT, 1, 4);
pSchema = tdGetSchemaFromBuilder(&sb);
tdDestroyTSchemaBuilder(&sb);
return pSchema;
}
2021-10-15 09:07:37 +00:00
static SKVRow metaGetSimpleTags() {
SKVRowBuilder kvrb = {0};
SKVRow row;
tdInitKVRowBuilder(&kvrb);
int64_t ts = 1634287978000;
int32_t a = 10;
tdAddColToKVRow(&kvrb, 0, TSDB_DATA_TYPE_TIMESTAMP, (void *)(&ts));
tdAddColToKVRow(&kvrb, 0, TSDB_DATA_TYPE_INT, (void *)(&a));
row = tdGetKVRowFromBuilder(&kvrb);
tdDestroyKVRowBuilder(&kvrb);
return row;
}
TEST(MetaTest, DISABLED_meta_create_1m_normal_tables_test) {
2021-10-12 07:11:44 +00:00
// Open Meta
2021-10-12 03:15:11 +00:00
SMeta *meta = metaOpen(NULL);
std::cout << "Meta is opened!" << std::endl;
2021-10-15 07:42:01 +00:00
// Create 1000000 normal tables
2021-10-15 09:07:37 +00:00
META_TABLE_OPTS_DECLARE(tbOpts);
2021-10-15 07:42:01 +00:00
STSchema *pSchema = metaGetSimpleSchema();
char tbname[128];
2021-10-12 07:11:44 +00:00
2021-10-15 07:42:01 +00:00
for (size_t i = 0; i < 1000000; i++) {
sprintf(tbname, "ntb%ld", i);
metaNormalTableOptsInit(&tbOpts, tbname, pSchema);
2021-10-15 07:13:46 +00:00
metaCreateTable(meta, &tbOpts);
2021-10-15 09:07:37 +00:00
metaTableOptsClear(&tbOpts);
}
tdFreeSchema(pSchema);
// Close Meta
metaClose(meta);
std::cout << "Meta is closed!" << std::endl;
// Destroy Meta
metaDestroy("meta");
std::cout << "Meta is destroyed!" << std::endl;
}
TEST(MetaTest, meta_create_1m_child_tables_test) {
// Open Meta
SMeta *meta = metaOpen(NULL);
std::cout << "Meta is opened!" << std::endl;
// Create a super tables
tb_uid_t uid = 477529885843758ul;
META_TABLE_OPTS_DECLARE(tbOpts);
STSchema *pSchema = metaGetSimpleSchema();
STSchema *pTagSchema = metaGetSimpleSchema();
metaSuperTableOptsInit(&tbOpts, "st", uid, pSchema, pTagSchema);
metaCreateTable(meta, &tbOpts);
metaTableOptsClear(&tbOpts);
tdFreeSchema(pSchema);
tdFreeSchema(pTagSchema);
// Create 1000000 child tables
char name[128];
SKVRow row = metaGetSimpleTags();
for (size_t i = 0; i < 1000000; i++) {
sprintf(name, "ctb%ld", i);
metaChildTableOptsInit(&tbOpts, name, uid, row);
metaCreateTable(meta, &tbOpts);
metaTableOptsClear(&tbOpts);
2021-10-15 07:13:46 +00:00
}
2021-10-15 09:07:37 +00:00
kvRowFree(row);
2021-10-12 07:11:44 +00:00
// Close Meta
2021-10-12 03:15:11 +00:00
metaClose(meta);
std::cout << "Meta is closed!" << std::endl;
2021-10-12 03:41:27 +00:00
2021-10-15 08:25:09 +00:00
// Destroy Meta
metaDestroy("meta");
std::cout << "Meta is destroyed!" << std::endl;
2021-10-11 07:41:49 +00:00
}