diff --git a/src/client/src/tscLocal.c b/src/client/src/tscLocal.c index a880f4487ef73199a0c6198894a7d4d647d7dbe1..b1a6e1595ed6f582c9b49cbbf02e4f582b4497e1 100644 --- a/src/client/src/tscLocal.c +++ b/src/client/src/tscLocal.c @@ -183,8 +183,12 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) { // type length int32_t bytes = pSchema[i].bytes; pField = tscFieldInfoGetField(&pQueryInfo->fieldsInfo, 2); - if (pSchema[i].type == TSDB_DATA_TYPE_NCHAR) { - bytes = bytes / TSDB_NCHAR_SIZE; + if (pSchema[i].type == TSDB_DATA_TYPE_BINARY || pSchema[i].type == TSDB_DATA_TYPE_NCHAR) { + bytes -= VARSTR_HEADER_SIZE; + + if (pSchema[i].type == TSDB_DATA_TYPE_NCHAR) { + bytes = bytes / TSDB_NCHAR_SIZE; + } } *(int32_t *)(pRes->data + tscFieldInfoGetOffset(pQueryInfo, 2) * totalNumOfRows + pField->bytes * i) = bytes; diff --git a/tests/pytest/random-test/random-test.py b/tests/pytest/random-test/random-test.py index 31ce70e90a291659137d6abbc539cf297ff62411..38cefb3eecadf9f585b6f956a7ea0c0076fe2918 100644 --- a/tests/pytest/random-test/random-test.py +++ b/tests/pytest/random-test/random-test.py @@ -17,6 +17,7 @@ from util.log import * from util.cases import * from util.sql import * from util.dnodes import * +import codecs class Test: @@ -93,14 +94,13 @@ class Test: self.last_stb = current_stb current_tb = "tb%d" % int(round(time.time() * 1000)) - tdSql.execute( - "create table %s using %s tags (1, '表1')" % - (current_tb, self.last_stb)) + sqlcmd = "create table %s using %s tags (1, 'test')" %(current_tb, self.last_stb) + tdSql.execute(sqlcmd) self.last_tb = current_tb self.written = 0 tdSql.execute( - "insert into %s values (now, 27, '我是nchar字符串')" % + "insert into %s values (now, 27, 'wsnchar')" % self.last_tb) self.written = self.written + 1 diff --git a/tests/pytest/util/sql.py b/tests/pytest/util/sql.py index f3fd178088b41f18b5b7cd31a98853a6c0b79055..3b86a5334396f65b6a5a0f0685403560f3e14499 100644 --- a/tests/pytest/util/sql.py +++ b/tests/pytest/util/sql.py @@ -40,10 +40,18 @@ class TDSql: def prepare(self): tdLog.info("prepare database:db") - self.cursor.execute('reset query cache') - self.cursor.execute('drop database if exists db') - self.cursor.execute('create database db') - self.cursor.execute('use db') + s = 'reset query cache' + print(s) + self.cursor.execute(s) + s = 'drop database if exists db' + print(s) + self.cursor.execute(s) + s = 'create database db' + print(s) + self.cursor.execute(s) + s = 'use db' + print(s) + self.cursor.execute(s) def error(self, sql): expectErrNotOccured = True @@ -66,6 +74,7 @@ class TDSql: def query(self, sql): self.sql = sql + print(sql) self.cursor.execute(sql) self.queryResult = self.cursor.fetchall() self.queryRows = len(self.queryResult) @@ -182,6 +191,7 @@ class TDSql: def execute(self, sql): self.sql = sql + print(sql) self.affectedRows = self.cursor.execute(sql) return self.affectedRows