#### test scenario, please refer to https://jira.taosdata.com:18090/pages/viewpage.action?pageId=135120406 # vgroups=1, one topic for one consumer, include: columns from stb/ctb/ntb, * from stb/ctb/ntb, Scalar function from stb/ctb/ntb # vgroups=1, multi topics for one consumer, include: columns from stb/ctb/ntb, * from stb/ctb/ntb, Scalar function from stb/ctb/ntb # vgroups=4, one topic for one consumer, include: columns from stb/ctb/ntb, * from stb/ctb/ntb, Scalar function from stb/ctb/ntb # vgroups=4, multi topics for one consumer, include: columns from stb/ctb/ntb, * from stb/ctb/ntb, Scalar function from stb/ctb/ntb # notes1: Scalar function: ABS/ACOS/ASIN/ATAN/CEIL/COS/FLOOR/LOG/POW/ROUND/SIN/SQRT/TAN # The above use cases are combined with where filter conditions, such as: where ts > "2017-08-12 18:25:58.128Z" and sin(a) > 0.5; # # notes2: not support aggregate functions(such as sum/count/min/max) and time-windows(interval). # system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 system sh/cfg.sh -n dnode1 system sh/exec.sh -n dnode1 -s start $loop_cnt = 0 check_dnode_ready: $loop_cnt = $loop_cnt + 1 sleep 200 if $loop_cnt == 10 then print ====> dnode not ready! return -1 endi sql show dnodes print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05 if $data00 != 1 then return -1 endi if $data04 != ready then goto check_dnode_ready endi sql connect $dbNamme = d0 print =============== create database , vgroup 1 sql create database $dbNamme vgroups 1 sql show databases print $data00 $data01 $data02 if $rows != 2 then return -1 endi sql use $dbNamme print =============== create super table sql create table if not exists stb (ts timestamp, c1 int, c2 float, c3 binary(10)) tags (t1 int) sql show stables if $rows != 1 then return -1 endi print =============== create child table sql create table ct0 using stb tags(1000) sql create table ct1 using stb tags(2000) #sql create table ct3 using stb tags(3000) print =============== create normal table sql create table ntb (ts timestamp, c1 int, c2 float, c3 binary(10)) print =============== create multi topics. notes: now only support: print =============== 1. columns from stb; 2. * from ctb; 3. columns from ctb print =============== will support: * from stb; function from stb/ctb sql create topic topic_stb_column as select ts, c1, c3 from stb #sql create topic topic_stb_all as select * from stb sql create topic topic_stb_function as select ts, abs(c1), sin(c2) from stb sql create topic topic_ctb_column as select ts, c1, c3 from ct0 sql create topic topic_ctb_all as select * from ct0 sql create topic topic_ctb_function as select ts, abs(c1), sin(c2) from ct0 sql create topic topic_ntb_column as select ts, c1, c3 from ntb sql create topic topic_ntb_all as select * from ntb sql create topic topic_ntb_function as select ts, abs(c1), sin(c2) from ntb sql show tables if $rows != 3 then return -1 endi print =============== insert data $tbPrefix = ct $tbNum = 2 $rowNum = 10 $tstart = 1640966400000 # 2022-01-01 00:00:00.000 $i = 0 while $i < $tbNum $tb = $tbPrefix . $i $x = 0 while $x < $rowNum $c = $x / 10 $c = $c * 10 $c = $x - $c $binary = ' . binary $binary = $binary . $c $binary = $binary . ' sql insert into $tb values ($tstart , $c , $x , $binary ) sql insert into ntb values ($tstart , $c , $x , $binary ) $tstart = $tstart + 1 $x = $x + 1 endw $i = $i + 1 $tstart = 1640966400000 endw #root@trd02 /home $ tmq_sim --help # -c Configuration directory, default is # -d The name of the database for cosumer, no default # -t The topic string for cosumer, no default # -k The key-value string for cosumer, no default # -g showMsgFlag, default is 0 # $totalMsgCnt = $rowNum * $tbNum print inserted totalMsgCnt: $totalMsgCnt # supported key: # group.id: # enable.auto.commit: # auto.offset.reset: # td.connect.ip: # td.connect.user:root # td.connect.pass:taosdata # td.connect.port:6030 # td.connect.db:db print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_stb_column" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_stb_column" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 20, 0}@ then return -1 endi #print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_stb_all" -k "group.id:tg2" #system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_stb_all" -k "group.id:tg2" #print cmd result----> $system_content #if $system_content != @{consume success: 20, 0}@ then # return -1 #endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_stb_function" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_stb_function" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 20, 0}@ then print expect @{consume success: 20, 0}@, actual: $system_content return -1 endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ctb_column" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ctb_column" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 10, 0}@ then return -1 endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ctb_all" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ctb_all" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 10, 0}@ then return -1 endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ctb_function" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ctb_function" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 10, 0}@ then return -1 endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ntb_column" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ntb_column" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 20, 0}@ then return -1 endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ntb_all" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ntb_all" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 20, 0}@ then return -1 endi print cmd===> system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ntb_function" -k "group.id:tg2" system_content ../../debug/tests/test/c/tmq_sim -c ../../sim/tsim/cfg -d $dbNamme -t "topic_ntb_function" -k "group.id:tg2" print cmd result----> $system_content if $system_content != @{consume success: 20, 0}@ then return -1 endi print =============== create database , vgroup 4 $dbNamme = d1 sql create database $dbNamme vgroups 4 #system sh/exec.sh -n dnode1 -s stop -x SIGINT