system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1

print ===== step1

system sh/exec.sh -n dnode1 -s start 
sleep 50
sql connect

print ===== step2
print ===== table name

sql create database result vgroups 1;

sql create database test  vgroups 4;
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 create stream streams1 trigger at_once  into result.streamt SUBTABLE("aaa") as select  _wstart, count(*) c1 from st interval(10s);
print ===== insert into 1
sql insert into t1 values(1648791213000,1,2,3);
sql insert into t2 values(1648791213000,2,2,3);

$loop_count = 0
loop0:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select table_name from information_schema.ins_tables where db_name="result" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00 
  print $data10
  goto loop0
endi

if $data00 != aaa then
  print =====data00=$data00
  goto loop0
endi


$loop_count = 0
loop1:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select * from result.streamt;

if $rows != 1 then
  print =====rows=$rows
  print $data00 $data10
  goto loop1
endi

if $data01 != 2 then
  print =====data01=$data01
  goto loop1
endi

# group id
if $data02 == NULL then
  print =====data02=$data02
  goto loop1
endi


print ===== step3
print ===== column name

sql create database result2 vgroups 1;

sql create database test2  vgroups 4;
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 at_once  into result2.streamt2 TAGS(cc varchar(100)) as select  _wstart, count(*) c1 from st interval(10s);
print ===== insert into 2
sql insert into t1 values(1648791213000,1,2,3);
sql insert into t2 values(1648791213000,2,2,3);


$loop_count = 0
loop2:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

print select tag_name from information_schema.ins_tags where db_name="result2" and stable_name = "streamt2" order by 1;

sql select tag_name from information_schema.ins_tags where db_name="result2" and stable_name = "streamt2" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop2
endi

if $data00 != cc then
  print =====data00=$data00
  goto loop2
endi

print sql select cc from result2.streamt2 order by 1;

$loop_count = 0
loop21:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select cc from result2.streamt2 order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop21
endi

if $data00 != NULL then
  print =====data00=$data00
  goto loop21
endi


$loop_count = 0
loop3:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select * from result2.streamt2;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop3
endi

if $data01 != 2 then
  print =====data01=$data01
  goto loop3
endi

if $data02 != NULL then
  print =====data02=$data02
  goto loop3
endi


print ===== step4
print ===== column name + table name

sql create database result3 vgroups 1;

sql create database test3  vgroups 4;
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 at_once  into result3.streamt3 TAGS(dd varchar(100)) SUBTABLE(concat("tbn-",  "1") ) as select  _wstart, count(*) c1 from st interval(10s);
print ===== insert into 3
sql insert into t1 values(1648791213000,1,2,3);
sql insert into t2 values(1648791213000,2,2,3);


$loop_count = 0
loop4:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select tag_name from information_schema.ins_tags where db_name="result3" and stable_name = "streamt3" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop4
endi

if $data00 != dd then
  print =====data00=$data00
  goto loop4
endi

sql select dd from result3.streamt3 order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00 $data10
  goto loop4
endi

if $data00 != NULL then
  print =====data00=$data00
  goto loop4
endi

$loop_count = 0
loop5:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select * from result3.streamt3;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop5
endi

if $data01 != 2 then
  print =====data01=$data01
  goto loop5
endi

if $data02 != NULL then
  print =====data02=$data02
  goto loop5
endi

$loop_count = 0
loop6:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select table_name from information_schema.ins_tables where db_name="result3" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop6
endi

if $data00 != tbn-1 then
  print =====data00=$data00
  goto loop6
endi

print ===== step5
print ===== tag name + table name

sql create database result4 vgroups 1;

sql create database test4  vgroups 1;
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 table t3 using st tags(3,3,3);

sql create stream streams4 trigger at_once  into result4.streamt4 TAGS(dd varchar(100)) SUBTABLE(concat("tbn-", "1")) as select  _wstart, count(*) c1 from st interval(10s);
sql insert into t1 values(1648791213000,1,1,1) t2 values(1648791213000,2,2,2) t3 values(1648791213000,3,3,3);


$loop_count = 0
loop7:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select table_name from information_schema.ins_tables where db_name="result4" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop7
endi

if $data00 != tbn-1 then
  print =====data00=$data00
  goto loop7
endi

$loop_count = 0
loop8:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select * from result4.streamt4 order by 3;

if $rows != 1 then
  print =====rows=$rows
  print $data00 $data10
  goto loop8
endi

if $data01 != 3 then
  print =====data01=$data01
  goto loop8
endi

if $data02 != NULL then
  print =====data02=$data02
  goto loop8
endi


print ===== step6
print ===== table name

sql create database result5 vgroups 1;

sql create database test5  vgroups 1;
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 streams51 trigger at_once  into result5.streamt51 SUBTABLE("aaa") as select  _wstart, count(*) c1 from st interval(10s);
sql create stream streams52 trigger at_once  into result5.streamt52 TAGS(cc varchar(100)) as select  _wstart, count(*) c1 from st interval(10s);
sql create stream streams53 trigger at_once  into result5.streamt53 TAGS(dd varchar(100)) SUBTABLE(concat("aaa-", "1") ) as select  _wstart, count(*) c1 from st interval(10s);

sql insert into t1 values(1648791213000,1,2,3);
sql insert into t2 values(1648791213000,2,2,3);

$loop_count = 0
loop9:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

print select table_name from information_schema.ins_tables where db_name="result5" order by 1;

sql select table_name from information_schema.ins_tables where db_name="result5" order by 1;

if $rows != 3 then
  print =====rows=$rows
  print $data00 
  print $data10
  print $data20
  print $data40
  goto loop9
endi

if $data00 != aaa then
  print =====data00=$data00
  goto loop9
endi

if $data10 != aaa-1 then
  print =====data00=$data00
  goto loop9
endi

$loop_count = 0
loop10:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

print sql select tag_name from information_schema.ins_tags where db_name="result5" and stable_name = "streamt52" order by 1;

sql select tag_name from information_schema.ins_tags where db_name="result5" and stable_name = "streamt52" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop10
endi

if $data00 != cc then
  print =====data00=$data00
  goto loop10
endi

print sql select tag_name from information_schema.ins_tags where db_name="result5" and stable_name = "streamt53" order by 1;

sql select tag_name from information_schema.ins_tags where db_name="result5" and stable_name = "streamt53" order by 1;

if $rows != 1 then
  print =====rows=$rows
  print $data00
  print $data10
  goto loop10
endi

if $data00 != dd then
  print =====data00=$data00
  goto loop10
endi





$loop_count = 0
loop11:

sleep 300

$loop_count = $loop_count + 1
if $loop_count == 10 then
  return -1
endi

sql select * from result5.streamt51;

if $rows != 1 then
  print =====rows=$rows
  print $data00 $data10
  goto loop11
endi

if $data01 != 2 then
  print =====data01=$data01
  goto loop11
endi

sql select * from result5.streamt52;

if $rows != 1 then
  print =====rows=$rows
  print $data00 $data10
  goto loop11
endi

if $data01 != 2 then
  print =====data01=$data01
  goto loop11
endi

sql select * from result5.streamt53;

if $rows != 1 then
  print =====rows=$rows
  print $data00 $data10
  goto loop11
endi

if $data01 != 2 then
  print =====data01=$data01
  goto loop11
endi

print ======over

system sh/stop_dnodes.sh
