From 2e12fbfa6e42a88edb4fa701b760f59319a9870e Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Tue, 23 Jun 2020 16:20:23 +0800 Subject: [PATCH] [TD-705] autoIndex --- src/mnode/src/mnodeSdb.c | 4 +++- tests/test/c/insertPerTable.c | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mnode/src/mnodeSdb.c b/src/mnode/src/mnodeSdb.c index ea2ac6f4fa..c34317437c 100644 --- a/src/mnode/src/mnodeSdb.c +++ b/src/mnode/src/mnodeSdb.c @@ -463,7 +463,9 @@ static int32_t sdbInsertHash(SSdbTable *pTable, SSdbOper *pOper) { sdbIncRef(pTable, pOper->pObj); atomic_add_fetch_32(&pTable->numOfRows, 1); - if (pTable->tableId == SDB_TABLE_ACCOUNT) { + if (pTable->keyType == SDB_KEY_AUTO) { + pTable->autoIndex = MAX(pTable->autoIndex, *((uint32_t *)pOper->pObj)); + } else { atomic_add_fetch_32(&pTable->autoIndex, 1); } diff --git a/tests/test/c/insertPerTable.c b/tests/test/c/insertPerTable.c index a5e2c4b966..d79df0f4d1 100644 --- a/tests/test/c/insertPerTable.c +++ b/tests/test/c/insertPerTable.c @@ -95,7 +95,7 @@ void createDbAndTable() { pError("failed to use db, code:%d reason:%s", taos_errno(con), taos_errstr(con)); exit(0); } - taos_stop_query(pSql); + taos_free_result(pSql); gettimeofday(&systemTime, NULL); st = systemTime.tv_sec * 1000000 + systemTime.tv_usec; @@ -114,7 +114,7 @@ void createDbAndTable() { pError("failed to create stable, code:%d reason:%s", taos_errno(con), taos_errstr(con)); exit(0); } - taos_stop_query(pSql); + taos_free_result(pSql); for (int64_t t = 0; t < totalTables; ++t) { sprintf(qstr, "create table if not exists %s%ld using %s tags(%ld)", stableName, t, stableName, t); @@ -124,7 +124,7 @@ void createDbAndTable() { pError("failed to create table %s%" PRId64 ", reason:%s", stableName, t, taos_errstr(con)); exit(0); } - taos_stop_query(pSql); + taos_free_result(pSql); } } else { for (int64_t t = 0; t < totalTables; ++t) { @@ -140,7 +140,7 @@ void createDbAndTable() { pError("failed to create table %s%ld, reason:%s", stableName, t, taos_errstr(con)); exit(0); } - taos_stop_query(pSql); + taos_free_result(pSql); } } @@ -148,6 +148,7 @@ void createDbAndTable() { et = systemTime.tv_sec * 1000000 + systemTime.tv_usec; float seconds = (et - st) / 1000.0 / 1000.0; pPrint("%.1f seconds to create %ld tables, speed:%.1f", seconds, totalTables, totalTables / seconds); + taos_close(con); } void insertData() { @@ -257,7 +258,7 @@ void *syncTest(void *param) { pError("thread:%d, failed to insert table:%s%ld row:%ld, reason:%s", pInfo->threadIndex, pInfo->stableName, table, row, taos_errstr(con)); } - taos_stop_query(pSql); + taos_free_result(pSql); // "insert into" len = sprintf(sql, "%s", inserStr); -- GitLab