feat: add cases to merge dup data in file and mem
This commit is contained in:
parent
d2e9f408b0
commit
e9607a9e25
|
@ -2077,10 +2077,10 @@ static void doMergeTwoLevelData(STsdbReadHandle* pTsdbReadHandle, STableCheckInf
|
||||||
#endif
|
#endif
|
||||||
if (TD_SUPPORT_UPDATE(pCfg->update)) {
|
if (TD_SUPPORT_UPDATE(pCfg->update)) {
|
||||||
if (lastKeyAppend != key) {
|
if (lastKeyAppend != key) {
|
||||||
lastKeyAppend = key;
|
|
||||||
if (lastKeyAppend != TSKEY_INITIAL_VAL) {
|
if (lastKeyAppend != TSKEY_INITIAL_VAL) {
|
||||||
++curRow;
|
++curRow;
|
||||||
}
|
}
|
||||||
|
lastKeyAppend = key;
|
||||||
}
|
}
|
||||||
// load data from file firstly
|
// load data from file firstly
|
||||||
numOfRows = doCopyRowsFromFileBlock(pTsdbReadHandle, pTsdbReadHandle->outputCapacity, curRow, pos, pos);
|
numOfRows = doCopyRowsFromFileBlock(pTsdbReadHandle, pTsdbReadHandle->outputCapacity, curRow, pos, pos);
|
||||||
|
|
|
@ -35,7 +35,7 @@ sql insert into ct1 values('2022-05-03 16:59:00.016', 18);
|
||||||
sql insert into ct1 values('2022-05-03 16:59:00.021', 21);
|
sql insert into ct1 values('2022-05-03 16:59:00.021', 21);
|
||||||
sql insert into ct1 values('2022-05-03 16:59:00.022', 22);
|
sql insert into ct1 values('2022-05-03 16:59:00.022', 22);
|
||||||
|
|
||||||
print =============== step3-1 query records from ct1 from memory
|
print =============== step3-1 query records of ct1 from memory
|
||||||
sql select * from ct1;
|
sql select * from ct1;
|
||||||
print $data00 $data01
|
print $data00 $data01
|
||||||
print $data10 $data11
|
print $data10 $data11
|
||||||
|
@ -69,7 +69,7 @@ sql insert into ct2 values('2022-03-02 16:59:00.010', 1),('2022-03-02 16:59:00.0
|
||||||
sql insert into ct2 values('2022-03-02 16:59:00.010', 3),('2022-03-02 16:59:00.010',33),('2022-04-01 16:59:00.011',4),('2022-04-01 16:59:00.011',6),('2022-03-06 16:59:00.013',8);
|
sql insert into ct2 values('2022-03-02 16:59:00.010', 3),('2022-03-02 16:59:00.010',33),('2022-04-01 16:59:00.011',4),('2022-04-01 16:59:00.011',6),('2022-03-06 16:59:00.013',8);
|
||||||
sql insert into ct2 values('2022-03-02 16:59:00.010', 103),('2022-03-02 16:59:00.010',303),('2022-04-01 16:59:00.011',40),('2022-04-01 16:59:00.011',60),('2022-03-06 16:59:00.013',80);
|
sql insert into ct2 values('2022-03-02 16:59:00.010', 103),('2022-03-02 16:59:00.010',303),('2022-04-01 16:59:00.011',40),('2022-04-01 16:59:00.011',60),('2022-03-06 16:59:00.013',80);
|
||||||
|
|
||||||
print =============== step3-1 query records from ct2 from memory
|
print =============== step3-1 query records of ct2 from memory
|
||||||
sql select * from ct2;
|
sql select * from ct2;
|
||||||
print $data00 $data01
|
print $data00 $data01
|
||||||
print $data10 $data11
|
print $data10 $data11
|
||||||
|
@ -99,7 +99,7 @@ endi
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
print =============== step3-2 query records from ct1 from file
|
print =============== step3-2 query records of ct1 from file
|
||||||
sql select * from ct1;
|
sql select * from ct1;
|
||||||
print $data00 $data01
|
print $data00 $data01
|
||||||
print $data10 $data11
|
print $data10 $data11
|
||||||
|
@ -128,7 +128,7 @@ if $data51 != 22 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print =============== step3-2 query records from ct2 from file
|
print =============== step3-2 query records of ct2 from file
|
||||||
sql select * from ct2;
|
sql select * from ct2;
|
||||||
print $data00 $data01
|
print $data00 $data01
|
||||||
print $data10 $data11
|
print $data10 $data11
|
||||||
|
@ -153,3 +153,78 @@ if $data21 != 40 then
|
||||||
print data21 $data21 != 40
|
print data21 $data21 != 40
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
print =============== step3-3 query records of ct1 from memory and file(merge)
|
||||||
|
sql insert into ct1 values('2022-05-03 16:59:00.010', 100);
|
||||||
|
sql insert into ct1 values('2022-05-03 16:59:00.022', 200);
|
||||||
|
sql insert into ct1 values('2022-05-03 16:59:00.016', 160);
|
||||||
|
|
||||||
|
sql select * from ct1;
|
||||||
|
print $data00 $data01
|
||||||
|
print $data10 $data11
|
||||||
|
print $data20 $data21
|
||||||
|
print $data30 $data31
|
||||||
|
print $data40 $data41
|
||||||
|
print $data50 $data51
|
||||||
|
|
||||||
|
if $rows != 6 then
|
||||||
|
print rows $rows != 6
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data01 != 100 then
|
||||||
|
print data01 $data01 != 100
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data21 != 160 then
|
||||||
|
print data21 $data21 != 160
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data51 != 200 then
|
||||||
|
print data51 $data51 != 200
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
print =============== step3-3 query records of ct2 from memory and file(merge)
|
||||||
|
sql insert into ct2(ts) values('2022-04-02 16:59:00.016');
|
||||||
|
sql insert into ct2 values('2022-03-06 16:59:00.013', NULL);
|
||||||
|
sql insert into ct2 values('2022-03-01 16:59:00.016', 10);
|
||||||
|
sql insert into ct2(ts) values('2022-04-01 16:59:00.011');
|
||||||
|
sql select * from ct2;
|
||||||
|
print $data00 $data01
|
||||||
|
print $data10 $data11
|
||||||
|
print $data20 $data21
|
||||||
|
print $data30 $data31
|
||||||
|
print $data40 $data41
|
||||||
|
|
||||||
|
if $rows != 5 then
|
||||||
|
print rows $rows != 5
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data01 != 10 then
|
||||||
|
print data01 $data01 != 10
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data11 != 103 then
|
||||||
|
print data11 $data11 != 103
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data21 != NULL then
|
||||||
|
print data21 $data21 != NULL
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data31 != 40 then
|
||||||
|
print data31 $data31 != 40
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
|
if $data41 != NULL then
|
||||||
|
print data41 $data41 != NULL
|
||||||
|
return -1
|
||||||
|
endi
|
Loading…
Reference in New Issue