提交 8bf4ef21 编写于 作者: B Bomin Zhang

fix td-317: max table name length now is 392

上级 f398488a
...@@ -29,6 +29,7 @@ void extractTableName(const char* tableId, char* name) { ...@@ -29,6 +29,7 @@ void extractTableName(const char* tableId, char* name) {
size_t s2 = strcspn(&tableId[s1 + 1], &TS_PATH_DELIMITER[0]); size_t s2 = strcspn(&tableId[s1 + 1], &TS_PATH_DELIMITER[0]);
strncpy(name, &tableId[s1 + s2 + 2], TSDB_TABLE_NAME_LEN); strncpy(name, &tableId[s1 + s2 + 2], TSDB_TABLE_NAME_LEN);
name[TSDB_TABLE_NAME_LEN] = 0;
} }
char* extractDBName(const char* tableId, char* name) { char* extractDBName(const char* tableId, char* name) {
......
...@@ -1139,7 +1139,7 @@ int32_t mgmtRetrieveShowSuperTables(SShowObj *pShow, char *data, int32_t rows, v ...@@ -1139,7 +1139,7 @@ int32_t mgmtRetrieveShowSuperTables(SShowObj *pShow, char *data, int32_t rows, v
prefixLen = strlen(prefix); prefixLen = strlen(prefix);
SPatternCompareInfo info = PATTERN_COMPARE_INFO_INITIALIZER; SPatternCompareInfo info = PATTERN_COMPARE_INFO_INITIALIZER;
char stableName[TSDB_TABLE_NAME_LEN] = {0}; char stableName[TSDB_TABLE_NAME_LEN + 1] = {0};
while (numOfRows < rows) { while (numOfRows < rows) {
pShow->pIter = mgmtGetNextSuperTable(pShow->pIter, &pTable); pShow->pIter = mgmtGetNextSuperTable(pShow->pIter, &pTable);
...@@ -2148,7 +2148,7 @@ static int32_t mgmtRetrieveShowTables(SShowObj *pShow, char *data, int32_t rows, ...@@ -2148,7 +2148,7 @@ static int32_t mgmtRetrieveShowTables(SShowObj *pShow, char *data, int32_t rows,
continue; continue;
} }
char tableName[TSDB_TABLE_NAME_LEN] = {0}; char tableName[TSDB_TABLE_NAME_LEN + 1] = {0};
// pattern compare for table name // pattern compare for table name
mgmtExtractTableName(pTable->info.tableId, tableName); mgmtExtractTableName(pTable->info.tableId, tableName);
......
...@@ -10,7 +10,7 @@ from util.sql import * ...@@ -10,7 +10,7 @@ from util.sql import *
class TDTestCase: class TDTestCase:
def init(self, conn): def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__) tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql) tdSql.init(conn.cursor(), logSql)
...@@ -95,18 +95,43 @@ class TDTestCase: ...@@ -95,18 +95,43 @@ class TDTestCase:
maxTableNameLen = self.getLimitFromSourceCode('TSDB_TABLE_NAME_LEN') maxTableNameLen = self.getLimitFromSourceCode('TSDB_TABLE_NAME_LEN')
tdLog.notice("table name max length is %d" % maxTableNameLen) tdLog.notice("table name max length is %d" % maxTableNameLen)
name = self.generateString(maxTableNameLen - 1) # create a super table with name exceed max length
tdLog.info("table name is '%s'" % name) sname = self.generateString(maxTableNameLen + 1)
tdLog.info("create a super table with length %d" % len(sname))
tdSql.error("create table %s (ts timestamp, value int) tags(id int)" % sname)
tdSql.execute("create table %s (ts timestamp, value int)" % name) # create a super table with name of max length
tdSql.execute("insert into %s values(now, 0)" % name) sname = self.generateString(maxTableNameLen)
tdLog.info("create a super table with length %d" % len(sname))
tdSql.execute("create table %s (ts timestamp, value int) tags(id int)" % sname)
tdLog.info("check table count, should be one")
tdSql.query('show stables')
tdSql.checkRows(1)
# create a child table with name exceed max length
name = self.generateString(maxTableNameLen + 1)
tdLog.info("create a child table with length %d" % len(name))
tdSql.error("create table %s using %s tags(0)" % (name, sname))
# create a child table with name of max length
name = self.generateString(maxTableNameLen)
tdLog.info("create a child table with length %d" % len(name))
tdSql.execute("create table %s using %s tags(0)" % (name, sname))
tdSql.query('show tables') tdSql.query('show tables')
tdSql.checkRows(1) tdSql.checkRows(1)
tdSql.query('select * from %s' % name) # insert one row
tdLog.info("insert one row of data")
tdSql.execute("insert into %s values(now, 0)" % name)
tdSql.query("select * from " + name)
tdSql.checkRows(1)
tdSql.query("select * from " + sname)
tdSql.checkRows(1) tdSql.checkRows(1)
name = name[:len(name) - 1]
tdSql.error("select * from " + name)
tdSql.checkRows(0)
def checkRowBoundaries(self): def checkRowBoundaries(self):
tdLog.debug("checking row boundaries") tdLog.debug("checking row boundaries")
tdSql.prepare() tdSql.prepare()
......
...@@ -58,6 +58,9 @@ class TDSql: ...@@ -58,6 +58,9 @@ class TDSql:
"%s failed: sql:%s, expect error not occured" % "%s failed: sql:%s, expect error not occured" %
(callerFilename, sql)) (callerFilename, sql))
else: else:
self.queryRows = 0
self.queryCols = 0
self.queryResult = None
tdLog.info("sql:%s, expect error occured" % (sql)) tdLog.info("sql:%s, expect error occured" % (sql))
def query(self, sql): def query(self, sql):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册