feat(stream): create sub table
This commit is contained in:
parent
9d6a7a2286
commit
b298d45bb7
|
@ -1708,6 +1708,7 @@ char* buildCtbNameByGroupId(const char* stbName, uint64_t groupId) {
|
||||||
pTag->keyLen = strlen(pTag->key);
|
pTag->keyLen = strlen(pTag->key);
|
||||||
pTag->type = TSDB_DATA_TYPE_UBIGINT;
|
pTag->type = TSDB_DATA_TYPE_UBIGINT;
|
||||||
pTag->u = groupId;
|
pTag->u = groupId;
|
||||||
|
pTag->length = sizeof(uint64_t);
|
||||||
taosArrayPush(tags, &pTag);
|
taosArrayPush(tags, &pTag);
|
||||||
|
|
||||||
void* cname = taosMemoryCalloc(1, TSDB_TABLE_NAME_LEN + 1);
|
void* cname = taosMemoryCalloc(1, TSDB_TABLE_NAME_LEN + 1);
|
||||||
|
@ -1756,10 +1757,10 @@ SSubmitReq* tdBlockToSubmit(const SArray* pBlocks, const STSchema* pTSchema, boo
|
||||||
createTbReq.type = TSDB_CHILD_TABLE;
|
createTbReq.type = TSDB_CHILD_TABLE;
|
||||||
createTbReq.ctb.suid = suid;
|
createTbReq.ctb.suid = suid;
|
||||||
|
|
||||||
STagVal tagVal = {.cid = 1,
|
STagVal tagVal = {.cid = pDataBlock->info.numOfCols + 1,
|
||||||
.type = TSDB_DATA_TYPE_UBIGINT,
|
.type = TSDB_DATA_TYPE_UBIGINT,
|
||||||
.pData = (uint8_t*)&pDataBlock->info.groupId,
|
.i64 = (int64_t)pDataBlock->info.groupId,
|
||||||
.nData = sizeof(uint64_t)};
|
};
|
||||||
STag* pTag = NULL;
|
STag* pTag = NULL;
|
||||||
taosArrayClear(tagArray);
|
taosArrayClear(tagArray);
|
||||||
taosArrayPush(tagArray, &tagVal);
|
taosArrayPush(tagArray, &tagVal);
|
||||||
|
@ -1821,10 +1822,10 @@ SSubmitReq* tdBlockToSubmit(const SArray* pBlocks, const STSchema* pTSchema, boo
|
||||||
createTbReq.type = TSDB_CHILD_TABLE;
|
createTbReq.type = TSDB_CHILD_TABLE;
|
||||||
createTbReq.ctb.suid = suid;
|
createTbReq.ctb.suid = suid;
|
||||||
|
|
||||||
STagVal tagVal = {.cid = 1,
|
STagVal tagVal = {.cid = pDataBlock->info.numOfCols + 1,
|
||||||
.type = TSDB_DATA_TYPE_UBIGINT,
|
.type = TSDB_DATA_TYPE_UBIGINT,
|
||||||
.pData = (uint8_t*)&pDataBlock->info.groupId,
|
.i64 = (int64_t)pDataBlock->info.groupId,
|
||||||
.nData = sizeof(uint64_t)};
|
};
|
||||||
taosArrayClear(tagArray);
|
taosArrayClear(tagArray);
|
||||||
taosArrayPush(tagArray, &tagVal);
|
taosArrayPush(tagArray, &tagVal);
|
||||||
STag* pTag = NULL;
|
STag* pTag = NULL;
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
# ./test.sh -f tsim/stream/state0.sim
|
# ./test.sh -f tsim/stream/state0.sim
|
||||||
# ./test.sh -f tsim/stream/triggerInterval0.sim
|
# ./test.sh -f tsim/stream/triggerInterval0.sim
|
||||||
# ./test.sh -f tsim/stream/triggerSession0.sim
|
# ./test.sh -f tsim/stream/triggerSession0.sim
|
||||||
|
# ./test.sh -f tsim/stream/partitionby.sim
|
||||||
|
|
||||||
|
|
||||||
# ---- transaction
|
# ---- transaction
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
system sh/stop_dnodes.sh
|
||||||
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
sleep 50
|
||||||
|
sql connect
|
||||||
|
|
||||||
|
sql create database test vgroups 4;
|
||||||
|
sql use test;
|
||||||
|
sql create stable st(ts timestamp, a int, b int , c int, d double) tags(ta int,tb int,tc int);
|
||||||
|
sql create table ts1 using st tags(1,1,1);
|
||||||
|
sql create table ts2 using st tags(2,2,2);
|
||||||
|
sql create table ts3 using st tags(3,2,2);
|
||||||
|
sql create table ts4 using st tags(4,2,2);
|
||||||
|
sql create stream stream_t1 trigger at_once into streamtST1 as select _wstartts, count(*) c1, count(d) c2 , sum(a) c3 , max(b) c4, min(c) c5 from st partition by ta,tb,tc interval(10s);
|
||||||
|
|
||||||
|
sql insert into ts1 values(1648791213001,1,12,3,1.0);
|
||||||
|
sql insert into ts2 values(1648791213001,1,12,3,1.0);
|
||||||
|
|
||||||
|
sql insert into ts3 values(1648791213001,1,12,3,1.0);
|
||||||
|
sql insert into ts4 values(1648791213001,1,12,3,1.0);
|
||||||
|
$loop_count = 0
|
||||||
|
|
||||||
|
loop0:
|
||||||
|
sleep 300
|
||||||
|
sql select * from streamtST1;
|
||||||
|
|
||||||
|
$loop_count = $loop_count + 1
|
||||||
|
if $loop_count == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $rows != 4 then
|
||||||
|
print =====rows=$rows
|
||||||
|
goto loop0
|
||||||
|
endi
|
||||||
|
|
||||||
|
|
||||||
|
sql create database test1 vgroups 1;
|
||||||
|
sql use test1;
|
||||||
|
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
|
||||||
|
sql create table ts1 using st tags(1,2,3);
|
||||||
|
sql create table ts2 using st tags(1,3,4);
|
||||||
|
sql create table ts3 using st tags(1,4,5);
|
||||||
|
|
||||||
|
sql create stream streams1 trigger at_once into streamt as select _wstartts, count(*) c1, count(a) c2 from st partition by ta,tb,tc interval(10s);
|
||||||
|
|
||||||
|
|
||||||
|
sql insert into ts1 values(1648791211000,1,2,3);
|
||||||
|
|
||||||
|
sql insert into ts2 values(1648791211000,1,2,3);
|
||||||
|
|
||||||
|
$loop_count = 0
|
||||||
|
|
||||||
|
loop0:
|
||||||
|
sleep 300
|
||||||
|
sql select * from streamt;
|
||||||
|
|
||||||
|
$loop_count = $loop_count + 1
|
||||||
|
if $loop_count == 10 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $rows != 2 then
|
||||||
|
print =====rows=$rows
|
||||||
|
goto loop0
|
||||||
|
endi
|
||||||
|
|
||||||
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
Loading…
Reference in New Issue