fix:dot process in schemaless
This commit is contained in:
parent
b83cc11043
commit
64959f14e9
|
@ -218,7 +218,16 @@ int32_t smlSetCTableName(SSmlTableInfo *oneTable) {
|
|||
|
||||
if (strlen(oneTable->childTableName) == 0) {
|
||||
SArray *dst = taosArrayDup(oneTable->tags, NULL);
|
||||
RandTableName rName = {dst, oneTable->sTableName, (uint8_t)oneTable->sTableNameLen, oneTable->childTableName};
|
||||
ASSERT(oneTable->sTableNameLen < TSDB_TABLE_NAME_LEN);
|
||||
char superName[TSDB_TABLE_NAME_LEN] = {0};
|
||||
RandTableName rName = {dst, NULL, (uint8_t)oneTable->sTableNameLen, oneTable->childTableName};
|
||||
if(tsSmlDot2Underline){
|
||||
memcpy(superName, oneTable->sTableName, oneTable->sTableNameLen);
|
||||
smlStrReplace(superName, oneTable->sTableNameLen);
|
||||
rName.stbFullName = superName;
|
||||
}else{
|
||||
rName.stbFullName = oneTable->sTableName;
|
||||
}
|
||||
|
||||
buildChildTableName(&rName);
|
||||
taosArrayDestroy(dst);
|
||||
|
@ -230,6 +239,9 @@ void getTableUid(SSmlHandle *info, SSmlLineInfo *currElement, SSmlTableInfo *tin
|
|||
char key[TSDB_TABLE_NAME_LEN * 2 + 1] = {0};
|
||||
size_t nLen = strlen(tinfo->childTableName);
|
||||
memcpy(key, currElement->measure, currElement->measureLen);
|
||||
if(tsSmlDot2Underline){
|
||||
smlStrReplace(key, currElement->measureLen);
|
||||
}
|
||||
memcpy(key + currElement->measureLen + 1, tinfo->childTableName, nLen);
|
||||
void *uid =
|
||||
taosHashGet(info->tableUids, key,
|
||||
|
|
|
@ -1533,6 +1533,7 @@ int sml_ts3724_Test() {
|
|||
|
||||
const char *sql[] = {
|
||||
"stb.2,t1=1 f1=283i32 1632299372000",
|
||||
"stb_2,t1=1 f1=283i32 1632299372000",
|
||||
".stb2,t1=1 f1=106i32 1632299378000",
|
||||
"stb2.,t1=1 f1=106i32 1632299378000",
|
||||
};
|
||||
|
@ -1547,6 +1548,18 @@ int sml_ts3724_Test() {
|
|||
printf("%s result0:%s\n", __FUNCTION__, taos_errstr(pRes));
|
||||
taos_free_result(pRes);
|
||||
|
||||
pRes = taos_query(taos, "select * from stb_2");
|
||||
TAOS_ROW row = taos_fetch_row(pRes);
|
||||
int numRows = taos_affected_rows(pRes);
|
||||
ASSERT(numRows == 1);
|
||||
taos_free_result(pRes);
|
||||
|
||||
pRes = taos_query(taos, "show stables");
|
||||
row = taos_fetch_row(pRes);
|
||||
numRows = taos_affected_rows(pRes);
|
||||
ASSERT(numRows == 3);
|
||||
taos_free_result(pRes);
|
||||
|
||||
taos_close(taos);
|
||||
|
||||
return code;
|
||||
|
|
Loading…
Reference in New Issue