homework-jianmu/tests/script/tsim/stream/nonblockIntervalBasic.sim

654 lines
18 KiB
Plaintext

system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sleep 1000
sql connect
print ========== interval window
sql drop database if exists test;
sql create database test vgroups 1;
sql use test;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql_error create stream streams_er1 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt_et1 as select _wstart, count(*) c1, sum(b) c2 from st partition by tbname session(ts, 10s);
sql_error create stream streams_er2 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt_et2 as select _wstart, count(*) c1, sum(b) c2 from st partition by tbname state_window(a) ;
sql_error create stream streams_er3 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt_et3 as select _wstart, count(*) c1, sum(b) c2 from st partition by tbname count_window(10);
sql_error create stream streams_er4 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt_et4 as select _wstart, count(*) c1, sum(b) c2 from st partition by tbname event_window start with a = 0 end with b = 9;
sql create stream streams1 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt1 as select _wstart, count(*) c1, sum(b) c2 from st partition by tbname interval(10s) ;
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,2,3);
sleep 500
sql insert into t1 values(1648791221000,1,2,3);
sql select _wstart, count(*) c1, sum(b) c2 from st partition by tbname interval(10s) ;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = 0
loop0:
sleep 500
sql select * from streamt1;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 20 then
return -1
endi
if $rows != 1 then
print =====rows=$rows
goto loop0
endi
if $data01 != 1 then
print =====data01=$data01
goto loop0
endi
if $data02 != 2 then
print =====data02=$data02
goto loop0
endi
print ============================end
print ========== interval window step2
sql drop database if exists test2;
sql create database test2 vgroups 1;
sql use test2;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql create stream streams2 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt2 as select _wstart, count(*) c1, max(a) c2 from st partition by tbname interval(10s) sliding(5s) ;
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,2,3);
sql insert into t1 values(1648791214000,2,2,3);
sql insert into t1 values(1648791215000,3,2,3);
sql insert into t1 values(1648791219000,4,2,3);
sql insert into t1 values(1648791220000,5,2,3);
sleep 2000
sql insert into t1 values(1648791420000,6,2,3);
sql select _wstart, count(*) c1, max(a) c2 from st partition by tbname interval(10s) sliding(5s) ;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = 0
loop1:
sleep 500
sql select * from streamt2 order by 1,2;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 20 then
return -1
endi
if $rows != 4 then
print =====rows=$rows
goto loop1
endi
if $data01 != 2 then
print =====data01=$data01
goto loop1
endi
if $data11 != 4 then
print =====data11=$data11
goto loop1
endi
if $data21 != 3 then
print =====data21=$data21
goto loop1
endi
if $data31 != 1 then
print =====data31=$data31
goto loop1
endi
print ========== interval window step3
sql drop database if exists test3;
sql create database test3 vgroups 2;
sql use test3;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql create stream streams3 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt3 as select _wstart, count(*) c1, sum(b) c2 from st interval(10s);
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,2,3);
sleep 500
sql insert into t1 values(1648791221000,1,2,3);
sql select _wstart, count(*) c1, sum(b) c2 from st interval(10s) ;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = 0
loop2:
sleep 500
sql select * from streamt3;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 20 then
return -1
endi
if $rows != 1 then
print =====rows=$rows
goto loop2
endi
if $data01 != 1 then
print =====data01=$data01
goto loop2
endi
if $data02 != 2 then
print =====data02=$data02
goto loop2
endi
sql insert into t2 values(1648791211000,1,2,3);
sql select _wstart, count(*) c1, sum(b) c2 from st interval(10s) ;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = 0
loop3:
sleep 500
sql select * from streamt3;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 20 then
return -1
endi
if $rows != 1 then
print =====rows=$rows
goto loop3
endi
if $data01 != 2 then
print =====data01=$data01
goto loop3
endi
if $data02 != 4 then
print =====data02=$data02
goto loop3
endi
print ========== interval window step4
sql drop database if exists test4;
sql create database test4 vgroups 2;
sql use test4;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql create stream streams4 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt4 as select _wstart, count(*) c1, max(a) c2 from st interval(10s) sliding(5s) ;
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,2,3);
sql insert into t1 values(1648791214000,2,2,3);
sql insert into t1 values(1648791215000,3,2,3);
sql insert into t1 values(1648791219000,4,2,3);
sql insert into t1 values(1648791220000,5,2,3);
sleep 2000
sql insert into t1 values(1648791420000,6,2,3);
sql select _wstart, count(*) c1, max(a) c2 from st partition by tbname interval(10s) sliding(5s) ;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = 0
loop4:
sleep 500
sql select * from streamt4 order by 1,2;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 20 then
return -1
endi
if $rows != 4 then
print =====rows=$rows
goto loop4
endi
if $data01 != 2 then
print =====data01=$data01
goto loop4
endi
if $data11 != 4 then
print =====data11=$data11
goto loop4
endi
if $data21 != 3 then
print =====data21=$data21
goto loop4
endi
if $data31 != 1 then
print =====data31=$data31
goto loop4
endi
print ========== interval window step5
sql drop database if exists test5;
sql create database test5 vgroups 2;
sql use test5;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql create stream streams5 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt5 as select _wstart, count(*) c1, max(a) c2, b from st partition by b interval(10s);
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,1,3);
sql insert into t1 values(1648791214000,2,2,3);
sql insert into t1 values(1648791215000,3,1,3);
sql insert into t1 values(1648791219000,4,2,3);
sql insert into t2 values(1648791211000,1,1,3);
sql insert into t2 values(1648791214000,2,2,3);
sql insert into t2 values(1648791215000,3,1,3);
sql insert into t2 values(1648791219000,4,2,3);
sql insert into t2 values(1648791220000,5,1,3);
sql insert into t2 values(1648791220001,6,2,3);
sleep 2000
sql insert into t1 values(1648791420000,6,2,3);
print loop5 select _wstart, count(*) c1, max(a) c2, b from st partition by b interval(10s) order by 1,4;
sql select _wstart, count(*) c1, max(a) c2, b from st partition by b interval(10s) order by 1,4;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = 0
loop5:
sleep 500
print sql select * from streamt5 order by 1,4;
sql select * from streamt5 order by 1,4;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 4 then
print =====rows=$rows
goto loop5
endi
if $data01 != 4 then
print =====data01=$data01
goto loop5
endi
if $data11 != 4 then
print =====data11=$data11
goto loop5
endi
if $data21 != 1 then
print =====data21=$data21
goto loop5
endi
if $data31 != 1 then
print =====data31=$data31
goto loop5
endi
print ========== interval window step6
sql drop database if exists test6;
sql create database test6 vgroups 2;
sql use test6;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql create stream streams6 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt6 TAGS(dd varchar(100)) SUBTABLE(concat("streams6-tbn-", cast(dd as varchar(10)) )) as select _wstart, count(*) c1, max(b) c2 from st partition by tbname, ta as dd interval(10s);
sql create stream streams7 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt7 TAGS(dd varchar(100)) SUBTABLE(concat("streams7-tbn-", cast(dd as varchar(10)) )) as select _wstart, count(*) c1, max(b) c2 from st partition by a as dd interval(10s);
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,1,3);
sql insert into t2 values(1648791211000,2,2,3);
sql insert into t1 values(1648791221000,1,3,3);
sql insert into t2 values(1648791221000,2,4,3);
sql show tables;
$loop_count = 0
loop6:
sleep 500
print sql show tables;
sql show tables;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 6 then
print =====rows=$rows
goto loop6
endi
$loop_count = 0
loop7:
sleep 500
print sql select * from information_schema.ins_tables where table_name like "streams6-tbn-%";
sql select * from information_schema.ins_tables where table_name like "streams6-tbn-%";
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 2 then
print =====rows=$rows
goto loop7
endi
$loop_count = 0
loop8:
sleep 500
print sql select * from information_schema.ins_tables where table_name like "streams7-tbn-%";
sql select * from information_schema.ins_tables where table_name like "streams7-tbn-%";
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 2 then
print =====rows=$rows
goto loop8
endi
$loop_count = 0
loop9:
sleep 500
print sql select * from streamt6;
sql select * from streamt6;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 2 then
print =====rows=$rows
goto loop9
endi
$loop_count = 0
loop10:
sleep 500
print sql select * from streamt7;
sql select * from streamt7;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 2 then
print =====rows=$rows
goto loop10
endi
print ========== interval window step6
sql drop database if exists test8;
sql create database test8 vgroups 2;
sql use test8;
sql create stable st(ts timestamp,a int,b int,c int) tags(ta int,tb int,tc int);
sql create table t1 using st tags(1,1,1);
sql create table t2 using st tags(2,2,2);
sql create table streamt8(ts timestamp, a int primary key, b bigint ) tags(ta varchar(100));
sql create stream streams8 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt8 tags(ta) as select _wstart, count(*) c1, max(b) c2 from st partition by tbname, a as ta interval(10s);
sql create stream streams9 trigger continuous_window_close ignore update 0 ignore expired 0 into streamt9(c1, c2 primary key, c3) as select _wstart, count(*) c1, max(b) c2 from st interval(10s);
run tsim/stream/checkTaskStatus.sim
sql insert into t1 values(1648791211000,1,1,3);
sql insert into t2 values(1648791211000,2,2,3);
sql insert into t1 values(1648791221000,1,3,3);
$loop_count = 0
loop11:
sleep 500
print sql select * from streamt9;
sql select * from streamt9;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 1 then
print =====rows=$rows
goto loop11
endi
if $data01 != 2 then
print =====rows=$rows
goto loop11
endi
sql insert into t2 values(1648791211001,2,4,3);
$loop_count = 0
loop12:
sleep 500
print sql select * from streamt8;
sql select * from streamt8;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 1 then
print =====rows=$rows
goto loop12
endi
$loop_count = 0
loop13:
sleep 500
print sql select * from streamt9;
sql select * from streamt9;
print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14
print $data20 $data21 $data22 $data23 $data24
print $data30 $data31 $data32 $data33 $data34
print $data40 $data41 $data42 $data43 $data44
print $data50 $data51 $data52 $data53 $data54
$loop_count = $loop_count + 1
if $loop_count == 10 then
return -1
endi
if $rows != 1 then
print =====rows=$rows
goto loop13
endi
if $data01 != 3 then
print =====rows=$rows
goto loop13
endi
system sh/stop_dnodes.sh