system sh/stop_dnodes.sh system sh/deploy.sh -n dnode1 -i 1 system sh/cfg.sh -n dnode1 -c walLevel -v 0 system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2 system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 10 system sh/exec.sh -n dnode1 -s start sleep 3000 sql connect $dbPrefix = slm_alt_tg_db print ========== slimit_alter_tag.sim # make sure the data in each table crosses a file block boundary $rowNum = 300 $ts0 = 1537146000000 $delta = 600000 $db = $dbPrefix sql drop database if exists $db sql create database $db maxrows 200 sql use $db sql create table stb (ts timestamp, c1 int, c2 bigint, c3 double) tags(t1 int, t2 int) # If grouped by t2, some groups should have tables from different vnodes sql create table tb0 using stb tags (0, 0) sql create table tb1 using stb tags (1, 0) sql create table tb2 using stb tags (2, 0) sql create table tb3 using stb tags (3, 1) sql create table tb4 using stb tags (4, 1) sql create table tb5 using stb tags (5, 1) sql create table tb6 using stb tags (6, 2) sql create table tb7 using stb tags (7, 2) sql create table tb8 using stb tags (8, 2) # tb9 is intentionally set the same tags with tb8 sql create table tb9 using stb tags (8, 2) $i = 0 $tbNum = 10 while $i < $tbNum $tb = tb . $i $x = 0 while $x < $rowNum $xs = $x * $delta $ts = $ts0 + $xs $c1 = $x * 10 $c1 = $c1 + $i sql insert into $tb values ( $ts , $c1 , $c1 , $c1 ) $x = $x + 1 endw $i = $i + 1 endw print ================== tables and data created print ================== add a tag sql alter table stb add tag tg_added binary(15) sql describe stb if $rows != 7 then return -1 endi if $data60 != tg_added then return -1 endi sql select count(*) from stb group by tg_added order by tg_added asc if $rows != 1 then return -1 endi $res = $rowNum * 10 if $data00 != $res then return -1 endi #if $data01 != NULL then # return -1 #endi print ================== change tag values $i = 0 while $i < 10 $tb = tb . $i $tg_added = ' . $tb $tg_added = $tg_added . ' sql alter table $tb set tag tg_added = $tg_added $i = $i + 1 endw sql describe tb0 if $rows != 7 then return -1 endi if $data63 != tb0 then return -1 endi sleep 2000 sql reset query cache sql select count(*), first(ts) from stb group by tg_added order by tg_added asc slimit 5 soffset 3 if $rows != 5 then print ===== result: $rows return -1 endi if $data00 != $rowNum then return -1 endi if $data10 != $rowNum then return -1 endi if $data20 != $rowNum then return -1 endi if $data30 != $rowNum then return -1 endi if $data40 != $rowNum then return -1 endi if $data02 != tb3 then return -1 endi if $data12 != tb4 then return -1 endi if $data22 != tb5 then return -1 endi if $data32 != tb6 then return -1 endi if $data42 != tb7 then return -1 endi sql alter table tb9 set tag t2 = 3 sql select count(*), first(*) from stb group by t2 order by t2 slimit 6 soffset 1 if $rows != 3 then return -1 endi $res = 3 * $rowNum if $data00 != $res then return -1 endi if $data01 != @18-09-17 09:00:00.000@ then return -1 endi if $data02 != 3 then return -1 endi if $data05 != 1 then return -1 endi $res = 3 * $rowNum if $data10 != $res then return -1 endi if $data11 != @18-09-17 09:00:00.000@ then return -1 endi if $data15 != 2 then return -1 endi if $data20 != $rowNum then return -1 endi if $data24 != 9.000000000 then return -1 endi if $data25 != 3 then return -1 endi print ================== restart server to commit data into disk system sh/exec.sh -n dnode1 -s stop -x SIGINT sleep 2000 system sh/exec.sh -n dnode1 -s start print ================== server restart completed sql connect sleep 3000 sql use $db ### repeat above queries sql select count(*), first(ts) from stb group by tg_added order by tg_added asc slimit 5 soffset 3; if $rows != 5 then return -1 endi if $data00 != $rowNum then return -1 endi if $data10 != $rowNum then return -1 endi if $data20 != $rowNum then return -1 endi if $data30 != $rowNum then return -1 endi if $data40 != $rowNum then return -1 endi if $data02 != tb3 then return -1 endi if $data12 != tb4 then return -1 endi if $data22 != tb5 then return -1 endi if $data32 != tb6 then return -1 endi if $data42 != tb7 then return -1 endi sql select count(*), first(*) from stb group by t2 order by t2 slimit 6 soffset 1 if $rows != 3 then return -1 endi $res = 3 * $rowNum if $data00 != $res then return -1 endi if $data01 != @18-09-17 09:00:00.000@ then return -1 endi if $data02 != 3 then return -1 endi if $data05 != 1 then return -1 endi $res = 3 * $rowNum if $data10 != $res then return -1 endi if $data11 != @18-09-17 09:00:00.000@ then return -1 endi if $data15 != 2 then return -1 endi if $data20 != $rowNum then return -1 endi if $data24 != 9.000000000 then return -1 endi if $data25 != 3 then return -1 endi #sql drop database $db #sql show databases #if $rows != 0 then # return -1 #endi system sh/exec.sh -n dnode1 -s stop -x SIGINT