Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f4aaf791
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f4aaf791
编写于
5月 22, 2022
作者:
C
Cary Xu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: check commit and merge and add cases
上级
56df9f6c
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
322 addition
and
19 deletion
+322
-19
include/common/taosdef.h
include/common/taosdef.h
+5
-0
include/common/tdataformat.h
include/common/tdataformat.h
+3
-2
source/common/src/tdataformat.c
source/common/src/tdataformat.c
+2
-2
source/common/src/trow.c
source/common/src/trow.c
+4
-3
source/dnode/vnode/src/tsdb/tsdbCommit.c
source/dnode/vnode/src/tsdb/tsdbCommit.c
+7
-1
source/dnode/vnode/src/tsdb/tsdbRead.c
source/dnode/vnode/src/tsdb/tsdbRead.c
+11
-1
source/dnode/vnode/src/tsdb/tsdbReadImpl.c
source/dnode/vnode/src/tsdb/tsdbReadImpl.c
+11
-10
tests/script/tsim/insert/commit-merge0.sim
tests/script/tsim/insert/commit-merge0.sim
+262
-0
tests/script/tsim/insert/update0.sim
tests/script/tsim/insert/update0.sim
+17
-0
未找到文件。
include/common/taosdef.h
浏览文件 @
f4aaf791
...
...
@@ -86,6 +86,11 @@ typedef enum {
TSDB_RETENTION_MAX
=
3
}
ERetentionLevel
;
typedef
enum
{
TSDB_BITMODE_DEFAULT
=
0
,
// 2 bits
TSDB_BITMODE_ONE_BIT
=
1
,
// 1 bit
}
EBitmapMode
;
extern
char
*
qtypeStr
[];
#define TSDB_PORT_HTTP 11
...
...
include/common/tdataformat.h
浏览文件 @
f4aaf791
...
...
@@ -313,8 +313,9 @@ typedef struct {
SDataCol
*
cols
;
}
SDataCols
;
static
FORCE_INLINE
bool
tdDataColsIsBitmapI
(
SDataCols
*
pCols
)
{
return
pCols
->
bitmapMode
!=
0
;
}
static
FORCE_INLINE
void
tdDataColsSetBitmapI
(
SDataCols
*
pCols
)
{
pCols
->
bitmapMode
=
1
;
}
static
FORCE_INLINE
bool
tdDataColsIsBitmapI
(
SDataCols
*
pCols
)
{
return
pCols
->
bitmapMode
!=
TSDB_BITMODE_DEFAULT
;
}
static
FORCE_INLINE
void
tdDataColsSetBitmapI
(
SDataCols
*
pCols
)
{
pCols
->
bitmapMode
=
TSDB_BITMODE_ONE_BIT
;
}
static
FORCE_INLINE
bool
tdIsBitmapModeI
(
int8_t
bitmapMode
)
{
return
bitmapMode
!=
TSDB_BITMODE_DEFAULT
;
}
#define keyCol(pCols) (&((pCols)->cols[0])) // Key column
#define dataColsTKeyAt(pCols, idx) ((TKEY *)(keyCol(pCols)->pData))[(idx)] // the idx row of column-wised data
...
...
source/common/src/tdataformat.c
浏览文件 @
f4aaf791
...
...
@@ -855,7 +855,7 @@ SDataCols *tdNewDataCols(int maxCols, int maxRows) {
pCols
->
maxCols
=
maxCols
;
pCols
->
numOfRows
=
0
;
pCols
->
numOfCols
=
0
;
// pCols->bitmapMode = 0; // calloc already set 0
pCols
->
bitmapMode
=
TSDB_BITMODE_DEFAULT
;
if
(
maxCols
>
0
)
{
pCols
->
cols
=
(
SDataCol
*
)
taosMemoryCalloc
(
maxCols
,
sizeof
(
SDataCol
));
...
...
@@ -899,7 +899,7 @@ int tdInitDataCols(SDataCols *pCols, STSchema *pSchema) {
#endif
pCols
->
numOfRows
=
0
;
pCols
->
bitmapMode
=
0
;
pCols
->
bitmapMode
=
TSDB_BITMODE_DEFAULT
;
pCols
->
numOfCols
=
schemaNCols
(
pSchema
);
for
(
i
=
0
;
i
<
schemaNCols
(
pSchema
);
++
i
)
{
...
...
source/common/src/trow.c
浏览文件 @
f4aaf791
...
...
@@ -341,18 +341,19 @@ int32_t tdSetBitmapValTypeN(void *pBitmap, int16_t nEle, TDRowValT valType, int8
bool
tdIsBitmapBlkNorm
(
const
void
*
pBitmap
,
int32_t
numOfBits
,
int8_t
bitmapMode
)
{
int32_t
nBytes
=
(
bitmapMode
==
0
?
numOfBits
/
TD_VTYPE_PARTS
:
numOfBits
/
TD_VTYPE_PARTS_I
);
uint8_t
vTypeByte
=
tdVTypeByte
[
bitmapMode
][
TD_VTYPE_NORM
];
uint8_t
*
qBitmap
=
(
uint8_t
*
)
pBitmap
;
for
(
int
i
=
0
;
i
<
nBytes
;
++
i
)
{
if
(
*
((
uint8_t
*
)
pBitmap
)
!=
vTypeByte
)
{
if
(
*
qBitmap
!=
vTypeByte
)
{
return
false
;
}
pBitmap
=
POINTER_SHIFT
(
pBitmap
,
i
);
qBitmap
=
(
uint8_t
*
)
POINTER_SHIFT
(
pBitmap
,
i
);
}
int32_t
nLeft
=
numOfBits
-
nBytes
*
(
bitmapMode
==
0
?
TD_VTYPE_BITS
:
TD_VTYPE_BITS_I
);
for
(
int
j
=
0
;
j
<
nLeft
;
++
j
)
{
uint8_t
vType
;
tdGetBitmapValType
(
p
Bitmap
,
j
,
&
vType
,
bitmapMode
);
tdGetBitmapValType
(
q
Bitmap
,
j
,
&
vType
,
bitmapMode
);
if
(
vType
!=
TD_VTYPE_NORM
)
{
return
false
;
}
...
...
source/dnode/vnode/src/tsdb/tsdbCommit.c
浏览文件 @
f4aaf791
...
...
@@ -1138,6 +1138,9 @@ int tsdbWriteBlockImpl(STsdb *pRepo, STable *pTable, SDFile *pDFile, SDFile *pDF
memcpy
(
tptr
,
pDataCol
->
pData
,
flen
);
if
(
tBitmaps
>
0
)
{
bptr
=
POINTER_SHIFT
(
pBlockData
,
lsize
+
flen
);
if
(
isSuper
&&
!
tdDataColsIsBitmapI
(
pDataCols
))
{
tdMergeBitmap
((
uint8_t
*
)
pDataCol
->
pBitmap
,
rowsToWrite
,
(
uint8_t
*
)
pDataCol
->
pBitmap
);
}
memcpy
(
bptr
,
pDataCol
->
pBitmap
,
tBitmaps
);
tBitmapsLen
=
tBitmaps
;
flen
+=
tBitmapsLen
;
...
...
@@ -1503,13 +1506,16 @@ static void tsdbLoadAndMergeFromCache(SDataCols *pDataCols, int *iter, SCommitIt
tSkipListIterNext
(
pCommitIter
->
pIter
);
}
else
{
if
(
lastKey
!=
key1
)
{
if
(
lastKey
!=
TSKEY_INITIAL_VAL
)
{
++
pTarget
->
numOfRows
;
}
lastKey
=
key1
;
++
pTarget
->
numOfRows
;
}
// copy disk data
for
(
int
i
=
0
;
i
<
pDataCols
->
numOfCols
;
++
i
)
{
SCellVal
sVal
=
{
0
};
// no duplicated TS keys in pDataCols from file
if
(
tdGetColDataOfRow
(
&
sVal
,
pDataCols
->
cols
+
i
,
*
iter
,
pDataCols
->
bitmapMode
)
<
0
)
{
TASSERT
(
0
);
}
...
...
source/dnode/vnode/src/tsdb/tsdbRead.c
浏览文件 @
f4aaf791
...
...
@@ -1965,7 +1965,7 @@ static void doMergeTwoLevelData(STsdbReadHandle* pTsdbReadHandle, STableCheckInf
SDataCols
*
pCols
=
pTsdbReadHandle
->
rhelper
.
pDCols
[
0
];
assert
(
pCols
->
cols
[
0
].
type
==
TSDB_DATA_TYPE_TIMESTAMP
&&
pCols
->
cols
[
0
].
colId
==
PRIMARYKEY_TIMESTAMP_COL_ID
&&
cur
->
pos
>=
0
&&
cur
->
pos
<
pBlock
->
numOfRows
);
// Even Multi-Version supported, the records with duplicated TSKEY would be merged inside of tsdbLoadData interface.
TSKEY
*
tsArray
=
pCols
->
cols
[
0
].
pData
;
assert
(
pCols
->
numOfRows
==
pBlock
->
numOfRows
&&
tsArray
[
0
]
==
pBlock
->
keyFirst
&&
tsArray
[
pBlock
->
numOfRows
-
1
]
==
pBlock
->
keyLast
);
...
...
@@ -1995,6 +1995,7 @@ static void doMergeTwoLevelData(STsdbReadHandle* pTsdbReadHandle, STableCheckInf
int32_t
pos
=
cur
->
pos
;
cur
->
win
=
TSWINDOW_INITIALIZER
;
bool
adjustPos
=
false
;
// no data in buffer, load data from file directly
if
(
pCheckInfo
->
iiter
==
NULL
&&
pCheckInfo
->
iter
==
NULL
)
{
...
...
@@ -2016,6 +2017,13 @@ static void doMergeTwoLevelData(STsdbReadHandle* pTsdbReadHandle, STableCheckInf
break
;
}
if
(
adjustPos
)
{
if
(
key
==
lastKeyAppend
)
{
pos
-=
step
;
}
adjustPos
=
false
;
}
if
(((
pos
>
endPos
||
tsArray
[
pos
]
>
pTsdbReadHandle
->
window
.
ekey
)
&&
ascScan
)
||
((
pos
<
endPos
||
tsArray
[
pos
]
<
pTsdbReadHandle
->
window
.
ekey
)
&&
!
ascScan
))
{
break
;
...
...
@@ -2107,7 +2115,9 @@ static void doMergeTwoLevelData(STsdbReadHandle* pTsdbReadHandle, STableCheckInf
moveToNextRowInMem
(
pCheckInfo
);
pos
+=
step
;
adjustPos
=
true
;
}
else
{
// discard the memory record
moveToNextRowInMem
(
pCheckInfo
);
}
}
else
if
((
key
>
tsArray
[
pos
]
&&
ascScan
)
||
(
key
<
tsArray
[
pos
]
&&
!
ascScan
))
{
...
...
source/dnode/vnode/src/tsdb/tsdbReadImpl.c
浏览文件 @
f4aaf791
...
...
@@ -20,11 +20,11 @@
static
void
tsdbResetReadTable
(
SReadH
*
pReadh
);
static
void
tsdbResetReadFile
(
SReadH
*
pReadh
);
static
int
tsdbLoadBlockOffset
(
SReadH
*
pReadh
,
SBlock
*
pBlock
);
static
int
tsdbLoadBlockDataImpl
(
SReadH
*
pReadh
,
SBlock
*
pBlock
,
SDataCols
*
pDataCols
);
static
int
tsdbLoadBlockDataImpl
(
SReadH
*
pReadh
,
SBlock
*
pBlock
,
SDataCols
*
pDataCols
,
int8_t
bitmapMode
);
static
int
tsdbCheckAndDecodeColumnData
(
SDataCol
*
pDataCol
,
void
*
content
,
int32_t
len
,
int32_t
bitmapLen
,
int8_t
comp
,
int
numOfRows
,
int
numOfBitmaps
,
int
maxPoints
,
char
*
buffer
,
int
bufferSize
);
static
int
tsdbLoadBlockDataColsImpl
(
SReadH
*
pReadh
,
SBlock
*
pBlock
,
SDataCols
*
pDataCols
,
const
int16_t
*
colIds
,
int
numOfColIds
);
int
numOfColIds
,
int8_t
bitmapMode
);
static
int
tsdbLoadColData
(
SReadH
*
pReadh
,
SDFile
*
pDFile
,
SBlock
*
pBlock
,
SBlockCol
*
pBlockCol
,
SDataCol
*
pDataCol
);
int
tsdbInitReadH
(
SReadH
*
pReadh
,
STsdb
*
pRepo
)
{
...
...
@@ -266,10 +266,11 @@ int tsdbLoadBlockData(SReadH *pReadh, SBlock *pBlock, SBlockInfo *pBlkInfo) {
}
}
if
(
tsdbLoadBlockDataImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
0
])
<
0
)
return
-
1
;
if
(
tsdbLoadBlockDataImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
0
],
TSDB_BITMODE_ONE_BIT
)
<
0
)
return
-
1
;
for
(
int
i
=
1
;
i
<
pBlock
->
numOfSubBlocks
;
i
++
)
{
iBlock
++
;
if
(
tsdbLoadBlockDataImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
1
])
<
0
)
return
-
1
;
if
(
tsdbLoadBlockDataImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
1
]
,
TSDB_BITMODE_DEFAULT
)
<
0
)
return
-
1
;
// TODO: use the real maxVersion to replace the UINT64_MAX to support Multi-Version
if
(
tdMergeDataCols
(
pReadh
->
pDCols
[
0
],
pReadh
->
pDCols
[
1
],
pReadh
->
pDCols
[
1
]
->
numOfRows
,
NULL
,
TD_SUPPORT_UPDATE
(
update
),
TD_VER_MAX
)
<
0
)
...
...
@@ -309,10 +310,10 @@ int tsdbLoadBlockDataCols(SReadH *pReadh, SBlock *pBlock, SBlockInfo *pBlkInfo,
}
}
if
(
tsdbLoadBlockDataColsImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
0
],
colIds
,
numOfColsIds
)
<
0
)
return
-
1
;
if
(
tsdbLoadBlockDataColsImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
0
],
colIds
,
numOfColsIds
,
TSDB_BITMODE_ONE_BIT
)
<
0
)
return
-
1
;
for
(
int
i
=
1
;
i
<
pBlock
->
numOfSubBlocks
;
i
++
)
{
iBlock
++
;
if
(
tsdbLoadBlockDataColsImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
1
],
colIds
,
numOfColsIds
)
<
0
)
return
-
1
;
if
(
tsdbLoadBlockDataColsImpl
(
pReadh
,
iBlock
,
pReadh
->
pDCols
[
1
],
colIds
,
numOfColsIds
,
TSDB_BITMODE_DEFAULT
)
<
0
)
return
-
1
;
// TODO: use the real maxVersion to replace the UINT64_MAX to support Multi-Version
if
(
tdMergeDataCols
(
pReadh
->
pDCols
[
0
],
pReadh
->
pDCols
[
1
],
pReadh
->
pDCols
[
1
]
->
numOfRows
,
NULL
,
TD_SUPPORT_UPDATE
(
update
),
TD_VER_MAX
)
<
0
)
...
...
@@ -543,14 +544,14 @@ static void tsdbResetReadFile(SReadH *pReadh) {
tsdbCloseDFileSet
(
TSDB_READ_FSET
(
pReadh
));
}
static
int
tsdbLoadBlockDataImpl
(
SReadH
*
pReadh
,
SBlock
*
pBlock
,
SDataCols
*
pDataCols
)
{
static
int
tsdbLoadBlockDataImpl
(
SReadH
*
pReadh
,
SBlock
*
pBlock
,
SDataCols
*
pDataCols
,
int8_t
bitmapMode
)
{
ASSERT
(
pBlock
->
numOfSubBlocks
==
0
||
pBlock
->
numOfSubBlocks
==
1
);
SDFile
*
pDFile
=
(
pBlock
->
last
)
?
TSDB_READ_LAST_FILE
(
pReadh
)
:
TSDB_READ_DATA_FILE
(
pReadh
);
tdResetDataCols
(
pDataCols
);
if
(
t
sdbIsSupBlock
(
pBlock
))
{
if
(
t
dIsBitmapModeI
(
bitmapMode
))
{
tdDataColsSetBitmapI
(
pDataCols
);
}
...
...
@@ -730,7 +731,7 @@ static int tsdbCheckAndDecodeColumnData(SDataCol *pDataCol, void *content, int32
}
static
int
tsdbLoadBlockDataColsImpl
(
SReadH
*
pReadh
,
SBlock
*
pBlock
,
SDataCols
*
pDataCols
,
const
int16_t
*
colIds
,
int
numOfColIds
)
{
int
numOfColIds
,
int8_t
bitmapMode
)
{
ASSERT
(
pBlock
->
numOfSubBlocks
==
0
||
pBlock
->
numOfSubBlocks
==
1
);
ASSERT
(
colIds
[
0
]
==
PRIMARYKEY_TIMESTAMP_COL_ID
);
...
...
@@ -739,7 +740,7 @@ static int tsdbLoadBlockDataColsImpl(SReadH *pReadh, SBlock *pBlock, SDataCols *
tdResetDataCols
(
pDataCols
);
if
(
t
sdbIsSupBlock
(
pBlock
))
{
if
(
t
dIsBitmapModeI
(
bitmapMode
))
{
tdDataColsSetBitmapI
(
pDataCols
);
}
...
...
tests/script/tsim/insert/commit-merge0.sim
0 → 100644
浏览文件 @
f4aaf791
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sleep 50
sql connect
print =============== create database
sql create database db days 300 keep 365000d,365000d,365000d
sql show databases
if $rows != 3 then
return -1
endi
print $data00 $data01 $data02
sql use db
sql create table stb1(ts timestamp, c6 double) tags (t1 int);
sql create table ct1 using stb1 tags ( 1 );
sql create table ct2 using stb1 tags ( 2 );
sql create table ct3 using stb1 tags ( 3 );
sql create table ct4 using stb1 tags ( 4 );
sql insert into ct1 values ('2022-05-01 18:30:27.001', 0.0);
sql insert into ct4 values ('2022-04-28 18:30:27.002', 0.0);
sql insert into ct1 values ('2022-05-01 18:30:17.003', 11.11);
sql insert into ct4 values ('2022-02-01 18:30:27.004', 11.11);
sql insert into ct1 values ('2022-05-01 18:30:07.005', 22.22);
sql insert into ct4 values ('2021-11-01 18:30:27.006', 22.22);
sql insert into ct1 values ('2022-05-01 18:29:27.007', 33.33);
sql insert into ct4 values ('2022-08-01 18:30:27.008', 33.33);
sql insert into ct1 values ('2022-05-01 18:20:27.009', 44.44);
sql insert into ct4 values ('2021-05-01 18:30:27.010', 44.44);
sql insert into ct1 values ('2022-05-01 18:21:27.011', 55.55);
sql insert into ct4 values ('2021-01-01 18:30:27.012', 55.55);
sql insert into ct1 values ('2022-05-01 18:22:27.013', 66.66);
sql insert into ct4 values ('2020-06-01 18:30:27.014', 66.66);
sql insert into ct1 values ('2022-05-01 18:28:37.015', 77.77);
sql insert into ct4 values ('2020-05-01 18:30:27.016', 77.77);
sql insert into ct1 values ('2022-05-01 18:29:17.017', 88.88);
sql insert into ct4 values ('2019-05-01 18:30:27.018', 88.88);
sql insert into ct1 values ('2022-05-01 18:30:20.019', 0);
sql insert into ct1 values ('2022-05-01 18:30:47.020', -99.99);
sql insert into ct1 values ('2022-05-01 18:30:49.021', NULL);
sql insert into ct1 values ('2022-05-01 18:30:51.022', -99.99);
sql insert into ct4 values ('2018-05-01 18:30:27.023', NULL) ;
sql insert into ct4 values ('2021-03-01 18:30:27.024', NULL) ;
sql insert into ct4 values ('2022-08-01 18:30:27.025', NULL) ;
print =============== select * from ct1 - memory
sql select * from stb1;
if $rows != 25 then
print rows = $rows != 25
return -1
endi
print =============== stop and restart taosd
$reboot_max = 10;
$reboot_cnt = 0
reboot_and_check:
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s start
$loop_cnt = 0
check_dnode_ready:
$loop_cnt = $loop_cnt + 1
sleep 200
if $loop_cnt == 10 then
print ====> dnode not ready!
return -1
endi
sql show dnodes
print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
if $data00 != 1 then
return -1
endi
if $data04 != ready then
goto check_dnode_ready
endi
print =============== insert duplicated records to memory - loop $reboot_max - $reboot_cnt
sql use db
sql insert into ct1 values ('2022-05-01 18:30:27.001', 0.0);
sql insert into ct4 values ('2022-04-28 18:30:27.002', 0.0);
sql insert into ct1 values ('2022-05-01 18:30:17.003', 11.11);
sql insert into ct4 values ('2022-02-01 18:30:27.004', 11.11);
sql insert into ct1 values ('2022-05-01 18:30:07.005', 22.22);
sql insert into ct4 values ('2021-11-01 18:30:27.006', 22.22);
sql insert into ct1 values ('2022-05-01 18:29:27.007', 33.33);
sql insert into ct4 values ('2022-08-01 18:30:27.008', 33.33);
sql insert into ct1 values ('2022-05-01 18:20:27.009', 44.44);
sql insert into ct4 values ('2021-05-01 18:30:27.010', 44.44);
sql insert into ct1 values ('2022-05-01 18:21:27.011', 55.55);
sql insert into ct4 values ('2021-01-01 18:30:27.012', 55.55);
sql insert into ct1 values ('2022-05-01 18:22:27.013', 66.66);
sql insert into ct4 values ('2020-06-01 18:30:27.014', 66.66);
sql insert into ct1 values ('2022-05-01 18:28:37.015', 77.77);
sql insert into ct4 values ('2020-05-01 18:30:27.016', 77.77);
sql insert into ct1 values ('2022-05-01 18:29:17.017', 88.88);
sql insert into ct4 values ('2019-05-01 18:30:27.018', 88.88);
sql insert into ct1 values ('2022-05-01 18:30:20.019', 0);
sql insert into ct1 values ('2022-05-01 18:30:47.020', -99.99);
sql insert into ct1 values ('2022-05-01 18:30:49.021', NULL);
sql insert into ct1 values ('2022-05-01 18:30:51.022', -99.99);
sql insert into ct4 values ('2018-05-01 18:30:27.023', NULL) ;
sql insert into ct4 values ('2021-03-01 18:30:27.024', NULL) ;
sql insert into ct4 values ('2022-08-01 18:30:27.025', NULL) ;
print =============== select * from ct1 - merge memory and file - loop $reboot_max - $reboot_cnt
sql select * from ct1;
if $rows != 13 then
print rows = $rows != 13
return -1
endi
print $data[0][0] $data[0][1]
print $data[1][0] $data[1][1]
print $data[2][0] $data[2][1]
print $data[3][0] $data[3][1]
print $data[4][0] $data[4][1]
print $data[5][0] $data[5][1]
print $data[6][0] $data[6][1]
print $data[7][0] $data[7][1]
print $data[8][0] $data[8][1]
print $data[9][0] $data[9][1]
print $data[10][0] $data[10][1]
print $data[11][0] $data[11][1]
print $data[12][0] $data[12][1]
if $data[0][1] != 44.440000000 then
print $data[0][1] != 44.440000000
return -1
endi
if $data[1][1] != 55.550000000 then
print $data[1][1] != 55.550000000
return -1
endi
if $data[2][1] != 66.660000000 then
print $data[2][1] != 66.660000000
return -1
endi
if $data[3][1] != 77.770000000 then
print $data[3][1] != 77.770000000
return -1
endi
if $data[4][1] != 88.880000000 then
print $data[4][1] != 88.880000000
return -1
endi
if $data[5][1] != 33.330000000 then
print $data[5][1] != 33.330000000
return -1
endi
if $data[6][1] != 22.220000000 then
print $data[6][1] != 22.220000000
return -1
endi
if $data[7][1] != 11.110000000 then
print $data[7][1] != 11.110000000
return -1
endi
if $data[8][1] != 0.000000000 then
print $data[8][1] != 0.000000000
return -1
endi
if $data[9][1] != 0.000000000 then
print $data[9][1] != 0.000000000
return -1
endi
if $data[10][1] != -99.990000000 then
print $data[10][1] != -99.990000000
return -1
endi
if $data[11][1] != NULL then
print $data[11][1] != NULL
return -1
endi
if $data[12][1] != -99.990000000 then
print $data[12][1] != -99.990000000
return -1
endi
print =============== select * from ct4 - merge memory and file - loop $reboot_max - $reboot_cnt
sql select * from ct4;
if $rows != 12 then
print rows = $rows != 12
return -1
endi
print $data[0][0] $data[0][1]
print $data[1][0] $data[1][1]
print $data[2][0] $data[2][1]
print $data[3][0] $data[3][1]
print $data[4][0] $data[4][1]
print $data[5][0] $data[5][1]
print $data[6][0] $data[6][1]
print $data[7][0] $data[7][1]
print $data[8][0] $data[8][1]
print $data[9][0] $data[9][1]
print $data[10][0] $data[10][1]
print $data[11][0] $data[11][1]
if $data[0][1] != NULL then
print $data[0][1] != NULL
return -1
endi
if $data[1][1] != 88.880000000 then
print $data[1][1] != 88.880000000
return -1
endi
if $data[2][1] != 77.770000000 then
print $data[2][1] != 77.770000000
return -1
endi
if $data[3][1] != 66.660000000 then
print $data[3][1] != 66.660000000
return -1
endi
if $data[4][1] != 55.550000000 then
print $data[4][1] != 55.550000000
return -1
endi
if $data[5][1] != NULL then
print $data[5][1] != NULL
return -1
endi
if $data[6][1] != 44.440000000 then
print $data[6][1] != 44.440000000
return -1
endi
if $data[7][1] != 22.220000000 then
print $data[7][1] != 22.220000000
return -1
endi
if $data[8][1] != 11.110000000 then
print $data[8][1] != 11.110000000
return -1
endi
if $data[9][1] != 0.000000000 then
print $data[9][1] != 0.000000000
return -1
endi
if $data[10][1] != 33.330000000 then
print $data[10][1] != 33.330000000
return -1
endi
if $data[11][1] != NULL then
print $data[11][1] != NULL
return -1
endi
if $reboot_cnt > $reboot_max then
print reboot_cnt $reboot_cnt > reboot_max $reboot_max
return 0
else
print reboot_cnt $reboot_cnt <= reboot_max $reboot_max
$reboot_cnt = $reboot_cnt + 1
goto reboot_and_check
endi
tests/script/tsim/insert/update0.sim
浏览文件 @
f4aaf791
...
...
@@ -99,6 +99,23 @@ endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s start
$loop_cnt = 0
check_dnode_ready:
$loop_cnt = $loop_cnt + 1
sleep 200
if $loop_cnt == 10 then
print ====> dnode not ready!
return -1
endi
sql show dnodes
print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
if $data00 != 1 then
return -1
endi
if $data04 != ready then
goto check_dnode_ready
endi
print =============== step3-2 query records of ct1 from file
sql select * from ct1;
print $data00 $data01
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录