From 1a1f4c17b79ee12bc439ac06558a5e0f6c247c4f Mon Sep 17 00:00:00 2001 From: kailixu Date: Sat, 31 Dec 2022 19:54:34 +0800 Subject: [PATCH] fix: add test case for update2 --- tests/script/fullGeneralSuite.sim | 1 + .../script/general/insert/insert_update2.sim | 218 ++++++++++++++++++ tests/script/jenkins/basic.txt | 1 + tests/script/jenkins/simple.txt | 1 + tests/script/jenkins/wbasic.txt | 1 + tests/script/regressionSuite.sim | 1 + 6 files changed, 223 insertions(+) create mode 100644 tests/script/general/insert/insert_update2.sim diff --git a/tests/script/fullGeneralSuite.sim b/tests/script/fullGeneralSuite.sim index e2ab5e6ffc..16abdc9d6f 100644 --- a/tests/script/fullGeneralSuite.sim +++ b/tests/script/fullGeneralSuite.sim @@ -91,6 +91,7 @@ run general/import/large.sim run general/import/replica1.sim run general/insert/basic.sim run general/insert/insert_drop.sim +run general/insert/insert_update2.sim run general/insert/query_block1_memory.sim run general/insert/query_block2_memory.sim run general/insert/query_block1_file.sim diff --git a/tests/script/general/insert/insert_update2.sim b/tests/script/general/insert/insert_update2.sim new file mode 100644 index 0000000000..523ff2d525 --- /dev/null +++ b/tests/script/general/insert/insert_update2.sim @@ -0,0 +1,218 @@ +system sh/stop_dnodes.sh + +system sh/deploy.sh -n dnode1 -i 1 +system sh/cfg.sh -n dnode1 -c walLevel -v 1 +system sh/exec.sh -n dnode1 -s start + +sleep 2000 +sql connect + +### 4096*0.8 - 1 = 3275 +$rowSuperBlk = 3275 +### 4096 - 3275 -1 - 1 = 819 +$rowSubBlk = 819 +$ts0 = 1672372800000 +$ts1 = 1672372900000 +$ts2 = 1672686800000 + +$i = 0 +$db = db0 +$stb1 = stb1 +$tb1 = tb1 +$stb2 = stb2 +$tb2 = tb2 + +print ====== create database +sql drop database if exists $db +sql create database $db update 2 keep 1000 days 10 +print ====== create tables +sql use $db +sql create table $stb1 (ts timestamp, c1 bigint, c2 bigint, c3 bigint) tags(t1 int) +sql create table $stb2 (ts timestamp, c1 bigint, c2 bigint, c3 bigint, c4 bigint, c5 bigint, c6 bigint, c7 bigint, c8 bigint, c9 bigint, c10 bigint, c11 bigint, c12 bigint, c13 bigint, c14 bigint, c15 bigint, c16 bigint, c17 bigint, c18 bigint, c19 bigint, c20 bigint, c21 bigint, c22 bigint, c23 bigint, c24 bigint, c25 bigint, c26 bigint, c27 bigint, c28 bigint, c29 bigint, c30 bigint) tags(t1 int) +sql create table $tb1 using $stb1 tags(1) +sql create table $tb2 using $stb2 tags(2) +print ====== tables created + + +print ========== step 1: merge dataRow in mem + +$i = 0 +while $i < $rowSuperBlk + $xs = $i * 10 + $ts = $ts2 + $xs + sql insert into $tb1 (ts,c1) values ( $ts , $i ) + $i = $i + 1 +endw + +sql insert into $tb1 values ( $ts0 , 1,NULL,0) +sql insert into $tb1 values ( $ts0 , NULL,1,1) + +sql select * from $tb1 where ts = $ts0 +if $rows != 1 then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != 1 then + return -1 +endi + +print ========== step 2: merge kvRow in mem +$i = 0 +while $i < $rowSuperBlk + $xs = $i * 10 + $ts = $ts2 + $xs + sql insert into $tb2 (ts,c1) values ( $ts , $i ) + $i = $i + 1 +endw + +sql insert into $tb2 (ts,c3,c8,c10) values ( $ts0 , 1,NULL,0) +sql insert into $tb2 (ts,c3,c8,c10) values ( $ts0 , NULL,1,1) + +sql select ts,c1,c3,c8,c10 from $tb2 where ts = $ts0 +if $rows != 1 then + return -1 +endi +if $data01 != NULL then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != 1 then + return -1 +endi +if $data04 != 1 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 +sleep 2000 + +print ========== step 3: merge dataRow in file +sql insert into $tb1 values ( $ts0 , 2,NULL,NULL) +print ========== step 4: merge kvRow in file +sql insert into $tb2 (ts,c3,c8,c10) values ( $ts0 , 2,NULL,NULL) + +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 +sleep 2000 + +sql select * from $tb1 where ts = $ts0 +if $rows != 1 then + return -1 +endi +if $data01 != 2 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != 1 then + return -1 +endi + +sql select ts,c1,c3,c8,c10 from $tb2 where ts = $ts0 +if $rows != 1 then + return -1 +endi +if $data01 != NULL then + return -1 +endi +if $data02 != 2 then + return -1 +endi +if $data03 != 1 then + return -1 +endi +if $data04 != 1 then + return -1 +endi + + +print ========== step 5: merge dataRow in file/mem +$i = 0 +while $i < $rowSubBlk + $xs = $i * 1 + $ts = $ts1 + $xs + sql insert into $tb1 (ts,c1) values ( $ts , $i ) + $i = $i + 1 +endw +print ========== step 6: merge kvRow in file/mem +$i = 0 +while $i < $rowSubBlk + $xs = $i * 1 + $ts = $ts1 + $xs + sql insert into $tb2 (ts,c1) values ( $ts , $i ) + $i = $i + 1 +endw + +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 +sleep 2000 + +sql insert into $tb1 values ( $ts0 , NULL,NULL,3) +sql insert into $tb2 (ts,c3,c8) values ( $ts0 , 3,NULL) +$tsN = $ts0 + 1 +sql insert into $tb1 values ( $tsN , 1,NULL,0) +sql insert into $tb2 (ts,c3,c8) values ( $tsN , 100,200) +$tsN = $ts0 + 2 +sql insert into $tb1 values ( $tsN , 1,NULL,0) +sql insert into $tb2 (ts,c3,c8) values ( $tsN , 100,200) + +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 +sleep 2000 + + +sql select * from $tb1 where ts = $ts0 +if $rows != 1 then + return -1 +endi +if $data01 != 2 then + return -1 +endi +if $data02 != 1 then + return -1 +endi +if $data03 != 3 then + return -1 +endi + +sql select ts,c1,c3,c8,c10 from $tb2 where ts = $ts0 +if $rows != 1 then + return -1 +endi +if $data01 != NULL then + return -1 +endi +if $data02 != 3 then + return -1 +endi +if $data03 != 1 then + return -1 +endi + +### this check for fix TS-2306 +if $data04 != 1 then + return -1 +endi + +system sh/exec.sh -n dnode1 -s stop -x SIGINT \ No newline at end of file diff --git a/tests/script/jenkins/basic.txt b/tests/script/jenkins/basic.txt index 56c24e6444..b2c001c83b 100644 --- a/tests/script/jenkins/basic.txt +++ b/tests/script/jenkins/basic.txt @@ -25,6 +25,7 @@ cd ../../../debug; make # ./test.sh -f general/http/grafana.sim ./test.sh -f general/insert/basic.sim ./test.sh -f general/insert/insert_drop.sim +./test.sh -f general/insert/insert_update2.sim ./test.sh -f general/insert/query_block1_memory.sim ./test.sh -f general/insert/query_block2_memory.sim ./test.sh -f general/insert/query_block1_file.sim diff --git a/tests/script/jenkins/simple.txt b/tests/script/jenkins/simple.txt index a0a2f51917..ec5a1e5734 100644 --- a/tests/script/jenkins/simple.txt +++ b/tests/script/jenkins/simple.txt @@ -92,6 +92,7 @@ cd ../../../debug; make ./test.sh -f general/insert/basic.sim ./test.sh -f general/insert/insert_drop.sim +./test.sh -f general/insert/insert_update2.sim ./test.sh -f general/insert/query_block1_memory.sim ./test.sh -f general/insert/query_block2_memory.sim ./test.sh -f general/insert/query_block1_file.sim diff --git a/tests/script/jenkins/wbasic.txt b/tests/script/jenkins/wbasic.txt index 22fee77344..8fbdbe4ae0 100644 --- a/tests/script/jenkins/wbasic.txt +++ b/tests/script/jenkins/wbasic.txt @@ -98,6 +98,7 @@ wtest.bat -f general/import/replica1.sim wtest.bat -f general/insert/basic.sim wtest.bat -f general/insert/insert_drop.sim +wtest.bat -f general/insert/insert_update2.sim wtest.bat -f general/insert/query_block1_memory.sim wtest.bat -f general/insert/query_block2_memory.sim wtest.bat -f general/insert/query_block1_file.sim diff --git a/tests/script/regressionSuite.sim b/tests/script/regressionSuite.sim index 528dbbe040..1a9860168a 100644 --- a/tests/script/regressionSuite.sim +++ b/tests/script/regressionSuite.sim @@ -91,6 +91,7 @@ run general/import/large.sim run general/import/replica1.sim run general/insert/basic.sim run general/insert/insert_drop.sim +run general/insert/insert_update2.sim run general/insert/query_block1_memory.sim run general/insert/query_block2_memory.sim run general/insert/query_block1_file.sim -- GitLab