Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
6dec0284
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6dec0284
编写于
6月 13, 2020
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' into feature/query
上级
f87322f6
705e8178
变更
35
隐藏空白更改
内联
并排
Showing
35 changed file
with
754 addition
and
70 deletion
+754
-70
src/client/src/tscLocal.c
src/client/src/tscLocal.c
+2
-1
src/client/src/tscServer.c
src/client/src/tscServer.c
+3
-2
src/common/inc/tglobal.h
src/common/inc/tglobal.h
+1
-0
src/common/src/tglobal.c
src/common/src/tglobal.c
+19
-3
src/inc/trpc.h
src/inc/trpc.h
+1
-1
src/mnode/src/mnodeProfile.c
src/mnode/src/mnodeProfile.c
+12
-6
src/mnode/src/mnodeSdb.c
src/mnode/src/mnodeSdb.c
+2
-2
src/mnode/src/mnodeTable.c
src/mnode/src/mnodeTable.c
+3
-2
src/mnode/src/mnodeUser.c
src/mnode/src/mnodeUser.c
+2
-1
src/plugins/http/src/httpAuth.c
src/plugins/http/src/httpAuth.c
+4
-2
src/rpc/src/rpcMain.c
src/rpc/src/rpcMain.c
+11
-4
src/vnode/src/vnodeMain.c
src/vnode/src/vnodeMain.c
+20
-16
tests/pytest/fulltest.sh
tests/pytest/fulltest.sh
+3
-0
tests/pytest/query/filterAllIntTypes.py
tests/pytest/query/filterAllIntTypes.py
+117
-0
tests/pytest/query/filterFloatAndDouble.py
tests/pytest/query/filterFloatAndDouble.py
+160
-0
tests/pytest/query/filterOtherTypes.py
tests/pytest/query/filterOtherTypes.py
+362
-0
tests/pytest/regressiontest.sh
tests/pytest/regressiontest.sh
+2
-0
tests/script/unique/arbitrator/dn3_mn1_replica_change.sim
tests/script/unique/arbitrator/dn3_mn1_replica_change.sim
+2
-2
tests/script/unique/arbitrator/dn3_mn1_replica_change_dropDnod.sim
...ipt/unique/arbitrator/dn3_mn1_replica_change_dropDnod.sim
+1
-1
tests/script/unique/arbitrator/dn3_mn1_stopDnode_timeout.sim
tests/script/unique/arbitrator/dn3_mn1_stopDnode_timeout.sim
+1
-1
tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim
tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim
+1
-1
tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim
...t/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim
+2
-2
tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim
...pt/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim
+2
-2
tests/script/unique/arbitrator/dn3_mn1_vnode_delDir.sim
tests/script/unique/arbitrator/dn3_mn1_vnode_delDir.sim
+1
-1
tests/script/unique/arbitrator/dn3_mn1_vnode_nomaster.sim
tests/script/unique/arbitrator/dn3_mn1_vnode_nomaster.sim
+2
-2
tests/script/unique/arbitrator/offline_replica2_alterTable_online.sim
.../unique/arbitrator/offline_replica2_alterTable_online.sim
+1
-1
tests/script/unique/arbitrator/offline_replica2_alterTag_online.sim
...pt/unique/arbitrator/offline_replica2_alterTag_online.sim
+3
-3
tests/script/unique/arbitrator/offline_replica2_createTable_online.sim
...unique/arbitrator/offline_replica2_createTable_online.sim
+1
-1
tests/script/unique/arbitrator/offline_replica2_dropDb_online.sim
...ript/unique/arbitrator/offline_replica2_dropDb_online.sim
+1
-1
tests/script/unique/arbitrator/offline_replica2_dropTable_online.sim
...t/unique/arbitrator/offline_replica2_dropTable_online.sim
+3
-3
tests/script/unique/arbitrator/offline_replica3_alterTable_online.sim
.../unique/arbitrator/offline_replica3_alterTable_online.sim
+1
-1
tests/script/unique/arbitrator/offline_replica3_alterTag_online.sim
...pt/unique/arbitrator/offline_replica3_alterTag_online.sim
+3
-3
tests/script/unique/arbitrator/offline_replica3_createTable_online.sim
...unique/arbitrator/offline_replica3_createTable_online.sim
+1
-1
tests/script/unique/arbitrator/offline_replica3_dropDb_online.sim
...ript/unique/arbitrator/offline_replica3_dropDb_online.sim
+1
-1
tests/script/unique/arbitrator/offline_replica3_dropTable_online.sim
...t/unique/arbitrator/offline_replica3_dropTable_online.sim
+3
-3
未找到文件。
src/client/src/tscLocal.c
浏览文件 @
6dec0284
...
...
@@ -279,7 +279,8 @@ static void tscProcessCurrentUser(SSqlObj *pSql) {
pExpr
->
resType
=
TSDB_DATA_TYPE_BINARY
;
char
*
vx
=
calloc
(
1
,
pExpr
->
resBytes
);
STR_WITH_MAXSIZE_TO_VARSTR
(
vx
,
pSql
->
pTscObj
->
user
,
sizeof
(
pSql
->
pTscObj
->
user
));
size_t
size
=
sizeof
(
pSql
->
pTscObj
->
user
);
STR_WITH_MAXSIZE_TO_VARSTR
(
vx
,
pSql
->
pTscObj
->
user
,
size
);
tscSetLocalQueryResult
(
pSql
,
vx
,
pExpr
->
aliasName
,
pExpr
->
resType
,
pExpr
->
resBytes
);
free
(
vx
);
...
...
src/client/src/tscServer.c
浏览文件 @
6dec0284
...
...
@@ -1708,8 +1708,9 @@ int tscBuildSTableVgroupMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
for
(
int32_t
i
=
0
;
i
<
pQueryInfo
->
numOfTables
;
++
i
)
{
STableMetaInfo
*
pTableMetaInfo
=
tscGetTableMetaInfoFromCmd
(
pCmd
,
pCmd
->
clauseIndex
,
i
);
tstrncpy
(
pMsg
,
pTableMetaInfo
->
name
,
sizeof
(
pTableMetaInfo
->
name
));
pMsg
+=
sizeof
(
pTableMetaInfo
->
name
);
size_t
size
=
sizeof
(
pTableMetaInfo
->
name
);
tstrncpy
(
pMsg
,
pTableMetaInfo
->
name
,
size
);
pMsg
+=
size
;
}
pCmd
->
msgType
=
TSDB_MSG_TYPE_CM_STABLE_VGROUP
;
...
...
src/common/inc/tglobal.h
浏览文件 @
6dec0284
...
...
@@ -53,6 +53,7 @@ extern int64_t tsMsPerDay[3];
extern
char
tsFirst
[];
extern
char
tsSecond
[];
extern
char
tsLocalFqdn
[];
extern
char
tsLocalEp
[];
extern
uint16_t
tsServerPort
;
extern
uint16_t
tsDnodeShellPort
;
...
...
src/common/src/tglobal.c
浏览文件 @
6dec0284
...
...
@@ -65,6 +65,7 @@ int64_t tsMsPerDay[] = {86400000L, 86400000000L, 86400000000000L};
char
tsFirst
[
TSDB_EP_LEN
]
=
{
0
};
char
tsSecond
[
TSDB_EP_LEN
]
=
{
0
};
char
tsArbitrator
[
TSDB_EP_LEN
]
=
{
0
};
char
tsLocalFqdn
[
TSDB_FQDN_LEN
]
=
{
0
};
char
tsLocalEp
[
TSDB_EP_LEN
]
=
{
0
};
// Local End Point, hostname:port
uint16_t
tsServerPort
=
6030
;
uint16_t
tsDnodeShellPort
=
6030
;
// udp[6035-6039] tcp[6035]
...
...
@@ -305,6 +306,16 @@ static void doInitGlobalConfig() {
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
cfg
.
option
=
"fqdn"
;
cfg
.
ptr
=
tsLocalFqdn
;
cfg
.
valType
=
TAOS_CFG_VTYPE_STRING
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_CLIENT
;
cfg
.
minValue
=
0
;
cfg
.
maxValue
=
0
;
cfg
.
ptrLength
=
TSDB_FQDN_LEN
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
// port
cfg
.
option
=
"serverPort"
;
cfg
.
ptr
=
&
tsServerPort
;
...
...
@@ -1251,9 +1262,14 @@ bool taosCheckGlobalCfg() {
taosSetAllDebugFlag
();
}
taosGetFqdn
(
tsLocalEp
);
sprintf
(
tsLocalEp
+
strlen
(
tsLocalEp
),
":%d"
,
tsServerPort
);
uPrint
(
"localEp is %s"
,
tsLocalEp
);
if
(
tsLocalFqdn
[
0
]
==
0
)
{
taosGetFqdn
(
tsLocalFqdn
);
}
strcpy
(
tsLocalEp
,
tsLocalFqdn
);
snprintf
(
tsLocalEp
+
strlen
(
tsLocalEp
),
sizeof
(
tsLocalEp
),
":%d"
,
tsServerPort
);
uPrint
(
"localEp is: %s"
,
tsLocalEp
);
if
(
tsFirst
[
0
]
==
0
)
{
strcpy
(
tsFirst
,
tsLocalEp
);
...
...
src/inc/trpc.h
浏览文件 @
6dec0284
...
...
@@ -83,7 +83,7 @@ void rpcSendResponse(const SRpcMsg *pMsg);
void
rpcSendRedirectRsp
(
void
*
pConn
,
const
SRpcIpSet
*
pIpSet
);
int
rpcGetConnInfo
(
void
*
thandle
,
SRpcConnInfo
*
pInfo
);
void
rpcSendRecv
(
void
*
shandle
,
SRpcIpSet
*
pIpSet
,
const
SRpcMsg
*
pReq
,
SRpcMsg
*
pRsp
);
void
rpcReportProgress
(
void
*
pConn
,
char
*
pCont
,
int
contLen
);
int
rpcReportProgress
(
void
*
pConn
,
char
*
pCont
,
int
contLen
);
#ifdef __cplusplus
}
...
...
src/mnode/src/mnodeProfile.c
浏览文件 @
6dec0284
...
...
@@ -235,12 +235,14 @@ static int32_t mnodeRetrieveConns(SShowObj *pShow, char *data, int32_t rows, voi
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pConnObj
->
user
,
sizeof
(
pConnObj
->
user
));
size_t
size
=
sizeof
(
pConnObj
->
user
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pConnObj
->
user
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
snprintf
(
ipStr
,
sizeof
(
ipStr
),
"%s:%u"
,
taosIpStr
(
pConnObj
->
ip
),
pConnObj
->
port
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
ipStr
,
sizeof
(
ipStr
));
size
=
sizeof
(
ipStr
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
ipStr
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
...
...
@@ -358,12 +360,14 @@ static int32_t mnodeRetrieveQueries(SShowObj *pShow, char *data, int32_t rows, v
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pConnObj
->
user
,
sizeof
(
pConnObj
->
user
));
size_t
size
=
sizeof
(
pConnObj
->
user
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pConnObj
->
user
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
snprintf
(
ipStr
,
sizeof
(
ipStr
),
"%s:%u"
,
taosIpStr
(
pConnObj
->
ip
),
pConnObj
->
port
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
ipStr
,
sizeof
(
ipStr
));
size
=
sizeof
(
ipStr
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
ipStr
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
...
...
@@ -479,12 +483,14 @@ static int32_t mnodeRetrieveStreams(SShowObj *pShow, char *data, int32_t rows, v
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pConnObj
->
user
,
sizeof
(
pConnObj
->
user
));
size_t
size
=
sizeof
(
pConnObj
->
user
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pConnObj
->
user
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
snprintf
(
ipStr
,
sizeof
(
ipStr
),
"%s:%u"
,
taosIpStr
(
pConnObj
->
ip
),
pConnObj
->
port
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
ipStr
,
sizeof
(
ipStr
));
size
=
sizeof
(
ipStr
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
ipStr
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
...
...
src/mnode/src/mnodeSdb.c
浏览文件 @
6dec0284
...
...
@@ -451,7 +451,7 @@ static int32_t sdbInsertHash(SSdbTable *pTable, SSdbOper *pOper) {
pthread_mutex_unlock
(
&
pTable
->
mutex
);
sdbTrace
(
"table:%s, insert record:%s to hash, rowSize:%d
v
numOfRows:%"
PRId64
" version:%"
PRIu64
,
pTable
->
tableName
,
sdbTrace
(
"table:%s, insert record:%s to hash, rowSize:%d numOfRows:%"
PRId64
" version:%"
PRIu64
,
pTable
->
tableName
,
sdbGetKeyStrFromObj
(
pTable
,
pOper
->
pObj
),
pOper
->
rowSize
,
pTable
->
numOfRows
,
sdbGetVersion
());
(
*
pTable
->
insertFp
)(
pOper
);
...
...
@@ -475,7 +475,7 @@ static int32_t sdbDeleteHash(SSdbTable *pTable, SSdbOper *pOper) {
pTable
->
numOfRows
--
;
pthread_mutex_unlock
(
&
pTable
->
mutex
);
sdbTrace
(
"table:%s, delete record:%s from hash, numOfRows:%
d
"
PRId64
"version:%"
PRIu64
,
pTable
->
tableName
,
sdbTrace
(
"table:%s, delete record:%s from hash, numOfRows:%"
PRId64
"version:%"
PRIu64
,
pTable
->
tableName
,
sdbGetKeyStrFromObj
(
pTable
,
pOper
->
pObj
),
pTable
->
numOfRows
,
sdbGetVersion
());
int8_t
*
updateEnd
=
pOper
->
pObj
+
pTable
->
refCountPos
-
1
;
...
...
src/mnode/src/mnodeTable.c
浏览文件 @
6dec0284
...
...
@@ -1004,7 +1004,7 @@ static int32_t mnodeAddSuperTableColumn(SDbObj *pDb, SSuperTableObj *pStable, SS
sizeof
(
SSchema
)
*
pStable
->
numOfTags
);
memcpy
(
pStable
->
schema
+
pStable
->
numOfColumns
,
schema
,
sizeof
(
SSchema
)
*
ncols
);
SSchema
*
tschema
=
(
SSchema
*
)
(
pStable
->
schema
+
sizeof
(
SSchema
)
*
pStable
->
numOfColumns
);
SSchema
*
tschema
=
(
SSchema
*
)
(
pStable
->
schema
+
pStable
->
numOfColumns
);
for
(
int32_t
i
=
0
;
i
<
ncols
;
i
++
)
{
tschema
[
i
].
colId
=
pStable
->
nextColId
++
;
}
...
...
@@ -1770,7 +1770,8 @@ static int32_t mnodeAutoCreateChildTable(SMnodeMsg *pMsg) {
return
TSDB_CODE_MND_OUT_OF_MEMORY
;
}
tstrncpy
(
pCreateMsg
->
tableId
,
pInfo
->
tableId
,
sizeof
(
pInfo
->
tableId
));
size_t
size
=
sizeof
(
pInfo
->
tableId
);
tstrncpy
(
pCreateMsg
->
tableId
,
pInfo
->
tableId
,
size
);
tstrncpy
(
pCreateMsg
->
db
,
pMsg
->
pDb
->
name
,
sizeof
(
pCreateMsg
->
db
));
pCreateMsg
->
igExists
=
1
;
pCreateMsg
->
getMeta
=
1
;
...
...
src/mnode/src/mnodeUser.c
浏览文件 @
6dec0284
...
...
@@ -315,7 +315,8 @@ static int32_t mnodeRetrieveUsers(SShowObj *pShow, char *data, int32_t rows, voi
cols
=
0
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pUser
->
user
,
sizeof
(
pUser
->
user
));
size_t
size
=
sizeof
(
pUser
->
user
);
STR_WITH_MAXSIZE_TO_VARSTR
(
pWrite
,
pUser
->
user
,
size
);
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
...
...
src/plugins/http/src/httpAuth.c
浏览文件 @
6dec0284
...
...
@@ -101,8 +101,10 @@ bool httpParseTaosdAuthToken(HttpContext *pContext, char *token, int len) {
bool
httpGenTaosdAuthToken
(
HttpContext
*
pContext
,
char
*
token
,
int
maxLen
)
{
char
buffer
[
sizeof
(
pContext
->
user
)
+
sizeof
(
pContext
->
pass
)]
=
{
0
};
tstrncpy
(
buffer
,
pContext
->
user
,
sizeof
(
pContext
->
user
));
tstrncpy
(
buffer
+
sizeof
(
pContext
->
user
),
pContext
->
pass
,
sizeof
(
pContext
->
pass
));
size_t
size
=
sizeof
(
pContext
->
user
);
tstrncpy
(
buffer
,
pContext
->
user
,
size
);
size
=
sizeof
(
pContext
->
pass
);
tstrncpy
(
buffer
+
sizeof
(
pContext
->
user
),
pContext
->
pass
,
size
);
char
*
encrypt
=
taosDesEncode
(
KEY_DES_4
,
buffer
,
TSDB_USER_LEN
+
TSDB_PASSWORD_LEN
);
char
*
base64
=
base64_encode
((
const
unsigned
char
*
)
encrypt
,
TSDB_USER_LEN
+
TSDB_PASSWORD_LEN
);
...
...
src/rpc/src/rpcMain.c
浏览文件 @
6dec0284
...
...
@@ -486,12 +486,19 @@ void rpcSendRecv(void *shandle, SRpcIpSet *pIpSet, const SRpcMsg *pMsg, SRpcMsg
}
// this API is used by server app to keep an APP context in case connection is broken
void
rpcReportProgress
(
void
*
handle
,
char
*
pCont
,
int
contLen
)
{
int
rpcReportProgress
(
void
*
handle
,
char
*
pCont
,
int
contLen
)
{
SRpcConn
*
pConn
=
(
SRpcConn
*
)
handle
;
// pReqMsg and reqMsgLen is re-used to store the context from app server
pConn
->
pReqMsg
=
pCont
;
pConn
->
reqMsgLen
=
contLen
;
if
(
pConn
->
user
[
0
])
{
// pReqMsg and reqMsgLen is re-used to store the context from app server
pConn
->
pReqMsg
=
pCont
;
pConn
->
reqMsgLen
=
contLen
;
return
0
;
}
tTrace
(
"%s, rpc connection is already released"
,
pConn
->
info
);
rpcFreeCont
(
pCont
);
return
-
1
;
}
static
void
rpcFreeMsg
(
void
*
msg
)
{
...
...
src/vnode/src/vnodeMain.c
浏览文件 @
6dec0284
...
...
@@ -321,6 +321,22 @@ void vnodeRelease(void *pVnodeRaw) {
return
;
}
if
(
pVnode
->
tsdb
)
tsdbCloseRepo
(
pVnode
->
tsdb
,
1
);
pVnode
->
tsdb
=
NULL
;
if
(
pVnode
->
wal
)
walClose
(
pVnode
->
wal
);
pVnode
->
wal
=
NULL
;
if
(
pVnode
->
wqueue
)
dnodeFreeVnodeWqueue
(
pVnode
->
wqueue
);
pVnode
->
wqueue
=
NULL
;
if
(
pVnode
->
rqueue
)
dnodeFreeVnodeRqueue
(
pVnode
->
rqueue
);
pVnode
->
rqueue
=
NULL
;
tfree
(
pVnode
->
rootDir
);
if
(
pVnode
->
status
==
TAOS_VN_STATUS_DELETING
)
{
...
...
@@ -411,33 +427,21 @@ void vnodeBuildStatusMsg(void *param) {
}
static
void
vnodeCleanUp
(
SVnodeObj
*
pVnode
)
{
// remove from hash, so new messages wont be consumed
taosHashRemove
(
tsDnodeVnodesHash
,
(
const
char
*
)
&
pVnode
->
vgId
,
sizeof
(
int32_t
));
// stop replication module
if
(
pVnode
->
sync
)
{
syncStop
(
pVnode
->
sync
);
pVnode
->
sync
=
NULL
;
}
if
(
pVnode
->
tsdb
)
tsdbCloseRepo
(
pVnode
->
tsdb
,
1
);
pVnode
->
tsdb
=
NULL
;
if
(
pVnode
->
wal
)
walClose
(
pVnode
->
wal
);
pVnode
->
wal
=
NULL
;
// stop continuous query
if
(
pVnode
->
cq
)
cqClose
(
pVnode
->
cq
);
pVnode
->
cq
=
NULL
;
if
(
pVnode
->
wqueue
)
dnodeFreeVnodeWqueue
(
pVnode
->
wqueue
);
pVnode
->
wqueue
=
NULL
;
if
(
pVnode
->
rqueue
)
dnodeFreeVnodeRqueue
(
pVnode
->
rqueue
);
pVnode
->
rqueue
=
NULL
;
// release local resources only after cutting off outside connections
vnodeRelease
(
pVnode
);
}
...
...
tests/pytest/fulltest.sh
浏览文件 @
6dec0284
...
...
@@ -134,6 +134,9 @@ python3 ./test.py -f query/filter.py
python3 ./test.py
-f
query/filterCombo.py
python3 ./test.py
-f
query/queryNormal.py
python3 ./test.py
-f
query/queryError.py
python3 ./test.py
-f
query/filterAllIntTypes.py
python3 ./test.py
-f
query/filterFloatAndDouble.py
python3 ./test.py
-f
query/filterOtherTypes.py
#stream
python3 ./test.py
-f
stream/stream1.py
...
...
tests/pytest/query/filterAllIntTypes.py
0 → 100644
浏览文件 @
6dec0284
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
sys
import
taos
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
())
self
.
powers
=
[
7
,
15
,
31
,
63
]
self
.
types
=
[
"tinyint"
,
"smallint"
,
"int"
,
"bigint"
]
self
.
rowNum
=
10
self
.
ts
=
1537146000000
def
run
(
self
):
tdSql
.
prepare
()
for
i
in
range
(
len
(
self
.
powers
)):
curType
=
self
.
types
[
i
]
print
(
"======= Verify filter for %s type ========="
%
(
curType
))
tdLog
.
debug
(
"create table st%s(ts timestamp, num %s) tags(id %s)"
%
(
curType
,
curType
,
curType
))
tdSql
.
execute
(
"create table st%s(ts timestamp, num %s) tags(id %s)"
%
(
curType
,
curType
,
curType
))
#create 10 tables, insert 10 rows for each table
for
j
in
range
(
self
.
rowNum
):
tdSql
.
execute
(
"create table st%s%d using st%s tags(%d)"
%
(
curType
,
j
+
1
,
curType
,
j
+
1
))
for
k
in
range
(
self
.
rowNum
):
tdSql
.
execute
(
"insert into st%s%d values(%d, %d)"
%
(
curType
,
j
+
1
,
self
.
ts
+
k
+
1
,
j
*
10
+
k
+
1
))
tdSql
.
error
(
"insert into st%s10 values(%d, %d)"
%
(
curType
,
self
.
ts
+
11
,
pow
(
2
,
self
.
powers
[
i
])))
tdSql
.
execute
(
"insert into st%s10 values(%d, %d)"
%
(
curType
,
self
.
ts
+
12
,
pow
(
2
,
self
.
powers
[
i
])
-
1
))
tdSql
.
error
(
"insert into st%s10 values(%d, %d)"
%
(
curType
,
self
.
ts
+
13
,
pow
(
-
2
,
self
.
powers
[
i
])))
tdSql
.
execute
(
"insert into st%s10 values(%d, %d)"
%
(
curType
,
self
.
ts
+
14
,
pow
(
-
2
,
self
.
powers
[
i
])
+
1
))
# > for int type on column
tdSql
.
query
(
"select * from st%s where num > 50"
%
curType
)
tdSql
.
checkRows
(
51
)
# >= for int type on column
tdSql
.
query
(
"select * from st%s where num >= 50"
%
curType
)
tdSql
.
checkRows
(
52
)
# = for int type on column
tdSql
.
query
(
"select * from st%s where num = 50"
%
curType
)
tdSql
.
checkRows
(
1
)
# < for int type on column
tdSql
.
query
(
"select * from st%s where num < 50"
%
curType
)
tdSql
.
checkRows
(
50
)
# <= for int type on column
tdSql
.
query
(
"select * from st%s where num <= 50"
%
curType
)
tdSql
.
checkRows
(
51
)
# <> for int type on column
tdSql
.
query
(
"select * from st%s where num <> 50"
%
curType
)
tdSql
.
checkRows
(
101
)
# != for int type on column
tdSql
.
query
(
"select * from st%s where num != 50"
%
curType
)
tdSql
.
checkRows
(
101
)
# > for int type on tag
tdSql
.
query
(
"select * from st%s where id > 5"
%
curType
)
tdSql
.
checkRows
(
52
)
# >= for int type on tag
tdSql
.
query
(
"select * from st%s where id >= 5"
%
curType
)
tdSql
.
checkRows
(
62
)
# = for int type on tag
tdSql
.
query
(
"select * from st%s where id = 5"
%
curType
)
tdSql
.
checkRows
(
10
)
# < for int type on tag
tdSql
.
query
(
"select * from st%s where id < 5"
%
curType
)
tdSql
.
checkRows
(
40
)
# <= for int type on tag
tdSql
.
query
(
"select * from st%s where id <= 5"
%
curType
)
tdSql
.
checkRows
(
50
)
# <> for int type on tag
tdSql
.
query
(
"select * from st%s where id <> 5"
%
curType
)
tdSql
.
checkRows
(
92
)
# != for int type on tag
tdSql
.
query
(
"select * from st%s where id != 5"
%
curType
)
tdSql
.
checkRows
(
92
)
print
(
"======= Verify filter for %s type finished ========="
%
curType
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/query/filterFloatAndDouble.py
0 → 100644
浏览文件 @
6dec0284
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
sys
import
taos
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
())
self
.
rowNum
=
10
self
.
ts
=
1537146000000
def
run
(
self
):
tdSql
.
prepare
()
print
(
"======= Verify filter for float and double type ========="
)
tdLog
.
debug
(
"create table st(ts timestamp, num float, speed double) tags(tagcol1 float, tagcol2 double)"
)
tdSql
.
execute
(
"create table st(ts timestamp, num float, speed double) tags(tagcol1 float, tagcol2 double)"
)
for
j
in
range
(
self
.
rowNum
):
tdSql
.
execute
(
"insert into st1 using st tags(1.1, 2.3) values(%d, %f, %f)"
%
(
self
.
ts
+
j
+
1
,
1.1
*
(
j
+
1
),
2.3
*
(
j
+
1
)))
# > for float type on column
tdSql
.
query
(
"select * from st where num > 5.5"
)
tdSql
.
checkRows
(
5
)
# >= for float type on column
tdSql
.
query
(
"select * from st where num >= 5.5"
)
tdSql
.
checkRows
(
6
)
# = for float type on column
tdSql
.
query
(
"select * from st where num = 5.5"
)
tdSql
.
checkRows
(
1
)
# <> for float type on column
tdSql
.
query
(
"select * from st where num <> 5.5"
)
tdSql
.
checkRows
(
9
)
# != for float type on column
tdSql
.
query
(
"select * from st where num != 5.5"
)
tdSql
.
checkRows
(
9
)
# <= for float type on column
tdSql
.
query
(
"select * from st where num <= 5.5"
)
tdSql
.
checkRows
(
5
)
# < for float type on column
tdSql
.
query
(
"select * from st where num < 5.5"
)
tdSql
.
checkRows
(
4
)
# > for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 > 1.1"
)
tdSql
.
checkRows
(
0
)
# >= for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 >= 1.1"
)
tdSql
.
checkRows
(
10
)
# = for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 = 1.1"
)
tdSql
.
checkRows
(
10
)
# <> for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 <> 1.1"
)
tdSql
.
checkRows
(
0
)
# != for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 != 1.1"
)
tdSql
.
checkRows
(
0
)
# <= for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 <= 1.1"
)
tdSql
.
checkRows
(
10
)
# < for float type on tag
tdSql
.
query
(
"select * from st where tagcol1 < 1.1"
)
tdSql
.
checkRows
(
0
)
# > for double type on column
tdSql
.
query
(
"select * from st where speed > 11.5"
)
tdSql
.
checkRows
(
5
)
# >= for double type on column
tdSql
.
query
(
"select * from st where speed >= 11.5"
)
tdSql
.
checkRows
(
6
)
# = for double type on column
tdSql
.
query
(
"select * from st where speed = 11.5"
)
tdSql
.
checkRows
(
1
)
# <> for double type on column
tdSql
.
query
(
"select * from st where speed <> 11.5"
)
tdSql
.
checkRows
(
9
)
# != for double type on column
tdSql
.
query
(
"select * from st where speed != 11.5"
)
tdSql
.
checkRows
(
9
)
# <= for double type on column
tdSql
.
query
(
"select * from st where speed <= 11.5"
)
tdSql
.
checkRows
(
5
)
# < for double type on column
tdSql
.
query
(
"select * from st where speed < 11.5"
)
tdSql
.
checkRows
(
4
)
# > for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 > 2.3"
)
tdSql
.
checkRows
(
0
)
# >= for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 >= 2.3"
)
tdSql
.
checkRows
(
10
)
# = for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 = 2.3"
)
tdSql
.
checkRows
(
10
)
# <> for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 <> 2.3"
)
tdSql
.
checkRows
(
0
)
# != for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 != 2.3"
)
tdSql
.
checkRows
(
0
)
# <= for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 <= 2.3"
)
tdSql
.
checkRows
(
10
)
# < for double type on tag
tdSql
.
query
(
"select * from st where tagcol2 < 2.3"
)
tdSql
.
checkRows
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/query/filterOtherTypes.py
0 → 100644
浏览文件 @
6dec0284
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
sys
import
taos
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
())
self
.
ts
=
1537146000000
def
run
(
self
):
tdSql
.
prepare
()
print
(
"======= Verify filter for bool, nchar and binary type ========="
)
tdLog
.
debug
(
"create table st(ts timestamp, tbcol1 bool, tbcol2 nchar(10), tbcol3 binary(20)) tags(tagcol1 bool, tagcol2 nchar(10), tagcol3 binary(10))"
)
tdSql
.
execute
(
"create table st(ts timestamp, tbcol1 bool, tbcol2 nchar(10), tbcol3 binary(20)) tags(tagcol1 bool, tagcol2 nchar(10), tagcol3 binary(10))"
)
tdSql
.
execute
(
"create table st1 using st tags(true, 'table1', '水表')"
)
for
i
in
range
(
1
,
6
):
tdSql
.
execute
(
"insert into st1 values(%d, %d, 'taosdata%d', '涛思数据%d')"
%
(
self
.
ts
+
i
,
i
%
2
,
i
,
i
))
tdSql
.
execute
(
"create table st2 using st tags(false, 'table2', '电表')"
)
for
i
in
range
(
6
,
11
):
tdSql
.
execute
(
"insert into st2 values(%d, %d, 'taosdata%d', '涛思数据%d')"
%
(
self
.
ts
+
i
,
i
%
2
,
i
,
i
))
# =============Verify stable columns====================
# > for bool type on column
tdSql
.
error
(
"select * from st where tbcol1 > false"
)
# >= for bool type on column
tdSql
.
error
(
"select * from st where tbcol1 >= false"
)
# = for bool type on column
tdSql
.
query
(
"select * from st where tbcol1 = false"
)
tdSql
.
checkRows
(
5
)
# <> for bool type on column
tdSql
.
query
(
"select * from st where tbcol1 <> true"
)
tdSql
.
checkRows
(
5
)
# != for bool type on column
tdSql
.
query
(
"select * from st where tbcol1 != true"
)
tdSql
.
checkRows
(
5
)
# > for bool type on column
tdSql
.
error
(
"select * from st where tbcol1 < true"
)
# >= for bool type on column
tdSql
.
error
(
"select * from st where tbcol1 <= true"
)
# % for bool type on column
tdSql
.
error
(
"select * from st where tbcol1 like '%'"
)
# _ for bool type on column
tdSql
.
error
(
"select * from st where tbcol1 like '____'"
)
# > for nchar type on column
tdSql
.
error
(
"select * from st where tbcol2 > 'taosdata'"
)
# >= for nchar type on column
tdSql
.
error
(
"select * from st where tbcol2 >= 'taosdata'"
)
# = for nchar type on column
tdSql
.
query
(
"select * from st where tbcol2 = 'taosdata1'"
)
tdSql
.
checkRows
(
1
)
# <> for nchar type on column
tdSql
.
query
(
"select * from st where tbcol2 <> 'taosdata1'"
)
tdSql
.
checkRows
(
9
)
# != for nchar type on column
tdSql
.
query
(
"select * from st where tbcol2 != 'taosdata1'"
)
tdSql
.
checkRows
(
9
)
# > for nchar type on column
tdSql
.
error
(
"select * from st where tbcol2 < 'taodata'"
)
# >= for nchar type on column
tdSql
.
error
(
"select * from st where tbcol2 <= 'taodata'"
)
# % for nchar type on column case 1
tdSql
.
query
(
"select * from st where tbcol2 like '%'"
)
tdSql
.
checkRows
(
10
)
# % for nchar type on column case 2
tdSql
.
query
(
"select * from st where tbcol2 like 'a%'"
)
tdSql
.
checkRows
(
0
)
# % for nchar type on column case 3
tdSql
.
query
(
"select * from st where tbcol2 like 't%_'"
)
tdSql
.
checkRows
(
10
)
# % for nchar type on column case 4
tdSql
.
query
(
"select * from st where tbcol2 like '%1'"
)
# tdSql.checkRows(2)
# _ for nchar type on column case 1
tdSql
.
query
(
"select * from st where tbcol2 like '____________'"
)
tdSql
.
checkRows
(
0
)
# _ for nchar type on column case 2
tdSql
.
query
(
"select * from st where tbcol2 like '__________'"
)
tdSql
.
checkRows
(
1
)
# _ for nchar type on column case 3
tdSql
.
query
(
"select * from st where tbcol2 like '_________'"
)
tdSql
.
checkRows
(
9
)
# _ for nchar type on column case 4
tdSql
.
query
(
"select * from st where tbcol2 like 't________'"
)
tdSql
.
checkRows
(
9
)
# _ for nchar type on column case 5
tdSql
.
query
(
"select * from st where tbcol2 like '%________'"
)
tdSql
.
checkRows
(
10
)
# > for binary type on column
tdSql
.
error
(
"select * from st where tbcol3 > '涛思数据'"
)
# >= for binary type on column
tdSql
.
error
(
"select * from st where tbcol3 >= '涛思数据'"
)
# = for binary type on column
tdSql
.
query
(
"select * from st where tbcol3 = '涛思数据1'"
)
tdSql
.
checkRows
(
1
)
# <> for binary type on column
tdSql
.
query
(
"select * from st where tbcol3 <> '涛思数据1'"
)
tdSql
.
checkRows
(
9
)
# != for binary type on column
tdSql
.
query
(
"select * from st where tbcol3 != '涛思数据1'"
)
tdSql
.
checkRows
(
9
)
# > for binary type on column
tdSql
.
error
(
"select * from st where tbcol3 < '涛思数据'"
)
# >= for binary type on column
tdSql
.
error
(
"select * from st where tbcol3 <= '涛思数据'"
)
# % for binary type on column case 1
tdSql
.
query
(
"select * from st where tbcol3 like '%'"
)
tdSql
.
checkRows
(
10
)
# % for binary type on column case 2
tdSql
.
query
(
"select * from st where tbcol3 like '陶%'"
)
tdSql
.
checkRows
(
0
)
# % for binary type on column case 3
tdSql
.
query
(
"select * from st where tbcol3 like '涛%_'"
)
tdSql
.
checkRows
(
10
)
# % for binary type on column case 4
tdSql
.
query
(
"select * from st where tbcol3 like '%1'"
)
tdSql
.
checkRows
(
1
)
# _ for binary type on column case 1
tdSql
.
query
(
"select * from st where tbcol3 like '_______'"
)
tdSql
.
checkRows
(
0
)
# _ for binary type on column case 2
tdSql
.
query
(
"select * from st where tbcol3 like '______'"
)
tdSql
.
checkRows
(
1
)
# _ for binary type on column case 2
tdSql
.
query
(
"select * from st where tbcol3 like '_____'"
)
tdSql
.
checkRows
(
9
)
# _ for binary type on column case 3
tdSql
.
query
(
"select * from st where tbcol3 like '____'"
)
tdSql
.
checkRows
(
0
)
# _ for binary type on column case 4
tdSql
.
query
(
"select * from st where tbcol3 like 't____'"
)
tdSql
.
checkRows
(
0
)
# =============Verify stable tags====================
# > for bool type on tag
tdSql
.
error
(
"select * from st where tagcol1 > false"
)
# >= for bool type on tag
tdSql
.
error
(
"select * from st where tagcol1 >= false"
)
# = for bool type on tag
tdSql
.
query
(
"select * from st where tagcol1 = false"
)
tdSql
.
checkRows
(
5
)
# <> for bool type on tag
tdSql
.
query
(
"select * from st where tagcol1 <> true"
)
tdSql
.
checkRows
(
5
)
# != for bool type on tag
tdSql
.
query
(
"select * from st where tagcol1 != true"
)
tdSql
.
checkRows
(
5
)
# > for bool type on tag
tdSql
.
error
(
"select * from st where tagcol1 < true"
)
# >= for bool type on tag
tdSql
.
error
(
"select * from st where tagcol1 <= true"
)
# % for bool type on tag
tdSql
.
error
(
"select * from st where tagcol1 like '%'"
)
# _ for bool type on tag
tdSql
.
error
(
"select * from st where tagcol1 like '____'"
)
# > for nchar type on tag
tdSql
.
error
(
"select * from st where tagcol2 > 'table'"
)
# >= for nchar type on tag
tdSql
.
error
(
"select * from st where tagcol2 >= 'table'"
)
# = for nchar type on tag
tdSql
.
query
(
"select * from st where tagcol2 = 'table1'"
)
tdSql
.
checkRows
(
5
)
# <> for nchar type on tag
tdSql
.
query
(
"select * from st where tagcol2 <> 'table1'"
)
tdSql
.
checkRows
(
5
)
# != for nchar type on tag
tdSql
.
query
(
"select * from st where tagcol2 != 'table'"
)
tdSql
.
checkRows
(
10
)
# > for nchar type on tag
tdSql
.
error
(
"select * from st where tagcol2 < 'table'"
)
# >= for nchar type on tag
tdSql
.
error
(
"select * from st where tagcol2 <= 'table'"
)
# % for nchar type on tag case 1
tdSql
.
query
(
"select * from st where tagcol2 like '%'"
)
tdSql
.
checkRows
(
10
)
# % for nchar type on tag case 2
tdSql
.
query
(
"select * from st where tagcol2 like 'a%'"
)
tdSql
.
checkRows
(
0
)
# % for nchar type on tag case 3
tdSql
.
query
(
"select * from st where tagcol2 like 't%_'"
)
tdSql
.
checkRows
(
10
)
# % for nchar type on tag case 4
tdSql
.
query
(
"select * from st where tagcol2 like '%1'"
)
tdSql
.
checkRows
(
5
)
# _ for nchar type on tag case 1
tdSql
.
query
(
"select * from st where tagcol2 like '_______'"
)
tdSql
.
checkRows
(
0
)
# _ for nchar type on tag case 2
tdSql
.
query
(
"select * from st where tagcol2 like '______'"
)
tdSql
.
checkRows
(
10
)
# _ for nchar type on tag case 3
tdSql
.
query
(
"select * from st where tagcol2 like 't_____'"
)
tdSql
.
checkRows
(
10
)
# _ for nchar type on tag case 4
tdSql
.
query
(
"select * from st where tagcol2 like 's________'"
)
tdSql
.
checkRows
(
0
)
# _ for nchar type on tag case 5
tdSql
.
query
(
"select * from st where tagcol2 like '%__'"
)
tdSql
.
checkRows
(
10
)
# > for binary type on tag
tdSql
.
error
(
"select * from st where tagcol3 > '表'"
)
# >= for binary type on tag
tdSql
.
error
(
"select * from st where tagcol3 >= '表'"
)
# = for binary type on tag
tdSql
.
query
(
"select * from st where tagcol3 = '水表'"
)
tdSql
.
checkRows
(
5
)
# <> for binary type on tag
tdSql
.
query
(
"select * from st where tagcol3 <> '水表'"
)
tdSql
.
checkRows
(
5
)
# != for binary type on tag
tdSql
.
query
(
"select * from st where tagcol3 != '水表'"
)
tdSql
.
checkRows
(
5
)
# > for binary type on tag
tdSql
.
error
(
"select * from st where tagcol3 < '水表'"
)
# >= for binary type on tag
tdSql
.
error
(
"select * from st where tagcol3 <= '水表'"
)
# % for binary type on tag case 1
tdSql
.
query
(
"select * from st where tagcol3 like '%'"
)
tdSql
.
checkRows
(
10
)
# % for binary type on tag case 2
tdSql
.
query
(
"select * from st where tagcol3 like '水%'"
)
tdSql
.
checkRows
(
5
)
# % for binary type on tag case 3
tdSql
.
query
(
"select * from st where tagcol3 like '数%_'"
)
tdSql
.
checkRows
(
0
)
# % for binary type on tag case 4
tdSql
.
query
(
"select * from st where tagcol3 like '%表'"
)
tdSql
.
checkRows
(
10
)
# % for binary type on tag case 5
tdSql
.
query
(
"select * from st where tagcol3 like '%据'"
)
tdSql
.
checkRows
(
0
)
# _ for binary type on tag case 1
tdSql
.
query
(
"select * from st where tagcol3 like '__'"
)
tdSql
.
checkRows
(
10
)
# _ for binary type on tag case 2
tdSql
.
query
(
"select * from st where tagcol3 like '水_'"
)
tdSql
.
checkRows
(
5
)
# _ for binary type on tag case 2
tdSql
.
query
(
"select * from st where tagcol3 like '_表'"
)
tdSql
.
checkRows
(
10
)
# _ for binary type on tag case 3
tdSql
.
query
(
"select * from st where tagcol3 like '___'"
)
tdSql
.
checkRows
(
0
)
# _ for binary type on tag case 4
tdSql
.
query
(
"select * from st where tagcol3 like '数_'"
)
tdSql
.
checkRows
(
0
)
# _ for binary type on tag case 5
tdSql
.
query
(
"select * from st where tagcol3 like '_据'"
)
tdSql
.
checkRows
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/regressiontest.sh
浏览文件 @
6dec0284
...
...
@@ -131,6 +131,8 @@ python3 ./test.py -f user/pass_len.py
#query
python3 ./test.py
-f
query/filter.py
python3 ./test.py
-f
query/filterAllIntTypes.py
python3 ./test.py
-f
query/filterFloatAndDouble.py
#stream
...
...
tests/script/unique/arbitrator/dn3_mn1_replica_change.sim
浏览文件 @
6dec0284
...
...
@@ -51,7 +51,7 @@ system sh/exec.sh -n dnode2 -s start
sql create dnode $hostname2
sleep 3000
$totalTableNum = 10
000
$totalTableNum = 10
$sleepTimer = 10000
$db = db
...
...
@@ -192,7 +192,7 @@ if $data00 != $totalRows then
endi
print ============== step4: stop dnode2 for checking if sync
success
print ============== step4: stop dnode2 for checking if sync
ok
system sh/exec.sh -n dnode2 -s stop
sleep $sleepTimer
...
...
tests/script/unique/arbitrator/dn3_mn1_replica_change_dropDnod.sim
浏览文件 @
6dec0284
...
...
@@ -55,7 +55,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
00
$totalTableNum = 10
$sleepTimer = 10000
$db = db
...
...
tests/script/unique/arbitrator/dn3_mn1_stopDnode_timeout.sim
浏览文件 @
6dec0284
...
...
@@ -173,7 +173,7 @@ if $rows != 3 then
return -1
endi
print ============== step5: remove dnode4 director, then recreate dnode4 into cluster, result should
success
print ============== step5: remove dnode4 director, then recreate dnode4 into cluster, result should
ok
system sh/exec.sh -n dnode4 -s stop
system rm -rf ../../../sim/dnode4
...
...
tests/script/unique/arbitrator/dn3_mn1_vnode_change.sim
浏览文件 @
6dec0284
...
...
@@ -55,7 +55,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_offline.sim
浏览文件 @
6dec0284
...
...
@@ -55,7 +55,7 @@ sql create dnode $hostname3
#sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
@@ -177,7 +177,7 @@ if $data00 != $totalRows then
return -1
endi
print ============== step5: stop dnode2, and check if dnode3 sync
success
print ============== step5: stop dnode2, and check if dnode3 sync
ok
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep $sleepTimer
wait_dnode2_offline_0:
...
...
tests/script/unique/arbitrator/dn3_mn1_vnode_corruptFile_online.sim
浏览文件 @
6dec0284
...
...
@@ -55,7 +55,7 @@ sql create dnode $hostname3
#sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
@@ -105,7 +105,7 @@ if $data00 != $totalRows then
return -1
endi
print ============== step5: stop dnode2, and check if dnode3 sync
success
print ============== step5: stop dnode2, and check if dnode3 sync
ok
system sh/exec.sh -n dnode2 -s stop -x SIGINT
sleep $sleepTimer
wait_dnode2_offline_0:
...
...
tests/script/unique/arbitrator/dn3_mn1_vnode_delDir.sim
浏览文件 @
6dec0284
...
...
@@ -55,7 +55,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
tests/script/unique/arbitrator/dn3_mn1_vnode_nomaster.sim
浏览文件 @
6dec0284
...
...
@@ -55,7 +55,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
@@ -152,7 +152,7 @@ print ============== step4: restart dnode2, then create database with replica 2,
system sh/exec.sh -n dnode2 -s start
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db1
...
...
tests/script/unique/arbitrator/offline_replica2_alterTable_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname2
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
tests/script/unique/arbitrator/offline_replica2_alterTag_online.sim
浏览文件 @
6dec0284
...
...
@@ -67,7 +67,7 @@ sql use $db
# create table , insert data
$stb = stb
sql create table $stb (ts timestamp, c1 int, c2 int) tags(t1 int)
sql create table $stb (ts timestamp, c1 int, c2 int) tags(t
0 int, t
1 int)
$rowNum = 500
$tblNum = $totalTableNum
$totalRows = 0
...
...
@@ -77,7 +77,7 @@ $tsEnd = 0
$i = 0
while $i < $tblNum
$tb = tb . $i
sql create table $tb using $stb tags( $i )
sql create table $tb using $stb tags( $i
, $i
)
$x = 0
while $x < $rowNum
...
...
@@ -164,7 +164,7 @@ $totalRows = 0
$i = 0
while $i < $tblNum
$tb = tb . $i
sql create table $tb using $stb tags( $i , $i )
sql create table $tb using $stb tags( $i , $i
, $i
)
$x = 0
while $x < $rowNum
...
...
tests/script/unique/arbitrator/offline_replica2_createTable_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname2
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$maxTables = $totalTableNum * 2
...
...
tests/script/unique/arbitrator/offline_replica2_dropDb_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname2
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
tests/script/unique/arbitrator/offline_replica2_dropTable_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname2
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
@@ -146,14 +146,14 @@ endi
print ============== step4: drop some tables
$i = 1
$dropTblNum =
21
$dropTblNum =
6
while $i < $dropTblNum
$tb = tb . $i
sql drop table if exists $tb
$i = $i + 1
endw
$tblNum = $tblNum -
20
$tblNum = $tblNum -
5
print ============== step5: restart dnode4, waiting dnode4 synced
system sh/exec.sh -n dnode4 -s start
...
...
tests/script/unique/arbitrator/offline_replica3_alterTable_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
tests/script/unique/arbitrator/offline_replica3_alterTag_online.sim
浏览文件 @
6dec0284
...
...
@@ -67,7 +67,7 @@ sql use $db
# create table , insert data
$stb = stb
sql create table $stb (ts timestamp, c1 int, c2 int) tags(t1 int)
sql create table $stb (ts timestamp, c1 int, c2 int) tags(t
0 int, t
1 int)
$rowNum = 500
$tblNum = $totalTableNum
$totalRows = 0
...
...
@@ -77,7 +77,7 @@ $tsEnd = 0
$i = 0
while $i < $tblNum
$tb = tb . $i
sql create table $tb using $stb tags( $i )
sql create table $tb using $stb tags( $i
, $i
)
$x = 0
while $x < $rowNum
...
...
@@ -164,7 +164,7 @@ $totalRows = 0
$i = 0
while $i < $tblNum
$tb = tb . $i
sql create table $tb using $stb tags( $i , $i )
sql create table $tb using $stb tags( $i , $i
, $i
)
$x = 0
while $x < $rowNum
...
...
tests/script/unique/arbitrator/offline_replica3_createTable_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$maxTables = $totalTableNum * 2
...
...
tests/script/unique/arbitrator/offline_replica3_dropDb_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
tests/script/unique/arbitrator/offline_replica3_dropTable_online.sim
浏览文件 @
6dec0284
...
...
@@ -56,7 +56,7 @@ sql create dnode $hostname3
sql create dnode $hostname4
sleep 3000
$totalTableNum = 10
0
$totalTableNum = 10
$sleepTimer = 3000
$db = db
...
...
@@ -146,14 +146,14 @@ endi
print ============== step4: drop some tables
$i = 1
$dropTblNum =
21
$dropTblNum =
6
while $i < $dropTblNum
$tb = tb . $i
sql drop table if exists $tb
$i = $i + 1
endw
$tblNum = $tblNum -
20
$tblNum = $tblNum -
5
print ============== step5: restart dnode4, waiting dnode4 synced
system sh/exec.sh -n dnode4 -s start
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录