提交 460c0eac 编写于 作者: S Shengliang Guan

Merge remote-tracking branch 'origin/develop' into feature/d8

...@@ -299,8 +299,8 @@ keepColumnName 1 ...@@ -299,8 +299,8 @@ keepColumnName 1
# percent of redundant data in tsdb meta will compact meta data,0 means donot compact # percent of redundant data in tsdb meta will compact meta data,0 means donot compact
# tsdbMetaCompactRatio 0 # tsdbMetaCompactRatio 0
# default string type used for storing JSON String, options can be binary/nchar, default is binary # default string type used for storing JSON String, options can be binary/nchar, default is nchar
# defaultJSONStrType binary # defaultJSONStrType nchar
# force TCP transmission # force TCP transmission
# rpcForceTcp 0 # rpcForceTcp 0
......
...@@ -195,8 +195,9 @@ static int32_t parseTelnetMetricValue(TAOS_SML_KV **pKVs, int *num_kvs, const ch ...@@ -195,8 +195,9 @@ static int32_t parseTelnetMetricValue(TAOS_SML_KV **pKVs, int *num_kvs, const ch
} }
tfree(value); tfree(value);
pVal->key = tcalloc(sizeof(key), 1); pVal->key = tcalloc(sizeof(key) + TS_ESCAPE_CHAR_SIZE, 1);
memcpy(pVal->key, key, sizeof(key)); memcpy(pVal->key, key, sizeof(key));
addEscapeCharToString(pVal->key, (int32_t)strlen(pVal->key));
*num_kvs += 1; *num_kvs += 1;
*index = cur + 1; *index = cur + 1;
...@@ -881,8 +882,9 @@ static int32_t parseMetricValueFromJSON(cJSON *root, TAOS_SML_KV **pKVs, int *nu ...@@ -881,8 +882,9 @@ static int32_t parseMetricValueFromJSON(cJSON *root, TAOS_SML_KV **pKVs, int *nu
return ret; return ret;
} }
pVal->key = tcalloc(sizeof(key), 1); pVal->key = tcalloc(sizeof(key) + TS_ESCAPE_CHAR_SIZE, 1);
memcpy(pVal->key, key, sizeof(key)); memcpy(pVal->key, key, sizeof(key));
addEscapeCharToString(pVal->key, (int32_t)strlen(pVal->key));
*num_kvs += 1; *num_kvs += 1;
return TSDB_CODE_SUCCESS; return TSDB_CODE_SUCCESS;
......
...@@ -6078,14 +6078,19 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) { ...@@ -6078,14 +6078,19 @@ int32_t setAlterTableInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, DEFAULT_TABLE_INDEX); STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, DEFAULT_TABLE_INDEX);
bool dbIncluded = false; bool dbIncluded = false;
if (tscValidateName(&(pAlterSQL->name), true, &dbIncluded) != TSDB_CODE_SUCCESS) { SStrToken tmpToken = pAlterSQL->name;
tmpToken.z= strndup(pAlterSQL->name.z, pAlterSQL->name.n);
if (tscValidateName(&tmpToken, true, &dbIncluded) != TSDB_CODE_SUCCESS) {
free(tmpToken.z);
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg1); return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg1);
} }
code = tscSetTableFullName(&pTableMetaInfo->name, &(pAlterSQL->name), pSql, dbIncluded); code = tscSetTableFullName(&pTableMetaInfo->name, &tmpToken, pSql, dbIncluded);
if (code != TSDB_CODE_SUCCESS) { if (code != TSDB_CODE_SUCCESS) {
free(tmpToken.z);
return code; return code;
} }
free(tmpToken.z);
code = tscGetTableMeta(pSql, pTableMetaInfo); code = tscGetTableMeta(pSql, pTableMetaInfo);
if (code != TSDB_CODE_SUCCESS) { if (code != TSDB_CODE_SUCCESS) {
......
...@@ -289,7 +289,7 @@ char Compressor[32] = "ZSTD_COMPRESSOR"; // ZSTD_COMPRESSOR or GZIP_COMPRES ...@@ -289,7 +289,7 @@ char Compressor[32] = "ZSTD_COMPRESSOR"; // ZSTD_COMPRESSOR or GZIP_COMPRES
int8_t tsDeadLockKillQuery = 0; int8_t tsDeadLockKillQuery = 0;
// default JSON string type // default JSON string type
char tsDefaultJSONStrType[7] = "binary"; char tsDefaultJSONStrType[7] = "nchar";
char tsSmlChildTableName[TSDB_TABLE_NAME_LEN] = ""; //user defined child table name can be specified in tag value. If set to empty system will generate table name using MD5 hash. char tsSmlChildTableName[TSDB_TABLE_NAME_LEN] = ""; //user defined child table name can be specified in tag value. If set to empty system will generate table name using MD5 hash.
int32_t (*monStartSystemFp)() = NULL; int32_t (*monStartSystemFp)() = NULL;
......
...@@ -686,10 +686,10 @@ class TDTestCase: ...@@ -686,10 +686,10 @@ class TDTestCase:
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query("describe `1234`") tdSql.query("describe `1234`")
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query("select * from `123`") #tdSql.query("select * from `123`")
tdSql.checkRows(1) #tdSql.checkRows(1)
payload = [''' payload = ['''
{ {
...@@ -711,10 +711,10 @@ class TDTestCase: ...@@ -711,10 +711,10 @@ class TDTestCase:
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query("describe `int`") tdSql.query("describe `int`")
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query("select * from `and`") #tdSql.query("select * from `and`")
tdSql.checkRows(1) #tdSql.checkRows(1)
payload = [''' payload = ['''
{ {
...@@ -736,10 +736,10 @@ class TDTestCase: ...@@ -736,10 +736,10 @@ class TDTestCase:
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query("describe `double`") tdSql.query("describe `double`")
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query("select * from `for`") #tdSql.query("select * from `for`")
tdSql.checkRows(1) #tdSql.checkRows(1)
payload = [''' payload = ['''
{ {
...@@ -761,10 +761,10 @@ class TDTestCase: ...@@ -761,10 +761,10 @@ class TDTestCase:
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query("describe `from`") tdSql.query("describe `from`")
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query("select * from `!@#.^&`") #tdSql.query("select * from `!@#.^&`")
tdSql.checkRows(1) #tdSql.checkRows(1)
payload = [''' payload = ['''
{ {
...@@ -786,10 +786,10 @@ class TDTestCase: ...@@ -786,10 +786,10 @@ class TDTestCase:
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query("describe `!@#$.%^&*()`") tdSql.query("describe `!@#$.%^&*()`")
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query("select * from `none`") #tdSql.query("select * from `none`")
tdSql.checkRows(1) #tdSql.checkRows(1)
payload = [''' payload = ['''
{ {
...@@ -836,11 +836,10 @@ class TDTestCase: ...@@ -836,11 +836,10 @@ class TDTestCase:
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query("describe `stable`") tdSql.query("describe `stable`")
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query("select * from `key`")
tdSql.checkRows(1)
#tdSql.query("select * from `key`")
#tdSql.checkRows(1)
def stop(self): def stop(self):
tdSql.close() tdSql.close()
......
...@@ -32,10 +32,10 @@ class TDTestCase: ...@@ -32,10 +32,10 @@ class TDTestCase:
### metric ### ### metric ###
print("============= step1 : test metric ================") print("============= step1 : test metric ================")
lines0 = [ lines0 = [
"stb0_0 1626006833639000000ns 4i8 host=\"host0\" interface=\"eth0\"", "stb0_0 1626006833639 4i8 host=\"host0\" interface=\"eth0\"",
"stb0_1 1626006833639000000ns 4i8 host=\"host0\" interface=\"eth0\"", "stb0_1 1626006833639 4i8 host=\"host0\" interface=\"eth0\"",
"stb0_2 1626006833639000000ns 4i8 host=\"host0\" interface=\"eth0\"", "stb0_2 1626006833639 4i8 host=\"host0\" interface=\"eth0\"",
".stb0.3. 1626006833639000000ns 4i8 host=\"host0\" interface=\"eth0\"", ".stb0.3. 1626006833639 4i8 host=\"host0\" interface=\"eth0\"",
] ]
code = self._conn.schemaless_insert(lines0, TDSmlProtocolType.TELNET.value, TDSmlTimestampType.NOT_CONFIGURED.value) code = self._conn.schemaless_insert(lines0, TDSmlProtocolType.TELNET.value, TDSmlTimestampType.NOT_CONFIGURED.value)
...@@ -287,72 +287,72 @@ class TDTestCase: ...@@ -287,72 +287,72 @@ class TDTestCase:
#tag ID as child table name #tag ID as child table name
lines3_1 = [ #lines3_1 = [
"stb3_1 1626006833610 1 id=child_table1 host=host1", # "stb3_1 1626006833610 1 id=child_table1 host=host1",
"stb3_1 1626006833610 2 host=host2 iD=child_table2", # "stb3_1 1626006833610 2 host=host2 iD=child_table2",
"stb3_1 1626006833610 3 ID=child_table3 host=host3" # "stb3_1 1626006833610 3 ID=child_table3 host=host3"
] # ]
code = self._conn.schemaless_insert(lines3_1, TDSmlProtocolType.TELNET.value, TDSmlTimestampType.NOT_CONFIGURED.value) #code = self._conn.schemaless_insert(lines3_1, TDSmlProtocolType.TELNET.value, TDSmlTimestampType.NOT_CONFIGURED.value)
print("schemaless_insert result {}".format(code)) #print("schemaless_insert result {}".format(code))
tdSql.query("select * from stb3_1") #tdSql.query("select * from stb3_1")
tdSql.checkRows(3) #tdSql.checkRows(3)
tdSql.query("show tables like \"child%\"") #tdSql.query("show tables like \"child%\"")
tdSql.checkRows(3) #tdSql.checkRows(3)
tdSql.checkData(0, 0, "child_table1") #tdSql.checkData(0, 0, "child_table1")
### special characters and keywords ### ### special characters and keywords ###
print("============= step4 : test special characters and keywords ================") print("============= step4 : test special characters and keywords ================")
lines4_1 = [ lines4_1 = [
"1234 1626006833610ms 1 id=123 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false", "1234 1626006833610 1 id=123 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false",
"int 1626006833610ms 2 id=and 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false", "int 1626006833610 2 id=and 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false",
"double 1626006833610ms 2 id=for 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false", "double 1626006833610 2 id=for 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false",
"from 1626006833610ms 2 id=!@#.^& 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false", "from 1626006833610 2 id=!@#.^& 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false",
"!@#$.%^&*() 1626006833610ms 2 id=none 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false", "!@#$.%^&*() 1626006833610 2 id=none 456=true int=true double=false into=1 from=2 !@#$.%^&*()=false",
"STABLE 1626006833610ms 2 id=KEY 456=true int=true double=false TAG=1 FROM=2 COLUMN=false", "STABLE 1626006833610 2 id=KEY 456=true int=true double=false TAG=1 FROM=2 COLUMN=false",
] ]
code = self._conn.schemaless_insert(lines4_1, TDSmlProtocolType.TELNET.value, TDSmlTimestampType.NOT_CONFIGURED.value) code = self._conn.schemaless_insert(lines4_1, TDSmlProtocolType.TELNET.value, TDSmlTimestampType.NOT_CONFIGURED.value)
print("schemaless_insert result {}".format(code)) print("schemaless_insert result {}".format(code))
tdSql.query('describe `1234`') tdSql.query('describe `1234`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `int`') tdSql.query('describe `int`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `double`') tdSql.query('describe `double`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `from`') tdSql.query('describe `from`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `!@#$.%^&*()`') tdSql.query('describe `!@#$.%^&*()`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `stable`') tdSql.query('describe `stable`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('select * from `123`') #tdSql.query('select * from `123`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `and`') #tdSql.query('select * from `and`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `for`') #tdSql.query('select * from `for`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `!@#.^&`') #tdSql.query('select * from `!@#.^&`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `none`') #tdSql.query('select * from `none`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `key`') #tdSql.query('select * from `key`')
tdSql.checkRows(1) #tdSql.checkRows(1)
def stop(self): def stop(self):
tdSql.close() tdSql.close()
......
...@@ -83,8 +83,8 @@ class TDTestCase: ...@@ -83,8 +83,8 @@ class TDTestCase:
tdSql.query('select tbname, * from sth') tdSql.query('select tbname, * from sth')
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.query('select tbname, * from childtable') #tdSql.query('select tbname, * from childtable')
tdSql.checkRows(1) #tdSql.checkRows(1)
###Special Character and keyss ###Special Character and keyss
self._conn.schemaless_insert([ self._conn.schemaless_insert([
...@@ -98,40 +98,40 @@ class TDTestCase: ...@@ -98,40 +98,40 @@ class TDTestCase:
tdSql.execute('reset query cache') tdSql.execute('reset query cache')
tdSql.query('describe `1234`') tdSql.query('describe `1234`')
tdSql.checkRows(9) tdSql.checkRows(10)
tdSql.query('describe `int`') tdSql.query('describe `int`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `double`') tdSql.query('describe `double`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `from`') tdSql.query('describe `from`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `!@#$.%^&*()`') tdSql.query('describe `!@#$.%^&*()`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('describe `stable`') tdSql.query('describe `stable`')
tdSql.checkRows(8) tdSql.checkRows(9)
tdSql.query('select * from `3456`') #tdSql.query('select * from `3456`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `and`') #tdSql.query('select * from `and`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `for`') #tdSql.query('select * from `for`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `!@#$.%^`') #tdSql.query('select * from `!@#$.%^`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `none`') #tdSql.query('select * from `none`')
tdSql.checkRows(1) #tdSql.checkRows(1)
tdSql.query('select * from `create`') #tdSql.query('select * from `create`')
tdSql.checkRows(1) #tdSql.checkRows(1)
def stop(self): def stop(self):
tdSql.close() tdSql.close()
tdLog.success("%s successfully executed" % __file__) tdLog.success("%s successfully executed" % __file__)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册