Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
4dac6ac4
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看板
提交
4dac6ac4
编写于
7月 30, 2021
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
差异文件
merge from master
上级
e57faad9
c6f660a8
变更
24
隐藏空白更改
内联
并排
Showing
24 changed file
with
401 addition
and
41 deletion
+401
-41
cmake/version.inc
cmake/version.inc
+1
-1
packaging/tools/install.sh
packaging/tools/install.sh
+1
-1
packaging/tools/install_power.sh
packaging/tools/install_power.sh
+1
-1
snap/snapcraft.yaml
snap/snapcraft.yaml
+2
-2
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+1
-0
src/common/src/tglobal.c
src/common/src/tglobal.c
+1
-1
src/inc/taos.h
src/inc/taos.h
+4
-6
src/inc/tcq.h
src/inc/tcq.h
+1
-1
src/kit/taosdemo/taosdemo.c
src/kit/taosdemo/taosdemo.c
+0
-1
src/kit/taosdump/taosdump.c
src/kit/taosdump/taosdump.c
+1
-1
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+2
-0
src/query/src/qExtbuffer.c
src/query/src/qExtbuffer.c
+11
-4
src/sync/inc/syncTcp.h
src/sync/inc/syncTcp.h
+1
-1
src/sync/src/syncArbitrator.c
src/sync/src/syncArbitrator.c
+3
-3
src/sync/src/syncMain.c
src/sync/src/syncMain.c
+5
-4
src/sync/src/syncTcp.c
src/sync/src/syncTcp.c
+1
-1
src/vnode/src/vnodeMgmt.c
src/vnode/src/vnodeMgmt.c
+5
-3
tests/pytest/fulltest.sh
tests/pytest/fulltest.sh
+1
-0
tests/pytest/query/queryInterval.py
tests/pytest/query/queryInterval.py
+46
-0
tests/pytest/query/queryStableJoin.py
tests/pytest/query/queryStableJoin.py
+300
-0
tests/pytest/tools/taosdemoAllTest/TD-4985/query-limit-offset.py
...ytest/tools/taosdemoAllTest/TD-4985/query-limit-offset.py
+0
-4
tests/pytest/tools/taosdemoAllTest/taosdemoTestInsertWithJson.py
...ytest/tools/taosdemoAllTest/taosdemoTestInsertWithJson.py
+6
-4
tests/pytest/tools/taosdemoTestTblAlt.py
tests/pytest/tools/taosdemoTestTblAlt.py
+2
-2
tests/tsim/src/simExe.c
tests/tsim/src/simExe.c
+5
-0
未找到文件。
cmake/version.inc
浏览文件 @
4dac6ac4
...
@@ -4,7 +4,7 @@ PROJECT(TDengine)
...
@@ -4,7 +4,7 @@ PROJECT(TDengine)
IF
(
DEFINED
VERNUMBER
)
IF
(
DEFINED
VERNUMBER
)
SET
(
TD_VER_NUMBER
$
{
VERNUMBER
})
SET
(
TD_VER_NUMBER
$
{
VERNUMBER
})
ELSE
()
ELSE
()
SET
(
TD_VER_NUMBER
"2.
1.5.
0"
)
SET
(
TD_VER_NUMBER
"2.
0.20.1
0"
)
ENDIF
()
ENDIF
()
IF
(
DEFINED
VERCOMPATIBLE
)
IF
(
DEFINED
VERCOMPATIBLE
)
...
...
packaging/tools/install.sh
浏览文件 @
4dac6ac4
...
@@ -777,7 +777,7 @@ function is_version_compatible() {
...
@@ -777,7 +777,7 @@ function is_version_compatible() {
if
[
-f
${
script_dir
}
/driver/vercomp.txt
]
;
then
if
[
-f
${
script_dir
}
/driver/vercomp.txt
]
;
then
min_compatible_version
=
`
cat
${
script_dir
}
/driver/vercomp.txt
`
min_compatible_version
=
`
cat
${
script_dir
}
/driver/vercomp.txt
`
else
else
min_compatible_version
=
$(
${
script_dir
}
/bin/t
q
d
-V
|
head
-1
|
cut
-d
' '
-f
5
)
min_compatible_version
=
$(
${
script_dir
}
/bin/t
aos
d
-V
|
head
-1
|
cut
-d
' '
-f
5
)
fi
fi
vercomp
$curr_version
$min_compatible_version
vercomp
$curr_version
$min_compatible_version
...
...
packaging/tools/install_power.sh
浏览文件 @
4dac6ac4
...
@@ -746,7 +746,7 @@ function is_version_compatible() {
...
@@ -746,7 +746,7 @@ function is_version_compatible() {
if
[
-f
${
script_dir
}
/driver/vercomp.txt
]
;
then
if
[
-f
${
script_dir
}
/driver/vercomp.txt
]
;
then
min_compatible_version
=
`
cat
${
script_dir
}
/driver/vercomp.txt
`
min_compatible_version
=
`
cat
${
script_dir
}
/driver/vercomp.txt
`
else
else
min_compatible_version
=
$(
${
script_dir
}
/bin/
tq
d
-V
|
head
-1
|
cut
-d
' '
-f
5
)
min_compatible_version
=
$(
${
script_dir
}
/bin/
power
d
-V
|
head
-1
|
cut
-d
' '
-f
5
)
fi
fi
vercomp
$curr_version
$min_compatible_version
vercomp
$curr_version
$min_compatible_version
...
...
snap/snapcraft.yaml
浏览文件 @
4dac6ac4
name
:
tdengine
name
:
tdengine
base
:
core18
base
:
core18
version
:
'
2.
1.5.
0'
version
:
'
2.
0.20.1
0'
icon
:
snap/gui/t-dengine.svg
icon
:
snap/gui/t-dengine.svg
summary
:
an open-source big data platform designed and optimized for IoT.
summary
:
an open-source big data platform designed and optimized for IoT.
description
:
|
description
:
|
...
@@ -72,7 +72,7 @@ parts:
...
@@ -72,7 +72,7 @@ parts:
-
usr/bin/taosd
-
usr/bin/taosd
-
usr/bin/taos
-
usr/bin/taos
-
usr/bin/taosdemo
-
usr/bin/taosdemo
-
usr/lib/libtaos.so.2.
1.5.
0
-
usr/lib/libtaos.so.2.
0.20.1
0
-
usr/lib/libtaos.so.1
-
usr/lib/libtaos.so.1
-
usr/lib/libtaos.so
-
usr/lib/libtaos.so
...
...
src/client/src/tscUtil.c
浏览文件 @
4dac6ac4
...
@@ -3192,6 +3192,7 @@ static void freeQueryInfoImpl(SQueryInfo* pQueryInfo) {
...
@@ -3192,6 +3192,7 @@ static void freeQueryInfoImpl(SQueryInfo* pQueryInfo) {
pQueryInfo
->
tsBuf
=
tsBufDestroy
(
pQueryInfo
->
tsBuf
);
pQueryInfo
->
tsBuf
=
tsBufDestroy
(
pQueryInfo
->
tsBuf
);
tfree
(
pQueryInfo
->
fillVal
);
tfree
(
pQueryInfo
->
fillVal
);
pQueryInfo
->
fillType
=
0
;
tfree
(
pQueryInfo
->
buf
);
tfree
(
pQueryInfo
->
buf
);
taosArrayDestroy
(
pQueryInfo
->
pUpstream
);
taosArrayDestroy
(
pQueryInfo
->
pUpstream
);
...
...
src/common/src/tglobal.c
浏览文件 @
4dac6ac4
...
@@ -38,7 +38,7 @@ uint16_t tsDnodeDnodePort = 6035; // udp/tcp
...
@@ -38,7 +38,7 @@ uint16_t tsDnodeDnodePort = 6035; // udp/tcp
uint16_t
tsSyncPort
=
6040
;
uint16_t
tsSyncPort
=
6040
;
uint16_t
tsArbitratorPort
=
6042
;
uint16_t
tsArbitratorPort
=
6042
;
int32_t
tsStatusInterval
=
1
;
// second
int32_t
tsStatusInterval
=
1
;
// second
int32_t
tsNumOfMnodes
=
3
;
int32_t
tsNumOfMnodes
=
1
;
int8_t
tsEnableVnodeBak
=
1
;
int8_t
tsEnableVnodeBak
=
1
;
int8_t
tsEnableTelemetryReporting
=
1
;
int8_t
tsEnableTelemetryReporting
=
1
;
int8_t
tsArbOnline
=
0
;
int8_t
tsArbOnline
=
0
;
...
...
src/inc/taos.h
浏览文件 @
4dac6ac4
...
@@ -110,19 +110,18 @@ typedef struct TAOS_MULTI_BIND {
...
@@ -110,19 +110,18 @@ typedef struct TAOS_MULTI_BIND {
int
num
;
int
num
;
}
TAOS_MULTI_BIND
;
}
TAOS_MULTI_BIND
;
DLL_EXPORT
TAOS_STMT
*
taos_stmt_init
(
TAOS
*
taos
);
DLL_EXPORT
TAOS_STMT
*
taos_stmt_init
(
TAOS
*
taos
);
DLL_EXPORT
int
taos_stmt_prepare
(
TAOS_STMT
*
stmt
,
const
char
*
sql
,
unsigned
long
length
);
DLL_EXPORT
int
taos_stmt_prepare
(
TAOS_STMT
*
stmt
,
const
char
*
sql
,
unsigned
long
length
);
DLL_EXPORT
int
taos_stmt_set_tbname_tags
(
TAOS_STMT
*
stmt
,
const
char
*
name
,
TAOS_BIND
*
tags
);
DLL_EXPORT
int
taos_stmt_set_tbname_tags
(
TAOS_STMT
*
stmt
,
const
char
*
name
,
TAOS_BIND
*
tags
);
DLL_EXPORT
int
taos_stmt_set_tbname
(
TAOS_STMT
*
stmt
,
const
char
*
name
);
DLL_EXPORT
int
taos_stmt_set_tbname
(
TAOS_STMT
*
stmt
,
const
char
*
name
);
DLL_EXPORT
int
taos_stmt_set_sub_tbname
(
TAOS_STMT
*
stmt
,
const
char
*
name
);
DLL_EXPORT
int
taos_stmt_set_sub_tbname
(
TAOS_STMT
*
stmt
,
const
char
*
name
);
DLL_EXPORT
int
taos_stmt_is_insert
(
TAOS_STMT
*
stmt
,
int
*
insert
);
DLL_EXPORT
int
taos_stmt_is_insert
(
TAOS_STMT
*
stmt
,
int
*
insert
);
DLL_EXPORT
int
taos_stmt_num_params
(
TAOS_STMT
*
stmt
,
int
*
nums
);
DLL_EXPORT
int
taos_stmt_num_params
(
TAOS_STMT
*
stmt
,
int
*
nums
);
int
taos_stmt_get_param
(
TAOS_STMT
*
stmt
,
int
idx
,
int
*
type
,
int
*
bytes
);
DLL_EXPORT
int
taos_stmt_get_param
(
TAOS_STMT
*
stmt
,
int
idx
,
int
*
type
,
int
*
bytes
);
DLL_EXPORT
int
taos_stmt_bind_param
(
TAOS_STMT
*
stmt
,
TAOS_BIND
*
bind
);
DLL_EXPORT
int
taos_stmt_bind_param
(
TAOS_STMT
*
stmt
,
TAOS_BIND
*
bind
);
int
taos_stmt_bind_param_batch
(
TAOS_STMT
*
stmt
,
TAOS_MULTI_BIND
*
bind
);
DLL_EXPORT
int
taos_stmt_bind_param_batch
(
TAOS_STMT
*
stmt
,
TAOS_MULTI_BIND
*
bind
);
int
taos_stmt_bind_single_param_batch
(
TAOS_STMT
*
stmt
,
TAOS_MULTI_BIND
*
bind
,
int
colIdx
);
DLL_EXPORT
int
taos_stmt_bind_single_param_batch
(
TAOS_STMT
*
stmt
,
TAOS_MULTI_BIND
*
bind
,
int
colIdx
);
DLL_EXPORT
int
taos_stmt_add_batch
(
TAOS_STMT
*
stmt
);
DLL_EXPORT
int
taos_stmt_add_batch
(
TAOS_STMT
*
stmt
);
DLL_EXPORT
int
taos_stmt_execute
(
TAOS_STMT
*
stmt
);
DLL_EXPORT
int
taos_stmt_execute
(
TAOS_STMT
*
stmt
);
DLL_EXPORT
TAOS_RES
*
taos_stmt_use_result
(
TAOS_STMT
*
stmt
);
DLL_EXPORT
TAOS_RES
*
taos_stmt_use_result
(
TAOS_STMT
*
stmt
);
...
@@ -141,7 +140,6 @@ DLL_EXPORT int taos_select_db(TAOS *taos, const char *db);
...
@@ -141,7 +140,6 @@ DLL_EXPORT int taos_select_db(TAOS *taos, const char *db);
DLL_EXPORT
int
taos_print_row
(
char
*
str
,
TAOS_ROW
row
,
TAOS_FIELD
*
fields
,
int
num_fields
);
DLL_EXPORT
int
taos_print_row
(
char
*
str
,
TAOS_ROW
row
,
TAOS_FIELD
*
fields
,
int
num_fields
);
DLL_EXPORT
void
taos_stop_query
(
TAOS_RES
*
res
);
DLL_EXPORT
void
taos_stop_query
(
TAOS_RES
*
res
);
DLL_EXPORT
bool
taos_is_null
(
TAOS_RES
*
res
,
int32_t
row
,
int32_t
col
);
DLL_EXPORT
bool
taos_is_null
(
TAOS_RES
*
res
,
int32_t
row
,
int32_t
col
);
DLL_EXPORT
int
taos_fetch_block
(
TAOS_RES
*
res
,
TAOS_ROW
*
rows
);
DLL_EXPORT
int
taos_fetch_block
(
TAOS_RES
*
res
,
TAOS_ROW
*
rows
);
DLL_EXPORT
int
taos_validate_sql
(
TAOS
*
taos
,
const
char
*
sql
);
DLL_EXPORT
int
taos_validate_sql
(
TAOS
*
taos
,
const
char
*
sql
);
...
...
src/inc/tcq.h
浏览文件 @
4dac6ac4
...
@@ -27,7 +27,7 @@ typedef struct {
...
@@ -27,7 +27,7 @@ typedef struct {
int32_t
vgId
;
int32_t
vgId
;
char
user
[
TSDB_USER_LEN
];
char
user
[
TSDB_USER_LEN
];
char
pass
[
TSDB_KEY_LEN
];
char
pass
[
TSDB_KEY_LEN
];
char
db
[
TSDB_ACCT_ID_LEN
+
TSDB_DB_NAME_LEN
];
char
db
[
TSDB_ACCT_ID_LEN
+
TSDB_DB_NAME_LEN
];
// size must same with SVnodeObj.db[TSDB_ACCT_ID_LEN + TSDB_DB_NAME_LEN]
FCqWrite
cqWrite
;
FCqWrite
cqWrite
;
}
SCqCfg
;
}
SCqCfg
;
...
...
src/kit/taosdemo/taosdemo.c
浏览文件 @
4dac6ac4
...
@@ -75,7 +75,6 @@ extern char configDir[];
...
@@ -75,7 +75,6 @@ extern char configDir[];
#define BUFFER_SIZE TSDB_MAX_ALLOWED_SQL_LEN
#define BUFFER_SIZE TSDB_MAX_ALLOWED_SQL_LEN
#define COND_BUF_LEN (BUFFER_SIZE - 30)
#define COND_BUF_LEN (BUFFER_SIZE - 30)
#define COL_BUFFER_LEN ((TSDB_COL_NAME_LEN + 15) * TSDB_MAX_COLUMNS)
#define COL_BUFFER_LEN ((TSDB_COL_NAME_LEN + 15) * TSDB_MAX_COLUMNS)
#define MAX_USERNAME_SIZE 64
#define MAX_USERNAME_SIZE 64
#define MAX_PASSWORD_SIZE 64
#define MAX_PASSWORD_SIZE 64
#define MAX_HOSTNAME_SIZE 253 // https://man7.org/linux/man-pages/man7/hostname.7.html
#define MAX_HOSTNAME_SIZE 253 // https://man7.org/linux/man-pages/man7/hostname.7.html
...
...
src/kit/taosdump/taosdump.c
浏览文件 @
4dac6ac4
...
@@ -1264,7 +1264,7 @@ static int taosGetTableDes(
...
@@ -1264,7 +1264,7 @@ static int taosGetTableDes(
fields
[
TSDB_DESCRIBE_METRIC_FIELD_INDEX
].
bytes
+
1
));
fields
[
TSDB_DESCRIBE_METRIC_FIELD_INDEX
].
bytes
+
1
));
tstrncpy
(
tableDes
->
cols
[
count
].
type
,
tstrncpy
(
tableDes
->
cols
[
count
].
type
,
(
char
*
)
row
[
TSDB_DESCRIBE_METRIC_TYPE_INDEX
],
(
char
*
)
row
[
TSDB_DESCRIBE_METRIC_TYPE_INDEX
],
min
(
16
,
fields
[
TSDB_DESCRIBE_METRIC_TYPE_INDEX
].
bytes
)
+
1
);
min
(
16
,
fields
[
TSDB_DESCRIBE_METRIC_TYPE_INDEX
].
bytes
+
1
)
);
tableDes
->
cols
[
count
].
length
=
tableDes
->
cols
[
count
].
length
=
*
((
int
*
)
row
[
TSDB_DESCRIBE_METRIC_LENGTH_INDEX
]);
*
((
int
*
)
row
[
TSDB_DESCRIBE_METRIC_LENGTH_INDEX
]);
tstrncpy
(
tableDes
->
cols
[
count
].
note
,
tstrncpy
(
tableDes
->
cols
[
count
].
note
,
...
...
src/query/src/qExecutor.c
浏览文件 @
4dac6ac4
...
@@ -5555,6 +5555,8 @@ static SSDataBlock* doIntervalAgg(void* param, bool* newgroup) {
...
@@ -5555,6 +5555,8 @@ static SSDataBlock* doIntervalAgg(void* param, bool* newgroup) {
break
;
break
;
}
}
setTagValue
(
pOperator
,
pRuntimeEnv
->
current
->
pTable
,
pIntervalInfo
->
pCtx
,
pOperator
->
numOfOutput
);
// the pDataBlock are always the same one, no need to call this again
// the pDataBlock are always the same one, no need to call this again
setInputDataBlock
(
pOperator
,
pIntervalInfo
->
pCtx
,
pBlock
,
pQueryAttr
->
order
.
order
);
setInputDataBlock
(
pOperator
,
pIntervalInfo
->
pCtx
,
pBlock
,
pQueryAttr
->
order
.
order
);
hashIntervalAgg
(
pOperator
,
&
pIntervalInfo
->
resultRowInfo
,
pBlock
,
0
);
hashIntervalAgg
(
pOperator
,
&
pIntervalInfo
->
resultRowInfo
,
pBlock
,
0
);
...
...
src/query/src/qExtbuffer.c
浏览文件 @
4dac6ac4
...
@@ -391,11 +391,18 @@ int32_t columnValueAscendingComparator(char *f1, char *f2, int32_t type, int32_t
...
@@ -391,11 +391,18 @@ int32_t columnValueAscendingComparator(char *f1, char *f2, int32_t type, int32_t
};
};
case
TSDB_DATA_TYPE_NCHAR
:
{
// todo handle the var string compare
case
TSDB_DATA_TYPE_NCHAR
:
{
// todo handle the var string compare
int32_t
ret
=
tasoUcs4Compare
(
f1
,
f2
,
bytes
);
int32_t
len1
=
varDataLen
(
f1
);
if
(
ret
==
0
)
{
int32_t
len2
=
varDataLen
(
f2
);
return
0
;
if
(
len1
!=
len2
)
{
return
len1
>
len2
?
1
:
-
1
;
}
else
{
int32_t
ret
=
tasoUcs4Compare
(
varDataVal
(
f1
),
varDataVal
(
f2
),
len1
);
if
(
ret
==
0
)
{
return
0
;
}
return
(
ret
<
0
)
?
-
1
:
1
;
}
}
return
(
ret
<
0
)
?
-
1
:
1
;
};
};
case
TSDB_DATA_TYPE_UTINYINT
:
DEFAULT_COMP
(
GET_UINT8_VAL
(
f1
),
GET_UINT8_VAL
(
f2
));
case
TSDB_DATA_TYPE_UTINYINT
:
DEFAULT_COMP
(
GET_UINT8_VAL
(
f1
),
GET_UINT8_VAL
(
f2
));
case
TSDB_DATA_TYPE_USMALLINT
:
DEFAULT_COMP
(
GET_UINT16_VAL
(
f1
),
GET_UINT16_VAL
(
f2
));
case
TSDB_DATA_TYPE_USMALLINT
:
DEFAULT_COMP
(
GET_UINT16_VAL
(
f1
),
GET_UINT16_VAL
(
f2
));
...
...
src/sync/inc/syncTcp.h
浏览文件 @
4dac6ac4
...
@@ -25,7 +25,7 @@ typedef struct {
...
@@ -25,7 +25,7 @@ typedef struct {
uint32_t
serverIp
;
uint32_t
serverIp
;
int16_t
port
;
int16_t
port
;
int32_t
bufferSize
;
int32_t
bufferSize
;
void
(
*
processBrokenLink
)(
int64_t
handleId
);
void
(
*
processBrokenLink
)(
int64_t
handleId
,
int32_t
closedByApp
);
int32_t
(
*
processIncomingMsg
)(
int64_t
handleId
,
void
*
buffer
);
int32_t
(
*
processIncomingMsg
)(
int64_t
handleId
,
void
*
buffer
);
void
(
*
processIncomingConn
)(
SOCKET
fd
,
uint32_t
ip
);
void
(
*
processIncomingConn
)(
SOCKET
fd
,
uint32_t
ip
);
}
SPoolInfo
;
}
SPoolInfo
;
...
...
src/sync/src/syncArbitrator.c
浏览文件 @
4dac6ac4
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
extern
void
syncProcessTestMsg
(
SSyncMsg
*
pMsg
,
SOCKET
connFd
);
extern
void
syncProcessTestMsg
(
SSyncMsg
*
pMsg
,
SOCKET
connFd
);
static
void
arbSignalHandler
(
int32_t
signum
,
void
*
sigInfo
,
void
*
context
);
static
void
arbSignalHandler
(
int32_t
signum
,
void
*
sigInfo
,
void
*
context
);
static
void
arbProcessIncommingConnection
(
SOCKET
connFd
,
uint32_t
sourceIp
);
static
void
arbProcessIncommingConnection
(
SOCKET
connFd
,
uint32_t
sourceIp
);
static
void
arbProcessBrokenLink
(
int64_t
rid
);
static
void
arbProcessBrokenLink
(
int64_t
rid
,
int32_t
closedByApp
);
static
int32_t
arbProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
);
static
int32_t
arbProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
);
static
tsem_t
tsArbSem
;
static
tsem_t
tsArbSem
;
static
void
*
tsArbTcpPool
;
static
void
*
tsArbTcpPool
;
...
@@ -147,10 +147,10 @@ static void arbProcessIncommingConnection(SOCKET connFd, uint32_t sourceIp) {
...
@@ -147,10 +147,10 @@ static void arbProcessIncommingConnection(SOCKET connFd, uint32_t sourceIp) {
return
;
return
;
}
}
static
void
arbProcessBrokenLink
(
int64_t
rid
)
{
static
void
arbProcessBrokenLink
(
int64_t
rid
,
int32_t
closedByApp
)
{
SNodeConn
*
pNode
=
(
SNodeConn
*
)
rid
;
SNodeConn
*
pNode
=
(
SNodeConn
*
)
rid
;
sDebug
(
"%s, TCP link is broken since %s, close
connection"
,
pNode
->
id
,
strerror
(
errno
)
);
sDebug
(
"%s, TCP link is broken since %s, close
dByApp:%d"
,
pNode
->
id
,
strerror
(
errno
),
closedByApp
);
tfree
(
pNode
);
tfree
(
pNode
);
}
}
...
...
src/sync/src/syncMain.c
浏览文件 @
4dac6ac4
...
@@ -43,7 +43,7 @@ static void syncProcessSyncRequest(char *pMsg, SSyncPeer *pPeer);
...
@@ -43,7 +43,7 @@ static void syncProcessSyncRequest(char *pMsg, SSyncPeer *pPeer);
static
void
syncRecoverFromMaster
(
SSyncPeer
*
pPeer
);
static
void
syncRecoverFromMaster
(
SSyncPeer
*
pPeer
);
static
void
syncCheckPeerConnection
(
void
*
param
,
void
*
tmrId
);
static
void
syncCheckPeerConnection
(
void
*
param
,
void
*
tmrId
);
static
int32_t
syncSendPeersStatusMsgToPeer
(
SSyncPeer
*
pPeer
,
char
ack
,
int8_t
type
,
uint16_t
tranId
);
static
int32_t
syncSendPeersStatusMsgToPeer
(
SSyncPeer
*
pPeer
,
char
ack
,
int8_t
type
,
uint16_t
tranId
);
static
void
syncProcessBrokenLink
(
int64_t
rid
);
static
void
syncProcessBrokenLink
(
int64_t
rid
,
int32_t
closedByApp
);
static
int32_t
syncProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
);
static
int32_t
syncProcessPeerMsg
(
int64_t
rid
,
void
*
buffer
);
static
void
syncProcessIncommingConnection
(
SOCKET
connFd
,
uint32_t
sourceIp
);
static
void
syncProcessIncommingConnection
(
SOCKET
connFd
,
uint32_t
sourceIp
);
static
void
syncRemovePeer
(
SSyncPeer
*
pPeer
);
static
void
syncRemovePeer
(
SSyncPeer
*
pPeer
);
...
@@ -1308,7 +1308,7 @@ static void syncProcessIncommingConnection(SOCKET connFd, uint32_t sourceIp) {
...
@@ -1308,7 +1308,7 @@ static void syncProcessIncommingConnection(SOCKET connFd, uint32_t sourceIp) {
pthread_mutex_unlock
(
&
pNode
->
mutex
);
pthread_mutex_unlock
(
&
pNode
->
mutex
);
}
}
static
void
syncProcessBrokenLink
(
int64_t
rid
)
{
static
void
syncProcessBrokenLink
(
int64_t
rid
,
int32_t
closedByApp
)
{
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
SSyncPeer
*
pPeer
=
syncAcquirePeer
(
rid
);
if
(
pPeer
==
NULL
)
return
;
if
(
pPeer
==
NULL
)
return
;
...
@@ -1316,9 +1316,10 @@ static void syncProcessBrokenLink(int64_t rid) {
...
@@ -1316,9 +1316,10 @@ static void syncProcessBrokenLink(int64_t rid) {
pthread_mutex_lock
(
&
pNode
->
mutex
);
pthread_mutex_lock
(
&
pNode
->
mutex
);
sDebug
(
"%s, TCP link is broken since %s, pfd:%d sfd:%d"
,
pPeer
->
id
,
strerror
(
errno
),
pPeer
->
peerFd
,
pPeer
->
syncFd
);
sDebug
(
"%s, TCP link is broken since %s, pfd:%d sfd:%d closedByApp:%d"
,
pPeer
->
id
,
strerror
(
errno
),
pPeer
->
peerFd
,
pPeer
->
syncFd
,
closedByApp
);
pPeer
->
peerFd
=
-
1
;
pPeer
->
peerFd
=
-
1
;
if
(
pPeer
->
isArb
)
{
if
(
!
closedByApp
&&
pPeer
->
isArb
)
{
tsArbOnline
=
0
;
tsArbOnline
=
0
;
}
}
...
...
src/sync/src/syncTcp.c
浏览文件 @
4dac6ac4
...
@@ -177,7 +177,7 @@ static void taosProcessBrokenLink(SConnObj *pConn) {
...
@@ -177,7 +177,7 @@ static void taosProcessBrokenLink(SConnObj *pConn) {
SPoolInfo
*
pInfo
=
&
pPool
->
info
;
SPoolInfo
*
pInfo
=
&
pPool
->
info
;
if
(
pConn
->
closedByApp
==
0
)
shutdown
(
pConn
->
fd
,
SHUT_WR
);
if
(
pConn
->
closedByApp
==
0
)
shutdown
(
pConn
->
fd
,
SHUT_WR
);
(
*
pInfo
->
processBrokenLink
)(
pConn
->
handleId
);
(
*
pInfo
->
processBrokenLink
)(
pConn
->
handleId
,
pConn
->
closedByApp
);
pThread
->
numOfFds
--
;
pThread
->
numOfFds
--
;
epoll_ctl
(
pThread
->
pollFd
,
EPOLL_CTL_DEL
,
pConn
->
fd
,
NULL
);
epoll_ctl
(
pThread
->
pollFd
,
EPOLL_CTL_DEL
,
pConn
->
fd
,
NULL
);
...
...
src/vnode/src/vnodeMgmt.c
浏览文件 @
4dac6ac4
...
@@ -110,7 +110,9 @@ void vnodeRelease(void *vparam) {
...
@@ -110,7 +110,9 @@ void vnodeRelease(void *vparam) {
if
(
vparam
==
NULL
)
return
;
if
(
vparam
==
NULL
)
return
;
int32_t
refCount
=
atomic_sub_fetch_32
(
&
pVnode
->
refCount
,
1
);
int32_t
refCount
=
atomic_sub_fetch_32
(
&
pVnode
->
refCount
,
1
);
vTrace
(
"vgId:%d, release vnode, refCount:%d pVnode:%p"
,
pVnode
->
vgId
,
refCount
,
pVnode
);
int32_t
vgId
=
pVnode
->
vgId
;
vTrace
(
"vgId:%d, release vnode, refCount:%d pVnode:%p"
,
vgId
,
refCount
,
pVnode
);
assert
(
refCount
>=
0
);
assert
(
refCount
>=
0
);
if
(
refCount
>
0
)
{
if
(
refCount
>
0
)
{
...
@@ -118,10 +120,10 @@ void vnodeRelease(void *vparam) {
...
@@ -118,10 +120,10 @@ void vnodeRelease(void *vparam) {
tsem_post
(
&
pVnode
->
sem
);
tsem_post
(
&
pVnode
->
sem
);
}
}
}
else
{
}
else
{
vDebug
(
"vgId:%d, vnode will be destroyed, refCount:%d pVnode:%p"
,
pVnode
->
vgId
,
refCount
,
pVnode
);
vDebug
(
"vgId:%d, vnode will be destroyed, refCount:%d pVnode:%p"
,
vgId
,
refCount
,
pVnode
);
vnodeDestroyInMWorker
(
pVnode
);
vnodeDestroyInMWorker
(
pVnode
);
int32_t
count
=
taosHashGetSize
(
tsVnodesHash
);
int32_t
count
=
taosHashGetSize
(
tsVnodesHash
);
vDebug
(
"vgId:%d, vnode is destroyed, vnodes:%d"
,
pVnode
->
vgId
,
count
);
vDebug
(
"vgId:%d, vnode is destroyed, vnodes:%d"
,
vgId
,
count
);
}
}
}
}
...
...
tests/pytest/fulltest.sh
浏览文件 @
4dac6ac4
...
@@ -244,6 +244,7 @@ python3 ./test.py -f query/queryStddevWithGroupby.py
...
@@ -244,6 +244,7 @@ python3 ./test.py -f query/queryStddevWithGroupby.py
python3 ./test.py
-f
query/querySecondtscolumnTowherenow.py
python3 ./test.py
-f
query/querySecondtscolumnTowherenow.py
python3 ./test.py
-f
query/queryFilterTswithDateUnit.py
python3 ./test.py
-f
query/queryFilterTswithDateUnit.py
python3 ./test.py
-f
query/queryTscomputWithNow.py
python3 ./test.py
-f
query/queryTscomputWithNow.py
python3 ./test.py
-f
query/queryStableJoin.py
python3 ./test.py
-f
query/computeErrorinWhere.py
python3 ./test.py
-f
query/computeErrorinWhere.py
python3 ./test.py
-f
query/queryTsisNull.py
python3 ./test.py
-f
query/queryTsisNull.py
python3 ./test.py
-f
query/subqueryFilter.py
python3 ./test.py
-f
query/subqueryFilter.py
...
...
tests/pytest/query/queryInterval.py
浏览文件 @
4dac6ac4
...
@@ -73,6 +73,52 @@ class TDTestCase:
...
@@ -73,6 +73,52 @@ class TDTestCase:
tdSql
.
checkData
(
6
,
0
,
"2020-09-16 00:00:00"
)
tdSql
.
checkData
(
6
,
0
,
"2020-09-16 00:00:00"
)
tdSql
.
checkData
(
6
,
1
,
222.0
)
tdSql
.
checkData
(
6
,
1
,
222.0
)
# test case for https://jira.taosdata.com:18080/browse/TD-5338
tdSql
.
query
(
"select loc,max(voltage) from st interval(1m);"
)
tdSql
.
checkRows
(
8
)
tdSql
.
checkData
(
0
,
0
,
"2020-07-01 04:24:00.000"
)
tdSql
.
checkData
(
0
,
1
,
"beijing"
)
tdSql
.
checkData
(
0
,
2
,
220
)
tdSql
.
checkData
(
1
,
0
,
"2020-07-12 18:11:00.000"
)
tdSql
.
checkData
(
1
,
1
,
"beijing"
)
tdSql
.
checkData
(
1
,
2
,
221
)
tdSql
.
checkData
(
2
,
0
,
"2020-07-24 07:58:00.000"
)
tdSql
.
checkData
(
2
,
1
,
"beijing"
)
tdSql
.
checkData
(
2
,
2
,
225
)
tdSql
.
checkData
(
3
,
0
,
"2020-08-04 21:44:00.000"
)
tdSql
.
checkData
(
2
,
1
,
"beijing"
)
tdSql
.
checkData
(
3
,
2
,
228
)
tdSql
.
checkData
(
4
,
0
,
"2020-08-16 11:31:00.000"
)
tdSql
.
checkData
(
4
,
1
,
"shanghai"
)
tdSql
.
checkData
(
4
,
2
,
225
)
tdSql
.
checkData
(
5
,
0
,
"2020-08-28 01:18:00.000"
)
tdSql
.
checkData
(
5
,
1
,
"shanghai"
)
tdSql
.
checkData
(
5
,
2
,
228
)
tdSql
.
checkData
(
6
,
0
,
"2020-09-08 15:04:00.000"
)
tdSql
.
checkData
(
6
,
1
,
"beijing"
)
tdSql
.
checkData
(
6
,
2
,
222
)
tdSql
.
checkData
(
7
,
0
,
"2020-09-20 04:51:00.000"
)
tdSql
.
checkData
(
7
,
1
,
"shanghai"
)
tdSql
.
checkData
(
7
,
2
,
222
)
tdSql
.
query
(
"select loc,max(voltage) from t0 interval(1m);"
)
tdSql
.
checkRows
(
5
)
tdSql
.
checkData
(
0
,
0
,
"2020-07-01 04:24:00.000"
)
tdSql
.
checkData
(
0
,
1
,
"beijing"
)
tdSql
.
checkData
(
0
,
2
,
220
)
tdSql
.
checkData
(
1
,
0
,
"2020-07-12 18:11:00.000"
)
tdSql
.
checkData
(
1
,
1
,
"beijing"
)
tdSql
.
checkData
(
1
,
2
,
221
)
tdSql
.
checkData
(
2
,
0
,
"2020-07-24 07:58:00.000"
)
tdSql
.
checkData
(
2
,
1
,
"beijing"
)
tdSql
.
checkData
(
2
,
2
,
225
)
tdSql
.
checkData
(
3
,
0
,
"2020-08-04 21:44:00.000"
)
tdSql
.
checkData
(
2
,
1
,
"beijing"
)
tdSql
.
checkData
(
3
,
2
,
228
)
tdSql
.
checkData
(
4
,
0
,
"2020-09-08 15:04:00.000"
)
tdSql
.
checkData
(
4
,
1
,
"beijing"
)
tdSql
.
checkData
(
4
,
2
,
222
)
# test case for https://jira.taosdata.com:18080/browse/TD-2298
# test case for https://jira.taosdata.com:18080/browse/TD-2298
tdSql
.
execute
(
"create database test keep 36500"
)
tdSql
.
execute
(
"create database test keep 36500"
)
tdSql
.
execute
(
"use test"
)
tdSql
.
execute
(
"use test"
)
...
...
tests/pytest/query/queryStableJoin.py
0 → 100644
浏览文件 @
4dac6ac4
###################################################################
# 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
tdLog
from
util.cases
import
tdCases
from
util.sql
import
tdSql
import
random
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
self
.
ts
=
1600000000000
self
.
num
=
10
def
run
(
self
):
tdSql
.
prepare
()
# test case for https://jira.taosdata.com:18080/browse/TD-5206
tdSql
.
execute
(
'''create stable stable_1
(ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
q_bool bool , q_binary binary(20) , q_nchar nchar(20) ,q_float float , q_double double , q_ts timestamp)
tags(loc nchar(20) , t_int int , t_bigint bigint , t_smallint smallint , t_tinyint tinyint,
t_bool bool , t_binary binary(20) , t_nchar nchar(20) ,t_float float , t_double double );'''
)
tdSql
.
execute
(
'''create stable stable_2
(ts timestamp , q_int int , q_bigint bigint , q_smallint smallint , q_tinyint tinyint,
q_bool bool , q_binary binary(20) , q_nchar nchar(20) ,q_float float , q_double double , q_ts timestamp)
tags(loc nchar(20) , t_int int , t_bigint bigint , t_smallint smallint , t_tinyint tinyint,
t_bool bool , t_binary binary(20) , t_nchar nchar(20) ,t_float float , t_double double );'''
)
tdSql
.
execute
(
'''create table table_0 using stable_1
tags('table_0' , '0' , '0' , '0' , '0' , 0 , '0' , '0' , '0' , '0' )'''
)
tdSql
.
execute
(
'''create table table_1 using stable_1
tags('table_1' , '2147483647' , '9223372036854775807' , '32767' , '127' , 1 ,
'binary1' , 'nchar1' , '1' , '11' )'''
)
tdSql
.
execute
(
'''create table table_2 using stable_1
tags('table_2' , '-2147483647' , '-9223372036854775807' , '-32767' , '-127' , false ,
'binary2' , 'nchar2nchar2' , '-2.2' , '-22.22')'''
)
tdSql
.
execute
(
'''create table table_3 using stable_1
tags('table_3' , '3' , '3' , '3' , '3' , true , 'binary3' , 'nchar3' , '33.33' , '3333.3333' )'''
)
tdSql
.
execute
(
'''create table table_4 using stable_1
tags('table_4' , '4' , '4' , '4' , '4' , false , 'binary4' , 'nchar4' , '-444.444' , '-444444.444444' )'''
)
tdSql
.
execute
(
'''create table table_5 using stable_1
tags('table_5' , '5' , '5' , '5' , '5' , true , 'binary5' , 'nchar5' , '5555.5555' , '55555555.55555555' )'''
)
tdSql
.
execute
(
'''create table table_21 using stable_2
tags('table_5' , '5' , '5' , '5' , '5' , true , 'binary5' , 'nchar5' , '5555.5555' , '55555555.55555555' )'''
)
for
i
in
range
(
self
.
num
):
tdSql
.
execute
(
'''insert into table_0 values(%d, %d, %d, %d, %d, 0, 'binary.%s', 'nchar.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
self
.
ts
+
i
))
tdSql
.
execute
(
'''insert into table_1 values(%d, %d, %d, %d, %d, 1, 'binary1.%s', 'nchar1.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
2147483647
-
i
,
9223372036854775807
-
i
,
32767
-
i
,
127
-
i
,
i
,
i
,
random
.
random
(),
random
.
random
(),
1262304000001
+
i
))
tdSql
.
execute
(
'''insert into table_2 values(%d, %d, %d, %d, %d, true, 'binary2.%s', 'nchar2nchar2.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
-
2147483647
+
i
,
-
9223372036854775807
+
i
,
-
32767
+
i
,
-
127
+
i
,
i
,
i
,
random
.
uniform
(
-
1
,
0
),
random
.
uniform
(
-
1
,
0
),
1577836800001
+
i
))
tdSql
.
execute
(
'''insert into table_3 values(%d, %d, %d, %d, %d, false, 'binary3.%s', 'nchar3.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
random
.
randint
(
-
2147483647
,
2147483647
),
random
.
randint
(
-
9223372036854775807
,
9223372036854775807
),
random
.
randint
(
-
32767
,
32767
),
random
.
randint
(
-
127
,
127
),
random
.
randint
(
-
100
,
100
),
random
.
randint
(
-
10000
,
10000
),
random
.
uniform
(
-
100000
,
100000
),
random
.
uniform
(
-
1000000000
,
1000000000
),
self
.
ts
+
i
))
tdSql
.
execute
(
'''insert into table_4 values(%d, %d, %d, %d, %d, true, 'binary4.%s', 'nchar4.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
self
.
ts
+
i
))
tdSql
.
execute
(
'''insert into table_5 values(%d, %d, %d, %d, %d, false, 'binary5.%s', 'nchar5.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
self
.
ts
+
i
))
tdSql
.
execute
(
'''insert into table_21 values(%d, %d, %d, %d, %d, false, 'binary5.%s', 'nchar5.%s', %f, %f, %d)'''
%
(
self
.
ts
+
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
i
,
self
.
ts
+
i
))
tdLog
.
info
(
"==========TEST1:test all table data=========="
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
error
(
sql
)
tdLog
.
info
(
"==========TEST1:test drop table_0 data=========="
)
sql
=
'''drop table table_0;'''
tdSql
.
execute
(
sql
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
error
(
sql
)
tdLog
.
info
(
"==========TEST1:test drop table_1 data=========="
)
sql
=
'''drop table table_1;'''
tdSql
.
execute
(
sql
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
error
(
sql
)
tdLog
.
info
(
"==========TEST1:test drop table_2 data=========="
)
sql
=
'''drop table table_2;'''
tdSql
.
execute
(
sql
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
error
(
sql
)
tdLog
.
info
(
"==========TEST1:test drop table_3 data=========="
)
sql
=
'''drop table table_3;'''
tdSql
.
execute
(
sql
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
tdLog
.
info
(
"==========TEST1:test drop table_4 data=========="
)
sql
=
'''drop table table_4;'''
tdSql
.
execute
(
sql
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
self
.
num
)
tdLog
.
info
(
"==========TEST1:test drop table_5 data=========="
)
sql
=
'''drop table table_5;'''
tdSql
.
execute
(
sql
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_nchar = stable_2.t_nchar and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_tinyint = stable_2.t_tinyint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_binary = stable_2.t_binary and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_double = stable_2.t_double and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_smallint = stable_2.t_smallint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bigint = stable_2.t_bigint and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_int = stable_2.t_int and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_float = stable_2.t_float and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
sql
=
'''select * from stable_1,stable_2 where stable_1.t_bool = stable_2.t_bool and stable_1.ts = stable_2.ts;'''
tdSql
.
query
(
sql
)
tdSql
.
checkRows
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
\ No newline at end of file
tests/pytest/tools/taosdemoAllTest/TD-4985/query-limit-offset.py
浏览文件 @
4dac6ac4
...
@@ -176,12 +176,8 @@ class TDTestCase:
...
@@ -176,12 +176,8 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
1
,
5
)
tdSql
.
checkData
(
0
,
1
,
5
)
tdSql
.
checkData
(
1
,
1
,
6
)
tdSql
.
checkData
(
1
,
1
,
6
)
tdSql
.
checkData
(
2
,
1
,
7
)
tdSql
.
checkData
(
2
,
1
,
7
)
os
.
system
(
"rm -rf tools/taosdemoAllTest/TD-4985/query-limit-offset.py.sql"
)
os
.
system
(
"rm -rf tools/taosdemoAllTest/TD-4985/query-limit-offset.py.sql"
)
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
tests/pytest/tools/taosdemoAllTest/taosdemoTestInsertWithJson.py
浏览文件 @
4dac6ac4
...
@@ -180,13 +180,14 @@ class TDTestCase:
...
@@ -180,13 +180,14 @@ class TDTestCase:
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertColumnsAndTagNum4096.json -y "
%
binPath
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertColumnsAndTagNum4096.json -y "
%
binPath
)
tdSql
.
query
(
"select count(*) from db.stb0"
)
tdSql
.
query
(
"select count(*) from db.stb0"
)
tdSql
.
checkData
(
0
,
0
,
10000
)
tdSql
.
checkData
(
0
,
0
,
10000
)
tdSql
.
execute
(
"drop database if exists db"
)
tdSql
.
execute
(
"drop database if exists db"
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertInterlaceRowsLarge1M.json -y "
%
binPath
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertInterlaceRowsLarge1M.json -y "
%
binPath
)
tdSql
.
query
(
"select count(*) from db.stb0"
)
tdSql
.
query
(
"select count(*) from db.stb0"
)
tdSql
.
checkRows
(
0
)
tdSql
.
checkRows
(
0
)
tdSql
.
execute
(
"drop database if exists db"
)
tdSql
.
execute
(
"drop database if exists db"
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertColumnsNum0.json -y "
%
binPath
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertColumnsNum0.json -y "
%
binPath
)
tdSql
.
execute
(
"use db"
)
tdSql
.
execute
(
"use db"
)
tdSql
.
query
(
"show stables like 'stb0%' "
)
tdSql
.
query
(
"show stables like 'stb0%' "
)
tdSql
.
checkData
(
0
,
2
,
11
)
tdSql
.
checkData
(
0
,
2
,
11
)
tdSql
.
execute
(
"drop database if exists db"
)
tdSql
.
execute
(
"drop database if exists db"
)
...
@@ -196,7 +197,7 @@ class TDTestCase:
...
@@ -196,7 +197,7 @@ class TDTestCase:
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertBinaryLenLarge16374AllcolLar49151.json -y "
%
binPath
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertBinaryLenLarge16374AllcolLar49151.json -y "
%
binPath
)
tdSql
.
query
(
"select count(*) from db.stb0"
)
tdSql
.
query
(
"select count(*) from db.stb0"
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
"select count(*) from db.stb1"
)
tdSql
.
query
(
"select count(*) from db.stb1"
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkRows
(
1
)
tdSql
.
error
(
"select * from db.stb4"
)
tdSql
.
error
(
"select * from db.stb4"
)
tdSql
.
error
(
"select * from db.stb2"
)
tdSql
.
error
(
"select * from db.stb2"
)
...
@@ -221,7 +222,7 @@ class TDTestCase:
...
@@ -221,7 +222,7 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
"2020-03-31 12:00:00.000"
)
tdSql
.
checkData
(
0
,
0
,
"2020-03-31 12:00:00.000"
)
tdSql
.
query
(
"select first(ts) from blf.p_0_topics_2"
)
tdSql
.
query
(
"select first(ts) from blf.p_0_topics_2"
)
tdSql
.
checkData
(
0
,
0
,
"2019-10-01 00:00:00"
)
tdSql
.
checkData
(
0
,
0
,
"2019-10-01 00:00:00"
)
tdSql
.
query
(
"select last(ts) from blf.p_0_topics_6 "
)
tdSql
.
query
(
"select last(ts) from blf.p_0_topics_6 "
)
tdSql
.
checkData
(
0
,
0
,
"2020-09-29 23:59:00"
)
tdSql
.
checkData
(
0
,
0
,
"2020-09-29 23:59:00"
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertMaxNumPerReq.json -y "
%
binPath
)
os
.
system
(
"%staosdemo -f tools/taosdemoAllTest/insertMaxNumPerReq.json -y "
%
binPath
)
tdSql
.
execute
(
"use db"
)
tdSql
.
execute
(
"use db"
)
...
@@ -324,6 +325,7 @@ class TDTestCase:
...
@@ -324,6 +325,7 @@ class TDTestCase:
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
tests/pytest/tools/taosdemoTestTblAlt.py
浏览文件 @
4dac6ac4
...
@@ -98,8 +98,8 @@ class TDTestCase:
...
@@ -98,8 +98,8 @@ class TDTestCase:
break
break
time
.
sleep
(
1
)
time
.
sleep
(
1
)
print
(
"alter table test.meters add column c
ol
10 int"
)
print
(
"alter table test.meters add column c10 int"
)
tdSql
.
execute
(
"alter table test.meters add column c
ol
10 int"
)
tdSql
.
execute
(
"alter table test.meters add column c10 int"
)
print
(
"insert into test.t9 values (now, 1, 2, 3, 4, 0)"
)
print
(
"insert into test.t9 values (now, 1, 2, 3, 4, 0)"
)
tdSql
.
execute
(
"insert into test.t9 values (now, 1, 2, 3, 4, 0)"
)
tdSql
.
execute
(
"insert into test.t9 values (now, 1, 2, 3, 4, 0)"
)
...
...
tests/tsim/src/simExe.c
浏览文件 @
4dac6ac4
...
@@ -808,6 +808,11 @@ bool simExecuteNativeSqlCommand(SScript *script, char *rest, bool isSlow) {
...
@@ -808,6 +808,11 @@ bool simExecuteNativeSqlCommand(SScript *script, char *rest, bool isSlow) {
break
;
break
;
case
TSDB_DATA_TYPE_BINARY
:
case
TSDB_DATA_TYPE_BINARY
:
case
TSDB_DATA_TYPE_NCHAR
:
case
TSDB_DATA_TYPE_NCHAR
:
if
(
length
[
i
]
<
0
||
length
[
i
]
>
1
<<
20
)
{
fprintf
(
stderr
,
"Invalid length(%d) of BINARY or NCHAR
\n
"
,
length
[
i
]);
exit
(
-
1
);
}
memset
(
value
,
0
,
MAX_QUERY_VALUE_LEN
);
memset
(
value
,
0
,
MAX_QUERY_VALUE_LEN
);
memcpy
(
value
,
row
[
i
],
length
[
i
]);
memcpy
(
value
,
row
[
i
],
length
[
i
]);
value
[
length
[
i
]]
=
0
;
value
[
length
[
i
]]
=
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录