Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d7b14860
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
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看板
提交
d7b14860
编写于
11月 04, 2021
作者:
S
shenglian zhou
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' into szhou/feature/support-math-functions
上级
e5ffda85
6124b211
变更
48
展开全部
隐藏空白更改
内联
并排
Showing
48 changed file
with
3064 addition
and
1910 deletion
+3064
-1910
.gitmodules
.gitmodules
+3
-0
CMakeLists.txt
CMakeLists.txt
+20
-0
Jenkinsfile
Jenkinsfile
+100
-6
cmake/define.inc
cmake/define.inc
+8
-2
cmake/input.inc
cmake/input.inc
+2
-0
deps/CMakeLists.txt
deps/CMakeLists.txt
+29
-3
deps/TSZ
deps/TSZ
+0
-1
deps/avro
deps/avro
+1
-0
documentation20/cn/09.connections/docs.md
documentation20/cn/09.connections/docs.md
+16
-13
documentation20/cn/14.devops/01.telegraf/docs.md
documentation20/cn/14.devops/01.telegraf/docs.md
+9
-7
documentation20/cn/14.devops/02.collectd/docs.md
documentation20/cn/14.devops/02.collectd/docs.md
+9
-7
documentation20/cn/images/connections/dashboard-15146.png
documentation20/cn/images/connections/dashboard-15146.png
+0
-0
documentation20/en/09.connections/docs.md
documentation20/en/09.connections/docs.md
+10
-5
documentation20/en/images/connections/dashboard-15146.png
documentation20/en/images/connections/dashboard-15146.png
+0
-0
packaging/cfg/taos.cfg
packaging/cfg/taos.cfg
+3
-0
packaging/check_package.sh
packaging/check_package.sh
+5
-5
packaging/deb/makedeb.sh
packaging/deb/makedeb.sh
+0
-6
packaging/release.sh
packaging/release.sh
+1
-1
packaging/rpm/makerpm.sh
packaging/rpm/makerpm.sh
+1
-1
packaging/rpm/tdengine.spec
packaging/rpm/tdengine.spec
+0
-6
packaging/tools/check_os.sh
packaging/tools/check_os.sh
+1
-1
packaging/tools/install.sh
packaging/tools/install.sh
+2
-2
packaging/tools/install_power.sh
packaging/tools/install_power.sh
+2
-2
packaging/tools/install_pro.sh
packaging/tools/install_pro.sh
+3
-3
packaging/tools/install_tq.sh
packaging/tools/install_tq.sh
+2
-2
packaging/tools/make_install.sh
packaging/tools/make_install.sh
+36
-14
packaging/tools/makeclient.sh
packaging/tools/makeclient.sh
+0
-5
packaging/tools/makeclient_power.sh
packaging/tools/makeclient_power.sh
+0
-5
packaging/tools/makeclient_pro.sh
packaging/tools/makeclient_pro.sh
+0
-5
packaging/tools/makeclient_tq.sh
packaging/tools/makeclient_tq.sh
+0
-5
packaging/tools/makepkg.sh
packaging/tools/makepkg.sh
+0
-5
packaging/tools/makepkg_power.sh
packaging/tools/makepkg_power.sh
+0
-5
packaging/tools/makepkg_pro.sh
packaging/tools/makepkg_pro.sh
+0
-5
packaging/tools/makepkg_tq.sh
packaging/tools/makepkg_tq.sh
+0
-5
packaging/tools/post.sh
packaging/tools/post.sh
+2
-2
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+7
-2
src/common/inc/tglobal.h
src/common/inc/tglobal.h
+48
-46
src/common/src/tglobal.c
src/common/src/tglobal.c
+119
-109
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBPreparedStatement.java
...rc/main/java/com/taosdata/jdbc/TSDBPreparedStatement.java
+27
-21
src/connector/jdbc/src/main/java/com/taosdata/jdbc/utils/HttpClientPoolUtil.java
...main/java/com/taosdata/jdbc/utils/HttpClientPoolUtil.java
+1
-7
src/connector/jdbc/src/test/java/com/taosdata/jdbc/ParameterBindTest.java
...bc/src/test/java/com/taosdata/jdbc/ParameterBindTest.java
+139
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/utils/HttpClientPoolUtilTest.java
.../java/com/taosdata/jdbc/utils/HttpClientPoolUtilTest.java
+0
-8
src/kit/taosdump/CMakeLists.txt
src/kit/taosdump/CMakeLists.txt
+15
-4
src/kit/taosdump/taosdump.c
src/kit/taosdump/taosdump.c
+2437
-1560
src/plugins/CMakeLists.txt
src/plugins/CMakeLists.txt
+2
-20
src/plugins/http/src/httpContext.c
src/plugins/http/src/httpContext.c
+1
-1
src/util/inc/tconfig.h
src/util/inc/tconfig.h
+2
-1
tests/pytest/insert/special_character_show.py
tests/pytest/insert/special_character_show.py
+1
-2
未找到文件。
.gitmodules
浏览文件 @
d7b14860
...
@@ -19,3 +19,6 @@
...
@@ -19,3 +19,6 @@
[submodule "src/plugins/blm3"]
[submodule "src/plugins/blm3"]
path = src/plugins/blm3
path = src/plugins/blm3
url = https://github.com/taosdata/blm3
url = https://github.com/taosdata/blm3
[submodule "deps/avro"]
path = deps/avro
url = https://github.com/apache/avro
CMakeLists.txt
浏览文件 @
d7b14860
...
@@ -15,6 +15,26 @@ ELSE ()
...
@@ -15,6 +15,26 @@ ELSE ()
CMAKE_MINIMUM_REQUIRED
(
VERSION 3.0
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 3.0
)
ENDIF
()
ENDIF
()
if
(
NOT WIN32
)
string
(
ASCII 27 Esc
)
set
(
ColourReset
"
${
Esc
}
[m"
)
set
(
ColourBold
"
${
Esc
}
[1m"
)
set
(
Red
"
${
Esc
}
[31m"
)
set
(
Green
"
${
Esc
}
[32m"
)
set
(
Yellow
"
${
Esc
}
[33m"
)
set
(
Blue
"
${
Esc
}
[34m"
)
set
(
Magenta
"
${
Esc
}
[35m"
)
set
(
Cyan
"
${
Esc
}
[36m"
)
set
(
White
"
${
Esc
}
[37m"
)
set
(
BoldRed
"
${
Esc
}
[1;31m"
)
set
(
BoldGreen
"
${
Esc
}
[1;32m"
)
set
(
BoldYellow
"
${
Esc
}
[1;33m"
)
set
(
BoldBlue
"
${
Esc
}
[1;34m"
)
set
(
BoldMagenta
"
${
Esc
}
[1;35m"
)
set
(
BoldCyan
"
${
Esc
}
[1;36m"
)
set
(
BoldWhite
"
${
Esc
}
[1;37m"
)
endif
()
SET
(
TD_ACCOUNT FALSE
)
SET
(
TD_ACCOUNT FALSE
)
SET
(
TD_ADMIN FALSE
)
SET
(
TD_ADMIN FALSE
)
SET
(
TD_GRANT FALSE
)
SET
(
TD_GRANT FALSE
)
...
...
Jenkinsfile
浏览文件 @
d7b14860
...
@@ -107,7 +107,77 @@ def pre_test(){
...
@@ -107,7 +107,77 @@ def pre_test(){
make > /dev/null
make > /dev/null
make install > /dev/null
make install > /dev/null
cd ${WKC}/tests
cd ${WKC}/tests
pip3 install ${WKC}/src/connector/python/ || echo "not install"
pip3 install ${WKC}/src/connector/python/
'''
return
1
}
def
pre_test_noinstall
(){
sh
'hostname'
sh
'''
cd ${WKC}
git reset --hard HEAD~10 >/dev/null
'''
script
{
if
(
env
.
CHANGE_TARGET
==
'master'
)
{
sh
'''
cd ${WKC}
git checkout master
'''
}
else
if
(
env
.
CHANGE_TARGET
==
'2.0'
){
sh
'''
cd ${WKC}
git checkout 2.0
'''
}
else
{
sh
'''
cd ${WKC}
git checkout develop
'''
}
}
sh
'''
cd ${WKC}
git pull >/dev/null
git fetch origin +refs/pull/${CHANGE_ID}/merge
git checkout -qf FETCH_HEAD
git clean -dfx
git submodule update --init --recursive
cd ${WK}
git reset --hard HEAD~10
'''
script
{
if
(
env
.
CHANGE_TARGET
==
'master'
)
{
sh
'''
cd ${WK}
git checkout master
'''
}
else
if
(
env
.
CHANGE_TARGET
==
'2.0'
){
sh
'''
cd ${WK}
git checkout 2.0
'''
}
else
{
sh
'''
cd ${WK}
git checkout develop
'''
}
}
sh
'''
cd ${WK}
git pull >/dev/null
export TZ=Asia/Harbin
date
git clean -dfx
mkdir debug
cd debug
cmake .. > /dev/null
make > /dev/null
'''
'''
return
1
return
1
}
}
...
@@ -460,31 +530,55 @@ pipeline {
...
@@ -460,31 +530,55 @@ pipeline {
stage
(
'arm64centos7'
)
{
stage
(
'arm64centos7'
)
{
agent
{
label
" arm64centos7 "
}
agent
{
label
" arm64centos7 "
}
steps
{
steps
{
pre_test
()
pre_test
_noinstall
()
}
}
}
}
stage
(
'arm64centos8'
)
{
stage
(
'arm64centos8'
)
{
agent
{
label
" arm64centos8 "
}
agent
{
label
" arm64centos8 "
}
steps
{
steps
{
pre_test
()
pre_test
_noinstall
()
}
}
}
}
stage
(
'arm32bionic'
)
{
stage
(
'arm32bionic'
)
{
agent
{
label
" arm32bionic "
}
agent
{
label
" arm32bionic "
}
steps
{
steps
{
pre_test
()
pre_test
_noinstall
()
}
}
}
}
stage
(
'arm64bionic'
)
{
stage
(
'arm64bionic'
)
{
agent
{
label
" arm64bionic "
}
agent
{
label
" arm64bionic "
}
steps
{
steps
{
pre_test
()
pre_test
_noinstall
()
}
}
}
}
stage
(
'arm64focal'
)
{
stage
(
'arm64focal'
)
{
agent
{
label
" arm64focal "
}
agent
{
label
" arm64focal "
}
steps
{
steps
{
pre_test
()
pre_test_noinstall
()
}
}
stage
(
'centos7'
)
{
agent
{
label
" centos7 "
}
steps
{
pre_test_noinstall
()
}
}
stage
(
'ubuntu:trusty'
)
{
agent
{
label
" trusty "
}
steps
{
pre_test_noinstall
()
}
}
stage
(
'ubuntu:xenial'
)
{
agent
{
label
" xenial "
}
steps
{
pre_test_noinstall
()
}
}
stage
(
'ubuntu:bionic'
)
{
agent
{
label
" bionic "
}
steps
{
pre_test_noinstall
()
}
}
}
}
...
...
cmake/define.inc
浏览文件 @
d7b14860
...
@@ -128,7 +128,6 @@ IF (TD_APLHINE)
...
@@ -128,7 +128,6 @@ IF (TD_APLHINE)
MESSAGE
(
STATUS
"aplhine is defined"
)
MESSAGE
(
STATUS
"aplhine is defined"
)
ENDIF
()
ENDIF
()
MESSAGE
(
"before BUILD_HTTP: "
$
{
BUILD_HTTP
})
IF
(
"${BUILD_HTTP}"
STREQUAL
""
)
IF
(
"${BUILD_HTTP}"
STREQUAL
""
)
IF
(
TD_LINUX
)
IF
(
TD_LINUX
)
IF
(
TD_ARM_32
)
IF
(
TD_ARM_32
)
...
@@ -140,7 +139,6 @@ IF ("${BUILD_HTTP}" STREQUAL "")
...
@@ -140,7 +139,6 @@ IF ("${BUILD_HTTP}" STREQUAL "")
SET
(
BUILD_HTTP
"true"
)
SET
(
BUILD_HTTP
"true"
)
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
MESSAGE
(
"after BUILD_HTTP: "
$
{
BUILD_HTTP
})
IF
(
$
{
BUILD_HTTP
}
MATCHES
"true"
)
IF
(
$
{
BUILD_HTTP
}
MATCHES
"true"
)
SET
(
TD_BUILD_HTTP
TRUE
)
SET
(
TD_BUILD_HTTP
TRUE
)
...
@@ -150,6 +148,14 @@ IF (TD_BUILD_HTTP)
...
@@ -150,6 +148,14 @@ IF (TD_BUILD_HTTP)
ADD_DEFINITIONS
(
-
DHTTP_EMBEDDED
)
ADD_DEFINITIONS
(
-
DHTTP_EMBEDDED
)
ENDIF
()
ENDIF
()
IF
(
"${AVRO_SUPPORT}"
MATCHES
"true"
)
SET
(
TD_AVRO_SUPPORT
TRUE
)
ENDIF
()
IF
(
TD_AVRO_SUPPORT
)
ADD_DEFINITIONS
(
-
DAVRO_SUPPORT
)
ENDIF
()
IF
(
TD_LINUX
)
IF
(
TD_LINUX
)
ADD_DEFINITIONS
(
-
DLINUX
)
ADD_DEFINITIONS
(
-
DLINUX
)
ADD_DEFINITIONS
(
-
D_LINUX
)
ADD_DEFINITIONS
(
-
D_LINUX
)
...
...
cmake/input.inc
浏览文件 @
d7b14860
...
@@ -92,6 +92,8 @@ ENDIF ()
...
@@ -92,6 +92,8 @@ ENDIF ()
SET
(
TD_BUILD_HTTP
FALSE
)
SET
(
TD_BUILD_HTTP
FALSE
)
SET
(
TD_AVRO_SUPPORT
FALSE
)
SET
(
TD_MEMORY_SANITIZER
FALSE
)
SET
(
TD_MEMORY_SANITIZER
FALSE
)
IF
(
$
{
MEMORY_SANITIZER
}
MATCHES
"true"
)
IF
(
$
{
MEMORY_SANITIZER
}
MATCHES
"true"
)
SET
(
TD_MEMORY_SANITIZER
TRUE
)
SET
(
TD_MEMORY_SANITIZER
TRUE
)
...
...
deps/CMakeLists.txt
浏览文件 @
d7b14860
...
@@ -25,10 +25,36 @@ IF (TD_DARWIN AND TD_MQTT)
...
@@ -25,10 +25,36 @@ IF (TD_DARWIN AND TD_MQTT)
ADD_SUBDIRECTORY
(
MQTT-C
)
ADD_SUBDIRECTORY
(
MQTT-C
)
ENDIF
()
ENDIF
()
IF
(
AVRO_SUPPORT
)
MESSAGE
(
""
)
MESSAGE
(
"
${
Green
}
ENABLE avro format support
${
ColourReset
}
"
)
MESSAGE
(
""
)
include
(
ExternalProject
)
ExternalProject_Add
(
apache-avro
PREFIX
"avro"
SOURCE_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/avro/lang/c
BUILD_IN_SOURCE 1
PATCH_COMMAND
COMMAND git clean -f -d
COMMAND sed -i.bak -e
"/TARGETS avroappend/d"
${
CMAKE_CURRENT_SOURCE_DIR
}
/avro/lang/c/src/CMakeLists.txt
COMMAND sed -i.bak -e
"/TARGETS avrocat/d"
${
CMAKE_CURRENT_SOURCE_DIR
}
/avro/lang/c/src/CMakeLists.txt
COMMAND sed -i.bak -e
"/TARGETS avromod/d"
${
CMAKE_CURRENT_SOURCE_DIR
}
/avro/lang/c/src/CMakeLists.txt
COMMAND sed -i.bak -e
"/TARGETS avropipe/d"
${
CMAKE_CURRENT_SOURCE_DIR
}
/avro/lang/c/src/CMakeLists.txt
CONFIGURE_COMMAND cmake -DCMAKE_INSTALL_PREFIX:PATH=
${
CMAKE_BINARY_DIR
}
/build
)
ELSE
()
MESSAGE
(
""
)
MESSAGE
(
"
${
Yellow
}
NO avro format support
${
ColourReset
}
"
)
MESSAGE
(
""
)
ENDIF
()
IF
(
TD_LINUX_64 AND JEMALLOC_ENABLED
)
IF
(
TD_LINUX_64 AND JEMALLOC_ENABLED
)
MESSAGE
(
""
)
MESSAGE
(
"
${
Green
}
ENABLE jemalloc
${
ColourReset
}
"
)
MESSAGE
(
""
)
MESSAGE
(
"setup deps/jemalloc, current source dir:"
${
CMAKE_CURRENT_SOURCE_DIR
}
)
MESSAGE
(
"setup deps/jemalloc, current source dir:"
${
CMAKE_CURRENT_SOURCE_DIR
}
)
MESSAGE
(
"binary dir:"
${
CMAKE_BINARY_DIR
}
)
MESSAGE
(
"binary dir:"
${
CMAKE_BINARY_DIR
}
)
include
(
ExternalProject
)
ExternalProject_Add
(
jemalloc
ExternalProject_Add
(
jemalloc
PREFIX
"jemalloc"
PREFIX
"jemalloc"
SOURCE_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/jemalloc
SOURCE_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/jemalloc
...
@@ -39,5 +65,5 @@ IF (TD_LINUX_64 AND JEMALLOC_ENABLED)
...
@@ -39,5 +65,5 @@ IF (TD_LINUX_64 AND JEMALLOC_ENABLED)
ENDIF
()
ENDIF
()
IF
(
${
TSZ_ENABLED
}
MATCHES
"true"
)
IF
(
${
TSZ_ENABLED
}
MATCHES
"true"
)
ADD_SUBDIRECTORY
(
TSZ
)
ADD_SUBDIRECTORY
(
TSZ
)
ENDIF
()
ENDIF
()
\ No newline at end of file
TSZ
@
0ca5b15a
比较
0ca5b15a
...
0ca5b15a
Subproject commit 0ca5b15a8eac40327dd737be52c926fa5675712c
avro
@
a1fce29d
Subproject commit a1fce29d9675b4dd95dfee9db32cc505d0b2227c
documentation20/cn/09.connections/docs.md
浏览文件 @
d7b14860
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
## <a class="anchor" id="grafana"></a>Grafana
## <a class="anchor" id="grafana"></a>Grafana
TDengine 能够与开源数据可视化系统
[
Grafana
](
https://www.grafana.com/
)
快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表中内容可以在仪表盘(DashBoard)上进行可视化展现。
TDengine 能够与开源数据可视化系统
[
Grafana
](
https://www.grafana.com/
)
快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表中内容可以在仪表盘(DashBoard)上进行可视化展现。
关于TDengine插件的使用您可以在
[
GitHub
](
https://github.com/taosdata/grafanaplugin/blob/master/README.md
)
中了解更多。
### 安装Grafana
### 安装Grafana
...
@@ -11,19 +11,24 @@ TDengine 能够与开源数据可视化系统 [Grafana](https://www.grafana.com/
...
@@ -11,19 +11,24 @@ TDengine 能够与开源数据可视化系统 [Grafana](https://www.grafana.com/
### 配置Grafana
### 配置Grafana
TDengine 的 Grafana 插件在安装包的 /usr/local/taos/connector/grafanaplugin 目录下。
TDengine 的 Grafana 插件请从
<https://github.com/taosdata/grafanaplugin/releases/latest>
下载。
以 CentOS 7.2 操作系统为例,将 grafanaplugin 目录拷贝到 /var/lib/grafana/plugins 目录下,重新启动 grafana 即可。
```
bash
```
bash
sudo cp
-rf
/usr/local/taos/connector/grafanaplugin /var/lib/grafana/plugins/tdengine
GF_VERSION
=
3.1.1
wget https://github.com/taosdata/grafanaplugin/releases/download/v
$GF_VERSION
/tdengine-datasource-
$GF_VERSION
.zip
```
```
Grafana 8.x 版本会对插件进行签名检查,因此还需要在 grafana.ini 文件中增加如下行,才能正确使用插件:
以 CentOS 7.2 操作系统为例,将插件包解压到 /var/lib/grafana/plugins 目录下,重新启动 grafana 即可。
```
bash
sudo
unzip tdengine-datasource-
$GF_VERSION
.zip
-d
/var/lib/grafana/plugins/
```
```
Grafana 7.3+ / 8.x 版本会对插件进行签名检查,因此还需要在 grafana.ini 文件中增加如下行,才能正确使用插件:
```
ini
[plugins]
[plugins]
enable_alpha = true
allow_loading_unsigned_plugins
=
tdengine-datasource
allow_loading_unsigned_plugins = taosdata-tdengine-datasource
```
```
### 使用 Grafana
### 使用 Grafana
...
@@ -62,7 +67,6 @@ allow_loading_unsigned_plugins = taosdata-tdengine-datasource
...
@@ -62,7 +67,6 @@ allow_loading_unsigned_plugins = taosdata-tdengine-datasource
*
ALIAS BY:可设置当前查询别名。
*
ALIAS BY:可设置当前查询别名。
*
GENERATE SQL: 点击该按钮会自动替换相应变量,并生成最终执行的语句。
*
GENERATE SQL: 点击该按钮会自动替换相应变量,并生成最终执行的语句。
按照默认提示查询当前 TDengine 部署所在服务器指定间隔系统内存平均使用量如下:
按照默认提示查询当前 TDengine 部署所在服务器指定间隔系统内存平均使用量如下:


...
@@ -71,16 +75,15 @@ allow_loading_unsigned_plugins = taosdata-tdengine-datasource
...
@@ -71,16 +75,15 @@ allow_loading_unsigned_plugins = taosdata-tdengine-datasource
#### 导入 Dashboard
#### 导入 Dashboard
在 Grafana 插件目录 /usr/local/taos/connector/grafanaplugin/dashboard 下提供了一个
`tdengine-grafana.json`
可导入的 dashboard
。
我们提供一个 TDengine Dashboard 可以作为 TDengine 集群的监控可视化工具使用,见
[
Grafana Dashboard 15146
](
https://grafana.com/grafana/dashboards/15146
)
。
点击左侧
`Import`
按钮,
并上传
`tdengine-grafana.json`
文件
:
点击左侧
`Import`
按钮,
选择
**Grafana.com Dashboard**
,j将id
`15146`
填入并加载
:


导入完成之后可看到如下效果:
导入完成之后可看到如下效果:


## <a class="anchor" id="matlab"></a>MATLAB
## <a class="anchor" id="matlab"></a>MATLAB
...
...
documentation20/cn/14.devops/01.telegraf/docs.md
浏览文件 @
d7b14860
...
@@ -30,12 +30,14 @@ IT 运维监测数据通常都是对时间特性比较敏感的数据,例如
...
@@ -30,12 +30,14 @@ IT 运维监测数据通常都是对时间特性比较敏感的数据,例如
## 数据链路设置
## 数据链路设置
### 复制 TDengine 插件到 grafana 插件目录
### 下载 TDengine 插件到 grafana 插件目录
```
1. sudo cp -r /usr/local/taos/connector/grafanaplugin /var/lib/grafana/plugins/tdengine
```
bash
2. sudo chown grafana:grafana -R /var/lib/grafana/plugins/tdengine
1. wget
-c
https://github.com/taosdata/grafanaplugin/releases/download/v3.1.1/tdengine-datasource-3.1.1.zip
3. echo -e "[plugins]\nallow_loading_unsigned_plugins = taosdata-tdengine-datasource\n" | sudo tee -a /etc/grafana/grafana.ini
2.
sudo
unzip tdengine-datasource-3.1.1.zip
-d
/var/lib/grafana/plugins/
4. sudo systemctl restart grafana-server.service
3.
sudo chown
grafana:grafana
-R
/var/lib/grafana/plugins/tdengine
4.
echo
-e
"[plugins]
\n
allow_loading_unsigned_plugins = tdengine-datasource
\n
"
|
sudo tee
-a
/etc/grafana/grafana.ini
5.
sudo
systemctl restart grafana-server.service
```
```
### 修改 /etc/telegraf/telegraf.conf
### 修改 /etc/telegraf/telegraf.conf
...
@@ -61,7 +63,7 @@ sudo systemctl start telegraf
...
@@ -61,7 +63,7 @@ sudo systemctl start telegraf
使用 Web 浏览器访问 IP:3000 登录 Grafana 界面,系统初始用户名密码为 admin/admin。
使用 Web 浏览器访问 IP:3000 登录 Grafana 界面,系统初始用户名密码为 admin/admin。
点击左侧齿轮图标并选择 Plugins,应该可以找到 TDengine data source 插件图标。
点击左侧齿轮图标并选择 Plugins,应该可以找到 TDengine data source 插件图标。
点击左侧加号图标并选择 Import,
按照界面提示选择 /usr/local/taos/connector/grafanaplugin/examples/telegraf/grafana/dashboards/telegraf-dashboard-v0.1.0.json 文件。如果按照 Grafana 的机器上没有安装 TDengine,可以从 https://github.com/taosdata/grafanaplugin/blob/master/examples/telegraf/grafana/dashboards/telegraf-dashboard-v0.1.0.json 下载 dashboard JSON 文件再
导入。之后可以看到如下界面的仪表盘:
点击左侧加号图标并选择 Import,
从 https://github.com/taosdata/grafanaplugin/blob/master/examples/telegraf/grafana/dashboards/telegraf-dashboard-v0.1.0.json 下载 dashboard JSON 文件后
导入。之后可以看到如下界面的仪表盘:


...
...
documentation20/cn/14.devops/02.collectd/docs.md
浏览文件 @
d7b14860
...
@@ -30,11 +30,13 @@ IT 运维监测数据通常都是对时间特性比较敏感的数据,例如
...
@@ -30,11 +30,13 @@ IT 运维监测数据通常都是对时间特性比较敏感的数据,例如
## 数据链路设置
## 数据链路设置
### 复制 TDengine 插件到 grafana 插件目录
### 复制 TDengine 插件到 grafana 插件目录
```
1. sudo cp -r /usr/local/taos/connector/grafanaplugin /var/lib/grafana/plugins/tdengine
```
bash
2. sudo chown grafana:grafana -R /var/lib/grafana/plugins/tdengine
1. wget
-c
https://github.com/taosdata/grafanaplugin/releases/download/v3.1.1/tdengine-datasource-3.1.1.zip
3. echo -e "[plugins]\nallow_loading_unsigned_plugins = taosdata-tdengine-datasource\n" | sudo tee -a /etc/grafana/grafana.ini
2.
sudo
unzip tdengine-datasource-3.1.1.zip
-d
/var/lib/grafana/plugins/
4. sudo systemctl restart grafana-server.service
3.
sudo chown
grafana:grafana
-R
/var/lib/grafana/plugins/tdengine
4.
echo
-e
"[plugins]
\n
allow_loading_unsigned_plugins = tdengine-datasource
\n
"
|
sudo tee
-a
/etc/grafana/grafana.ini
5.
sudo
systemctl restart grafana-server.service
```
```
### 配置 collectd
### 配置 collectd
...
@@ -62,13 +64,13 @@ repeater 部分添加 { host:'<TDengine server/cluster host>', port: <port for S
...
@@ -62,13 +64,13 @@ repeater 部分添加 { host:'<TDengine server/cluster host>', port: <port for S
#### 导入 collectd 仪表盘
#### 导入 collectd 仪表盘
点击左侧加号图标并选择 Import,按照界面提示选择 /usr/local/taos/connector/grafanaplugin/examples/collectd/grafana/dashboards/collect-metrics-with-tdengine-v0.1.0.json 文件。如果按照 Grafana 的机器上没有安装 TDengine,可以从 https://github.com/taosdata/grafanaplugin/blob/master/examples/collectd/grafana/dashboards/collect-metrics-with-tdengine-v0.1.0.json 下载 dashboard json 文件再
导入。之后可以看到如下界面的仪表盘:
从 https://github.com/taosdata/grafanaplugin/blob/master/examples/collectd/grafana/dashboards/collect-metrics-with-tdengine-v0.1.0.json 下载 dashboard json 文件,点击左侧加号图标并选择 Import,按照界面提示选择 JSON 文件
导入。之后可以看到如下界面的仪表盘:


#### 导入 StatsD 仪表盘
#### 导入 StatsD 仪表盘
点击左侧加号图标并选择 Import,按照界面提示选择 /usr/local/taos/connector/grafanaplugin/examples/statsd/dashboards/statsd-with-tdengine-v0.1.0.json 文件。如果安装 Grafana 的机器上没有安装 TDengine,可以从 https://github.com/taosdata/grafanaplugin/blob/master/examples/statsd/dashboards/statsd-with-tdengine-v0.1.0.json 下载 dashboard json 文件再导入
。之后可以看到如下界面的仪表盘:
从 https://github.com/taosdata/grafanaplugin/blob/master/examples/statsd/dashboards/statsd-with-tdengine-v0.1.0.json 下载 dashboard json 文件,点击左侧加号图标并选择 Import,按照界面提示导入JSON文件
。之后可以看到如下界面的仪表盘:


## 总结
## 总结
...
...
documentation20/cn/images/connections/dashboard-15146.png
0 → 100644
浏览文件 @
d7b14860
171.2 KB
documentation20/en/09.connections/docs.md
浏览文件 @
d7b14860
...
@@ -12,12 +12,17 @@ https://grafana.com/grafana/download.
...
@@ -12,12 +12,17 @@ https://grafana.com/grafana/download.
### Configure Grafana
### Configure Grafana
TDengine Grafana plugin is in the /usr/local/taos/connector/grafanaplugin directory.
Download grafana plugin from
<https://github.com/taosdata/grafanaplugin/releases/latest>
.
```
bash
GF_VERSION
=
3.1.1
wget https://github.com/taosdata/grafanaplugin/releases/download/v
$GF_VERSION
/tdengine-datasource-
$GF_VERSION
.zip
```
Taking Centos 7.2 as an example, just copy grafanaplugin directory to /var/lib/grafana/plugins directory and restart Grafana.
Taking Centos 7.2 as an example, just copy grafanaplugin directory to /var/lib/grafana/plugins directory and restart Grafana.
```
bash
```
bash
sudo
cp
-rf
/usr/local/taos/connector/grafanaplugin /var/lib/grafana/plugins/tdengine
sudo
unzip tdengine-datasource-
$GF_VERSION
.zip /var/lib/grafana/plugins/
```
```
### Use Grafana
### Use Grafana
...
@@ -64,15 +69,15 @@ According to the default prompt, query the average system memory usage at the sp
...
@@ -64,15 +69,15 @@ According to the default prompt, query the average system memory usage at the sp
#### Import Dashboard
#### Import Dashboard
A
`tdengine-grafana.json`
importable dashboard is provided under the Grafana plug-in directory
`/usr/local/taos/connector/grafanaplugin/dashboard`
.
We provide an example dashboard
[
Grafana Dashboard 15146
](
https://grafana.com/grafana/dashboards/15146
)
。
Click the
`Import`
button on the left panel and
upload the
`tdengine-grafana.json`
file
:
Click the
`Import`
button on the left panel and
load the grafana id
:


You can see as follows after Dashboard imported.
You can see as follows after Dashboard imported.


## <a class="anchor" id="matlab"></a> MATLAB
## <a class="anchor" id="matlab"></a> MATLAB
...
...
documentation20/en/images/connections/dashboard-15146.png
0 → 100644
浏览文件 @
d7b14860
171.2 KB
packaging/cfg/taos.cfg
浏览文件 @
d7b14860
...
@@ -203,6 +203,9 @@ keepColumnName 1
...
@@ -203,6 +203,9 @@ keepColumnName 1
# database name must be specified in restful interface if the following parameter is set, off by default
# database name must be specified in restful interface if the following parameter is set, off by default
# httpDbNameMandatory 1
# httpDbNameMandatory 1
# http keep alive, default is 30 seconds
# httpKeepAlive 30000
# The following parameter is used to limit the maximum number of lines in log files.
# The following parameter is used to limit the maximum number of lines in log files.
# max number of lines per log filters
# max number of lines per log filters
# numOfLogLines 10000000
# numOfLogLines 10000000
...
...
packaging/check_package.sh
浏览文件 @
d7b14860
...
@@ -128,12 +128,12 @@ function check_link() {
...
@@ -128,12 +128,12 @@ function check_link() {
function
check_main_path
()
{
function
check_main_path
()
{
#check install main dir and all sub dir
#check install main dir and all sub dir
main_dir
=(
""
"cfg"
"bin"
"connector"
"driver"
"examples"
"include"
"init.d"
)
main_dir
=(
""
"cfg"
"bin"
"connector"
"driver"
"examples"
"include"
"init.d"
)
for
i
in
${
main_dir
[@]
}
;
do
for
i
in
"
${
main_dir
[@]
}
"
;
do
check_file
${
install_main_dir
}
$i
check_file
${
install_main_dir
}
$i
done
done
if
[
"
$verMode
"
==
"cluster"
]
;
then
if
[
"
$verMode
"
==
"cluster"
]
;
then
nginx_main_dir
=(
"admin"
"conf"
"html"
"sbin"
"logs"
)
nginx_main_dir
=(
"admin"
"conf"
"html"
"sbin"
"logs"
)
for
i
in
${
nginx_main_dir
[@]
}
;
do
for
i
in
"
${
nginx_main_dir
[@]
}
"
;
do
check_file
${
nginx_dir
}
$i
check_file
${
nginx_dir
}
$i
done
done
fi
fi
...
@@ -143,11 +143,11 @@ function check_main_path() {
...
@@ -143,11 +143,11 @@ function check_main_path() {
function
check_bin_path
()
{
function
check_bin_path
()
{
# check install bin dir and all sub dir
# check install bin dir and all sub dir
bin_dir
=(
"taos"
"taosd"
"blm3"
"taosdemo"
"taosdump"
"remove.sh"
"tarbitrator"
"set_core.sh"
)
bin_dir
=(
"taos"
"taosd"
"blm3"
"taosdemo"
"taosdump"
"remove.sh"
"tarbitrator"
"set_core.sh"
)
for
i
in
${
bin_dir
[@]
}
;
do
for
i
in
"
${
bin_dir
[@]
}
"
;
do
check_file
${
sbin_dir
}
$i
check_file
${
sbin_dir
}
$i
done
done
lbin_dir
=(
"taos"
"taosd"
"blm3"
"taosdemo"
"taosdump"
"rmtaos"
"tarbitrator"
"set_core"
)
lbin_dir
=(
"taos"
"taosd"
"blm3"
"taosdemo"
"taosdump"
"rmtaos"
"tarbitrator"
"set_core"
)
for
i
in
${
lbin_dir
[@]
}
;
do
for
i
in
"
${
lbin_dir
[@]
}
"
;
do
check_link
${
bin_link_dir
}
/
$i
check_link
${
bin_link_dir
}
/
$i
done
done
if
[
"
$verMode
"
==
"cluster"
]
;
then
if
[
"
$verMode
"
==
"cluster"
]
;
then
...
@@ -171,7 +171,7 @@ function check_lib_path() {
...
@@ -171,7 +171,7 @@ function check_lib_path() {
function
check_header_path
()
{
function
check_header_path
()
{
# check all header
# check all header
header_dir
=(
"taos.h"
"taoserror.h"
)
header_dir
=(
"taos.h"
"taoserror.h"
)
for
i
in
${
header_dir
[@]
}
;
do
for
i
in
"
${
header_dir
[@]
}
"
;
do
check_link
${
inc_link_dir
}
/
$i
check_link
${
inc_link_dir
}
/
$i
done
done
echo
-e
"Check bin path:
\0
33[32mOK
\0
33[0m!"
echo
-e
"Check bin path:
\0
33[32mOK
\0
33[0m!"
...
...
packaging/deb/makedeb.sh
浏览文件 @
d7b14860
...
@@ -68,12 +68,6 @@ cp ${compile_dir}/build/lib/${libfile} ${pkg_dir}${install_home_pat
...
@@ -68,12 +68,6 @@ cp ${compile_dir}/build/lib/${libfile} ${pkg_dir}${install_home_pat
cp
${
compile_dir
}
/../src/inc/taos.h
${
pkg_dir
}${
install_home_path
}
/include
cp
${
compile_dir
}
/../src/inc/taos.h
${
pkg_dir
}${
install_home_path
}
/include
cp
${
compile_dir
}
/../src/inc/taoserror.h
${
pkg_dir
}${
install_home_path
}
/include
cp
${
compile_dir
}
/../src/inc/taoserror.h
${
pkg_dir
}${
install_home_path
}
/include
cp
-r
${
top_dir
}
/tests/examples/
*
${
pkg_dir
}${
install_home_path
}
/examples
cp
-r
${
top_dir
}
/tests/examples/
*
${
pkg_dir
}${
install_home_path
}
/examples
if
[
-d
"
${
top_dir
}
/src/connector/grafanaplugin/dist"
]
;
then
cp
-r
${
top_dir
}
/src/connector/grafanaplugin/dist
${
pkg_dir
}${
install_home_path
}
/connector/grafanaplugin
else
echo
"grafanaplugin bundled directory not found!"
exit
1
fi
cp
-r
${
top_dir
}
/src/connector/python
${
pkg_dir
}${
install_home_path
}
/connector
cp
-r
${
top_dir
}
/src/connector/python
${
pkg_dir
}${
install_home_path
}
/connector
cp
-r
${
top_dir
}
/src/connector/go
${
pkg_dir
}${
install_home_path
}
/connector
cp
-r
${
top_dir
}
/src/connector/go
${
pkg_dir
}${
install_home_path
}
/connector
cp
-r
${
top_dir
}
/src/connector/nodejs
${
pkg_dir
}${
install_home_path
}
/connector
cp
-r
${
top_dir
}
/src/connector/nodejs
${
pkg_dir
}${
install_home_path
}
/connector
...
...
packaging/release.sh
浏览文件 @
d7b14860
...
@@ -151,7 +151,7 @@ function vercomp () {
...
@@ -151,7 +151,7 @@ function vercomp () {
}
}
# 1. check version information
# 1. check version information
if
(
(
!
is_valid_version
$verNumber
)
||
(
!
is_valid_version
$verNumberComp
)
||
[[
"
$(
vercomp
$verNumber
$verNumberComp
)
"
==
'2'
]]
)
;
then
if
(
(
!
is_valid_version
$verNumber
)
||
(
!
is_valid_version
$verNumberComp
)
||
[[
"
$(
vercomp
$verNumber
$verNumberComp
)
"
==
'2'
]]
)
;
then
echo
"please enter correct version"
echo
"please enter correct version"
exit
0
exit
0
fi
fi
...
...
packaging/rpm/makerpm.sh
浏览文件 @
d7b14860
...
@@ -36,7 +36,7 @@ local cur_dir
...
@@ -36,7 +36,7 @@ local cur_dir
cd
$1
cd
$1
cur_dir
=
$(
pwd
)
cur_dir
=
$(
pwd
)
for
dirlist
in
$(
ls
${
cur_dir
}
)
;
do
for
dirlist
in
"
$(
ls
${
cur_dir
}
)
"
;
do
if
test
-d
${
dirlist
}
;
then
if
test
-d
${
dirlist
}
;
then
cd
${
dirlist
}
cd
${
dirlist
}
cp_rpm_package
${
cur_dir
}
/
${
dirlist
}
cp_rpm_package
${
cur_dir
}
/
${
dirlist
}
...
...
packaging/rpm/tdengine.spec
浏览文件 @
d7b14860
...
@@ -73,12 +73,6 @@ cp %{_compiledir}/build/bin/taosdump %{buildroot}%{homepath}/bin
...
@@ -73,12 +73,6 @@ cp %{_compiledir}/build/bin/taosdump %{buildroot}%{homepath}/bin
cp %{_compiledir}/build/lib/${libfile} %{buildroot}%{homepath}/driver
cp %{_compiledir}/build/lib/${libfile} %{buildroot}%{homepath}/driver
cp %{_compiledir}/../src/inc/taos.h %{buildroot}%{homepath}/include
cp %{_compiledir}/../src/inc/taos.h %{buildroot}%{homepath}/include
cp %{_compiledir}/../src/inc/taoserror.h %{buildroot}%{homepath}/include
cp %{_compiledir}/../src/inc/taoserror.h %{buildroot}%{homepath}/include
if [ -d %{_compiledir}/../src/connector/grafanaplugin/dist ]; then
cp -r %{_compiledir}/../src/connector/grafanaplugin/dist %{buildroot}%{homepath}/connector/grafanaplugin
else
echo grafanaplugin bundled directory not found!
exit 1
fi
cp -r %{_compiledir}/../src/connector/python %{buildroot}%{homepath}/connector
cp -r %{_compiledir}/../src/connector/python %{buildroot}%{homepath}/connector
cp -r %{_compiledir}/../src/connector/go %{buildroot}%{homepath}/connector
cp -r %{_compiledir}/../src/connector/go %{buildroot}%{homepath}/connector
cp -r %{_compiledir}/../src/connector/nodejs %{buildroot}%{homepath}/connector
cp -r %{_compiledir}/../src/connector/nodejs %{buildroot}%{homepath}/connector
...
...
packaging/tools/check_os.sh
浏览文件 @
d7b14860
#
/bin/bash
#
!
/bin/bash
#
#
CSI
=
$(
echo
-e
"
\0
33["
)
CSI
=
$(
echo
-e
"
\0
33["
)
CRED
=
"
${
CSI
}
1;31m"
CRED
=
"
${
CSI
}
1;31m"
...
...
packaging/tools/install.sh
浏览文件 @
d7b14860
...
@@ -303,7 +303,7 @@ function add_newHostname_to_hosts() {
...
@@ -303,7 +303,7 @@ function add_newHostname_to_hosts() {
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
arr
=(
$iphost
)
arr
=(
$iphost
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
return
return
...
@@ -358,7 +358,7 @@ function is_correct_ipaddr() {
...
@@ -358,7 +358,7 @@ function is_correct_ipaddr() {
IFS
=
" "
IFS
=
" "
arr
=(
$iplist
)
arr
=(
$iplist
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
return
0
return
0
...
...
packaging/tools/install_power.sh
浏览文件 @
d7b14860
...
@@ -287,7 +287,7 @@ function add_newHostname_to_hosts() {
...
@@ -287,7 +287,7 @@ function add_newHostname_to_hosts() {
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
arr
=(
$iphost
)
arr
=(
$iphost
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
return
return
...
@@ -342,7 +342,7 @@ function is_correct_ipaddr() {
...
@@ -342,7 +342,7 @@ function is_correct_ipaddr() {
IFS
=
" "
IFS
=
" "
arr
=(
$iplist
)
arr
=(
$iplist
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
return
0
return
0
...
...
packaging/tools/install_pro.sh
浏览文件 @
d7b14860
...
@@ -278,7 +278,7 @@ function add_newHostname_to_hosts() {
...
@@ -278,7 +278,7 @@ function add_newHostname_to_hosts() {
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
arr
=(
$iphost
)
arr
=(
$iphost
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
return
return
...
@@ -305,7 +305,7 @@ function set_hostname() {
...
@@ -305,7 +305,7 @@ function set_hostname() {
echo
"set hostname fail!"
echo
"set hostname fail!"
return
return
fi
fi
#ubuntu/centos /etc/hostname
#ubuntu/centos /etc/hostname
if
[[
-e
/etc/hostname
]]
;
then
if
[[
-e
/etc/hostname
]]
;
then
${
csudo
}
echo
$newHostname
>
/etc/hostname
||
:
${
csudo
}
echo
$newHostname
>
/etc/hostname
||
:
...
@@ -330,7 +330,7 @@ function is_correct_ipaddr() {
...
@@ -330,7 +330,7 @@ function is_correct_ipaddr() {
IFS
=
" "
IFS
=
" "
arr
=(
$iplist
)
arr
=(
$iplist
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
return
0
return
0
...
...
packaging/tools/install_tq.sh
浏览文件 @
d7b14860
...
@@ -287,7 +287,7 @@ function add_newHostname_to_hosts() {
...
@@ -287,7 +287,7 @@ function add_newHostname_to_hosts() {
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
arr
=(
$iphost
)
arr
=(
$iphost
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
return
return
...
@@ -342,7 +342,7 @@ function is_correct_ipaddr() {
...
@@ -342,7 +342,7 @@ function is_correct_ipaddr() {
IFS
=
" "
IFS
=
" "
arr
=(
$iplist
)
arr
=(
$iplist
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
return
0
return
0
...
...
packaging/tools/make_install.sh
浏览文件 @
d7b14860
...
@@ -212,7 +212,8 @@ function install_jemalloc() {
...
@@ -212,7 +212,8 @@ function install_jemalloc() {
fi
fi
if
[
-f
"
${
binary_dir
}
/build/include/jemalloc/jemalloc.h"
]
;
then
if
[
-f
"
${
binary_dir
}
/build/include/jemalloc/jemalloc.h"
]
;
then
/usr/bin/install
-c
-d
/usr/local/include/jemalloc
/usr/bin/install
-c
-d
/usr/local/include/jemalloc
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/include/jemalloc/jemalloc.h /usr/local/include/jemalloc
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/include/jemalloc/jemalloc.h
\
/usr/local/include/jemalloc
fi
fi
if
[
-f
"
${
binary_dir
}
/build/lib/libjemalloc.so.2"
]
;
then
if
[
-f
"
${
binary_dir
}
/build/lib/libjemalloc.so.2"
]
;
then
/usr/bin/install
-c
-d
/usr/local/lib
/usr/bin/install
-c
-d
/usr/local/lib
...
@@ -225,23 +226,47 @@ function install_jemalloc() {
...
@@ -225,23 +226,47 @@ function install_jemalloc() {
/usr/bin/install
-c
-m
755
${
binary_dir
}
/build/lib/libjemalloc_pic.a /usr/local/lib
/usr/bin/install
-c
-m
755
${
binary_dir
}
/build/lib/libjemalloc_pic.a /usr/local/lib
if
[
-f
"
${
binary_dir
}
/build/lib/pkgconfig/jemalloc.pc"
]
;
then
if
[
-f
"
${
binary_dir
}
/build/lib/pkgconfig/jemalloc.pc"
]
;
then
/usr/bin/install
-c
-d
/usr/local/lib/pkgconfig
/usr/bin/install
-c
-d
/usr/local/lib/pkgconfig
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/lib/pkgconfig/jemalloc.pc /usr/local/lib/pkgconfig
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/lib/pkgconfig/jemalloc.pc
\
/usr/local/lib/pkgconfig
fi
if
[
-d
/etc/ld.so.conf.d
]
;
then
echo
"/usr/local/lib"
|
${
csudo
}
tee
/etc/ld.so.conf.d/jemalloc.conf
${
csudo
}
ldconfig
else
echo
"/etc/ld.so.conf.d not found!"
fi
fi
fi
fi
if
[
-f
"
${
binary_dir
}
/build/share/doc/jemalloc/jemalloc.html"
]
;
then
if
[
-f
"
${
binary_dir
}
/build/share/doc/jemalloc/jemalloc.html"
]
;
then
/usr/bin/install
-c
-d
/usr/local/share/doc/jemalloc
/usr/bin/install
-c
-d
/usr/local/share/doc/jemalloc
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/share/doc/jemalloc/jemalloc.html /usr/local/share/doc/jemalloc
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/share/doc/jemalloc/jemalloc.html
\
/usr/local/share/doc/jemalloc
fi
fi
if
[
-f
"
${
binary_dir
}
/build/share/man/man3/jemalloc.3"
]
;
then
if
[
-f
"
${
binary_dir
}
/build/share/man/man3/jemalloc.3"
]
;
then
/usr/bin/install
-c
-d
/usr/local/share/man/man3
/usr/bin/install
-c
-d
/usr/local/share/man/man3
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/share/man/man3/jemalloc.3 /usr/local/share/man/man3
/usr/bin/install
-c
-m
644
${
binary_dir
}
/build/share/man/man3/jemalloc.3
\
/usr/local/share/man/man3
fi
fi
if
[
-d
/etc/ld.so.conf.d
]
;
then
fi
echo
"/usr/local/lib"
|
${
csudo
}
tee
/etc/ld.so.conf.d/jemalloc.conf
}
${
csudo
}
ldconfig
else
function
install_avro
()
{
echo
"/etc/ld.so.conf.d not found!"
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[
-f
"
${
binary_dir
}
/build/
$1
/libavro.so.23.0.0"
]
;
then
/usr/bin/install
-c
-d
/usr/local/
$1
/usr/bin/install
-c
-m
755
${
binary_dir
}
/build/
$1
/libavro.so.23.0.0 /usr/local/
$1
ln
-sf
libavro.so.23.0.0 /usr/local/
$1
/libavro.so.23
ln
-sf
libavro.so.23 /usr/local/
$1
/libavro.so
/usr/bin/install
-c
-d
/usr/local/
$1
[
-f
${
binary_dir
}
/build/
$1
/libavro.a
]
&&
/usr/bin/install
-c
-m
755
${
binary_dir
}
/build/
$1
/libavro.a /usr/local/
$1
if
[
-d
/etc/ld.so.conf.d
]
;
then
echo
"/usr/local/
$1
"
|
${
csudo
}
tee
/etc/ld.so.conf.d/libavro.conf
${
csudo
}
ldconfig
else
echo
"/etc/ld.so.conf.d not found!"
fi
fi
fi
fi
fi
}
}
...
@@ -292,6 +317,8 @@ function install_lib() {
...
@@ -292,6 +317,8 @@ function install_lib() {
fi
fi
install_jemalloc
install_jemalloc
install_avro lib
install_avro lib64
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
${
csudo
}
ldconfig
${
csudo
}
ldconfig
...
@@ -381,11 +408,6 @@ function install_data() {
...
@@ -381,11 +408,6 @@ function install_data() {
}
}
function
install_connector
()
{
function
install_connector
()
{
if
[
-d
"
${
source_dir
}
/src/connector/grafanaplugin/dist"
]
;
then
${
csudo
}
cp
-rf
${
source_dir
}
/src/connector/grafanaplugin/dist
${
install_main_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bundled dir not found, please check if want to use it!"
fi
if
find
${
source_dir
}
/src/connector/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
source_dir
}
/src/connector/go
-mindepth
1
-maxdepth
1 |
read
;
then
${
csudo
}
cp
-r
${
source_dir
}
/src/connector/go
${
install_main_dir
}
/connector
${
csudo
}
cp
-r
${
source_dir
}
/src/connector/go
${
install_main_dir
}
/connector
else
else
...
...
packaging/tools/makeclient.sh
浏览文件 @
d7b14860
...
@@ -150,11 +150,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
...
@@ -150,11 +150,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
fi
fi
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bundled dir not found, please check if want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/makeclient_power.sh
浏览文件 @
d7b14860
...
@@ -210,11 +210,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
...
@@ -210,11 +210,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
fi
fi
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bunlded dir not found, please check if want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/makeclient_pro.sh
浏览文件 @
d7b14860
...
@@ -172,11 +172,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
...
@@ -172,11 +172,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
fi
fi
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bunlded dir not found, please check if want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/makeclient_tq.sh
浏览文件 @
d7b14860
...
@@ -177,11 +177,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
...
@@ -177,11 +177,6 @@ if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[
"
$osType
"
!=
"Darwin"
]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
fi
fi
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bunlded dir not found, please check if want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/makepkg.sh
浏览文件 @
d7b14860
...
@@ -195,11 +195,6 @@ connector_dir="${code_dir}/connector"
...
@@ -195,11 +195,6 @@ connector_dir="${code_dir}/connector"
mkdir
-p
${
install_dir
}
/connector
mkdir
-p
${
install_dir
}
/connector
if
[[
"
$pagMode
"
!=
"lite"
]]
&&
[[
"
$cpuType
"
!=
"aarch32"
]]
;
then
if
[[
"
$pagMode
"
!=
"lite"
]]
&&
[[
"
$cpuType
"
!=
"aarch32"
]]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bundled dir not found, please check if you want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/makepkg_power.sh
浏览文件 @
d7b14860
...
@@ -168,11 +168,6 @@ mkdir -p ${install_dir}/connector
...
@@ -168,11 +168,6 @@ mkdir -p ${install_dir}/connector
if
[[
"
$pagMode
"
!=
"lite"
]]
&&
[[
"
$cpuType
"
!=
"aarch32"
]]
;
then
if
[[
"
$pagMode
"
!=
"lite"
]]
&&
[[
"
$cpuType
"
!=
"aarch32"
]]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bundled dir not found, please check if want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/makepkg_pro.sh
浏览文件 @
d7b14860
...
@@ -154,11 +154,6 @@ mkdir -p ${install_dir}/driver && cp ${lib_files} ${install_dir}/driver && echo
...
@@ -154,11 +154,6 @@ mkdir -p ${install_dir}/driver && cp ${lib_files} ${install_dir}/driver && echo
#if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
#if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
# cp ${build_dir}/lib/*.jar ${install_dir}/connector ||:
# cp ${build_dir}/lib/*.jar ${install_dir}/connector ||:
# if [ -d "${connector_dir}/grafanaplugin/dist" ]; then
# cp -r ${connector_dir}/grafanaplugin/dist ${install_dir}/connector/grafanaplugin
# else
# echo "WARNING: grafanaplugin bundled dir not found, please check if want to use it!"
# fi
# if find ${connector_dir}/go -mindepth 1 -maxdepth 1 | read; then
# if find ${connector_dir}/go -mindepth 1 -maxdepth 1 | read; then
# cp -r ${connector_dir}/go ${install_dir}/connector
# cp -r ${connector_dir}/go ${install_dir}/connector
# else
# else
...
...
packaging/tools/makepkg_tq.sh
浏览文件 @
d7b14860
...
@@ -168,11 +168,6 @@ mkdir -p ${install_dir}/connector
...
@@ -168,11 +168,6 @@ mkdir -p ${install_dir}/connector
if
[[
"
$pagMode
"
!=
"lite"
]]
&&
[[
"
$cpuType
"
!=
"aarch32"
]]
;
then
if
[[
"
$pagMode
"
!=
"lite"
]]
&&
[[
"
$cpuType
"
!=
"aarch32"
]]
;
then
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
cp
${
build_dir
}
/lib/
*
.jar
${
install_dir
}
/connector
||
:
if
[
-d
"
${
connector_dir
}
/grafanaplugin/dist"
]
;
then
cp
-r
${
connector_dir
}
/grafanaplugin/dist
${
install_dir
}
/connector/grafanaplugin
else
echo
"WARNING: grafanaplugin bundled dir not found, please check if want to use it!"
fi
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
if
find
${
connector_dir
}
/go
-mindepth
1
-maxdepth
1 |
read
;
then
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
cp
-r
${
connector_dir
}
/go
${
install_dir
}
/connector
else
else
...
...
packaging/tools/post.sh
浏览文件 @
d7b14860
...
@@ -127,7 +127,7 @@ function add_newHostname_to_hosts() {
...
@@ -127,7 +127,7 @@ function add_newHostname_to_hosts() {
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
iphost
=
$(
cat
/etc/hosts |
grep
$1
|
awk
'{print $1}'
)
arr
=(
$iphost
)
arr
=(
$iphost
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
if
[[
"
$s
"
==
"
$localIp
"
]]
;
then
return
return
...
@@ -182,7 +182,7 @@ function is_correct_ipaddr() {
...
@@ -182,7 +182,7 @@ function is_correct_ipaddr() {
IFS
=
" "
IFS
=
" "
arr
=(
$iplist
)
arr
=(
$iplist
)
IFS
=
"
$OLD_IFS
"
IFS
=
"
$OLD_IFS
"
for
s
in
${
arr
[@]
}
for
s
in
"
${
arr
[@]
}
"
do
do
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
if
[[
"
$s
"
==
"
$newIp
"
]]
;
then
return
0
return
0
...
...
src/client/src/tscSQLParser.c
浏览文件 @
d7b14860
...
@@ -2501,6 +2501,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
...
@@ -2501,6 +2501,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
const
char
*
msg12
=
"parameter is out of range [1, 100]"
;
const
char
*
msg12
=
"parameter is out of range [1, 100]"
;
const
char
*
msg13
=
"parameter list required"
;
const
char
*
msg13
=
"parameter list required"
;
const
char
*
msg14
=
"third parameter algorithm must be 'default' or 't-digest'"
;
const
char
*
msg14
=
"third parameter algorithm must be 'default' or 't-digest'"
;
const
char
*
msg15
=
"parameter is out of range [1, 1000]"
;
switch
(
functionId
)
{
switch
(
functionId
)
{
case
TSDB_FUNC_COUNT
:
{
case
TSDB_FUNC_COUNT
:
{
...
@@ -2948,11 +2949,15 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
...
@@ -2948,11 +2949,15 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
}
}
}
}
}
else
if
(
functionId
==
TSDB_FUNC_MAVG
||
functionId
==
TSDB_FUNC_SAMPLE
)
{
}
else
if
(
functionId
==
TSDB_FUNC_MAVG
||
functionId
==
TSDB_FUNC_SAMPLE
)
{
if
(
pVariant
->
nType
!=
TSDB_DATA_TYPE_BIGINT
)
{
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg2
);
}
tVariantDump
(
pVariant
,
val
,
TSDB_DATA_TYPE_BIGINT
,
true
);
tVariantDump
(
pVariant
,
val
,
TSDB_DATA_TYPE_BIGINT
,
true
);
int64_t
numRowsSelected
=
GET_INT
32
_VAL
(
val
);
int64_t
numRowsSelected
=
GET_INT
64
_VAL
(
val
);
if
(
numRowsSelected
<=
0
||
numRowsSelected
>
1000
)
{
if
(
numRowsSelected
<=
0
||
numRowsSelected
>
1000
)
{
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
2
);
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
5
);
}
}
// todo REFACTOR
// todo REFACTOR
...
...
src/common/inc/tglobal.h
浏览文件 @
d7b14860
...
@@ -46,7 +46,7 @@ extern int64_t tsDnodeStartTime;
...
@@ -46,7 +46,7 @@ extern int64_t tsDnodeStartTime;
// common
// common
extern
int
tsRpcTimer
;
extern
int
tsRpcTimer
;
extern
int
tsRpcMaxTime
;
extern
int
tsRpcMaxTime
;
extern
int
tsRpcForceTcp
;
// all commands go to tcp protocol if this is enabled
extern
int
tsRpcForceTcp
;
// all commands go to tcp protocol if this is enabled
extern
int32_t
tsMaxConnections
;
extern
int32_t
tsMaxConnections
;
extern
int32_t
tsMaxShellConns
;
extern
int32_t
tsMaxShellConns
;
extern
int32_t
tsShellActivityTimer
;
extern
int32_t
tsShellActivityTimer
;
...
@@ -57,19 +57,20 @@ extern float tsRatioOfQueryCores;
...
@@ -57,19 +57,20 @@ extern float tsRatioOfQueryCores;
extern
int8_t
tsDaylight
;
extern
int8_t
tsDaylight
;
extern
char
tsTimezone
[];
extern
char
tsTimezone
[];
extern
char
tsLocale
[];
extern
char
tsLocale
[];
extern
char
tsCharset
[];
// default encode string
extern
char
tsCharset
[];
// default encode string
extern
int8_t
tsEnableCoreFile
;
extern
int8_t
tsEnableCoreFile
;
extern
int32_t
tsCompressMsgSize
;
extern
int32_t
tsCompressMsgSize
;
extern
int32_t
tsCompressColData
;
extern
int32_t
tsCompressColData
;
extern
int32_t
tsMaxNumOfDistinctResults
;
extern
int32_t
tsMaxNumOfDistinctResults
;
extern
char
tsTempDir
[];
extern
char
tsTempDir
[];
//query buffer management
// query buffer management
extern
int32_t
tsQueryBufferSize
;
// maximum allowed usage buffer size in MB for each data node during query processing
extern
int32_t
tsQueryBufferSize
;
// maximum allowed usage buffer size in MB for each data node during query processing
extern
int64_t
tsQueryBufferSizeBytes
;
// maximum allowed usage buffer size in byte for each data node during query processing
extern
int64_t
extern
int32_t
tsRetrieveBlockingModel
;
// retrieve threads will be blocked
tsQueryBufferSizeBytes
;
// maximum allowed usage buffer size in byte for each data node during query processing
extern
int32_t
tsRetrieveBlockingModel
;
// retrieve threads will be blocked
extern
int8_t
tsKeepOriginalColumnName
;
extern
int8_t
tsKeepOriginalColumnName
;
// client
// client
extern
int32_t
tsMaxSQLStringLen
;
extern
int32_t
tsMaxSQLStringLen
;
...
@@ -108,7 +109,7 @@ extern int32_t tsQuorum;
...
@@ -108,7 +109,7 @@ extern int32_t tsQuorum;
extern
int8_t
tsUpdate
;
extern
int8_t
tsUpdate
;
extern
int8_t
tsCacheLastRow
;
extern
int8_t
tsCacheLastRow
;
//tsdb
//
tsdb
extern
bool
tsdbForceKeepFile
;
extern
bool
tsdbForceKeepFile
;
extern
bool
tsdbForceCompactFile
;
extern
bool
tsdbForceCompactFile
;
extern
int32_t
tsdbWalFlushSize
;
extern
int32_t
tsdbWalFlushSize
;
...
@@ -134,6 +135,7 @@ extern int8_t tsHttpEnableCompress;
...
@@ -134,6 +135,7 @@ extern int8_t tsHttpEnableCompress;
extern
int8_t
tsHttpEnableRecordSql
;
extern
int8_t
tsHttpEnableRecordSql
;
extern
int8_t
tsTelegrafUseFieldNum
;
extern
int8_t
tsTelegrafUseFieldNum
;
extern
int8_t
tsHttpDbNameMandatory
;
extern
int8_t
tsHttpDbNameMandatory
;
extern
int32_t
tsHttpKeepAlive
;
// mqtt
// mqtt
extern
int8_t
tsEnableMqttModule
;
extern
int8_t
tsEnableMqttModule
;
...
@@ -170,22 +172,22 @@ extern int64_t tsTickPerDay[3];
...
@@ -170,22 +172,22 @@ extern int64_t tsTickPerDay[3];
extern
int32_t
tsTopicBianryLen
;
extern
int32_t
tsTopicBianryLen
;
// system info
// system info
extern
char
tsOsName
[];
extern
char
tsOsName
[];
extern
int64_t
tsPageSize
;
extern
int64_t
tsPageSize
;
extern
int64_t
tsOpenMax
;
extern
int64_t
tsOpenMax
;
extern
int64_t
tsStreamMax
;
extern
int64_t
tsStreamMax
;
extern
int32_t
tsNumOfCores
;
extern
int32_t
tsNumOfCores
;
extern
float
tsTotalLogDirGB
;
extern
float
tsTotalLogDirGB
;
extern
float
tsTotalTmpDirGB
;
extern
float
tsTotalTmpDirGB
;
extern
float
tsTotalDataDirGB
;
extern
float
tsTotalDataDirGB
;
extern
float
tsAvailLogDirGB
;
extern
float
tsAvailLogDirGB
;
extern
float
tsAvailTmpDirectorySpace
;
extern
float
tsAvailTmpDirectorySpace
;
extern
float
tsAvailDataDirGB
;
extern
float
tsAvailDataDirGB
;
extern
float
tsUsedDataDirGB
;
extern
float
tsUsedDataDirGB
;
extern
float
tsMinimalLogDirGB
;
extern
float
tsMinimalLogDirGB
;
extern
float
tsReservedTmpDirectorySpace
;
extern
float
tsReservedTmpDirectorySpace
;
extern
float
tsMinimalDataDirGB
;
extern
float
tsMinimalDataDirGB
;
extern
int32_t
tsTotalMemoryMB
;
extern
int32_t
tsTotalMemoryMB
;
extern
uint32_t
tsVersion
;
extern
uint32_t
tsVersion
;
// build info
// build info
...
@@ -196,37 +198,37 @@ extern char gitinfoOfInternal[];
...
@@ -196,37 +198,37 @@ extern char gitinfoOfInternal[];
extern
char
buildinfo
[];
extern
char
buildinfo
[];
// log
// log
extern
int8_t
tsAsyncLog
;
extern
int8_t
tsAsyncLog
;
extern
int32_t
tsNumOfLogLines
;
extern
int32_t
tsNumOfLogLines
;
extern
int32_t
tsLogKeepDays
;
extern
int32_t
tsLogKeepDays
;
extern
int32_t
dDebugFlag
;
extern
int32_t
dDebugFlag
;
extern
int32_t
vDebugFlag
;
extern
int32_t
vDebugFlag
;
extern
int32_t
mDebugFlag
;
extern
int32_t
mDebugFlag
;
extern
uint32_t
cDebugFlag
;
extern
uint32_t
cDebugFlag
;
extern
int32_t
jniDebugFlag
;
extern
int32_t
jniDebugFlag
;
extern
int32_t
tmrDebugFlag
;
extern
int32_t
tmrDebugFlag
;
extern
int32_t
sdbDebugFlag
;
extern
int32_t
sdbDebugFlag
;
extern
int32_t
httpDebugFlag
;
extern
int32_t
httpDebugFlag
;
extern
int32_t
mqttDebugFlag
;
extern
int32_t
mqttDebugFlag
;
extern
int32_t
monDebugFlag
;
extern
int32_t
monDebugFlag
;
extern
int32_t
uDebugFlag
;
extern
int32_t
uDebugFlag
;
extern
int32_t
rpcDebugFlag
;
extern
int32_t
rpcDebugFlag
;
extern
int32_t
odbcDebugFlag
;
extern
int32_t
odbcDebugFlag
;
extern
uint32_t
qDebugFlag
;
extern
uint32_t
qDebugFlag
;
extern
int32_t
wDebugFlag
;
extern
int32_t
wDebugFlag
;
extern
int32_t
cqDebugFlag
;
extern
int32_t
cqDebugFlag
;
extern
int32_t
debugFlag
;
extern
int32_t
debugFlag
;
extern
int8_t
tsClientMerge
;
extern
int8_t
tsClientMerge
;
#ifdef TD_TSZ
#ifdef TD_TSZ
// lossy
// lossy
extern
char
lossyColumns
[];
extern
char
lossyColumns
[];
extern
double
fPrecision
;
extern
double
fPrecision
;
extern
double
dPrecision
;
extern
double
dPrecision
;
extern
uint32_t
maxRange
;
extern
uint32_t
maxRange
;
extern
uint32_t
curRange
;
extern
uint32_t
curRange
;
extern
char
Compressor
[];
extern
char
Compressor
[];
#endif
#endif
// long query
// long query
extern
int8_t
tsDeadLockKillQuery
;
extern
int8_t
tsDeadLockKillQuery
;
...
...
src/common/src/tglobal.c
浏览文件 @
d7b14860
...
@@ -14,18 +14,18 @@
...
@@ -14,18 +14,18 @@
*/
*/
#define _DEFAULT_SOURCE
#define _DEFAULT_SOURCE
#include "tglobal.h"
#include "monitor.h"
#include "os.h"
#include "os.h"
#include "taosdef.h"
#include "taosdef.h"
#include "taoserror.h"
#include "taoserror.h"
#include "t
ulog
.h"
#include "t
compare
.h"
#include "tconfig.h"
#include "tconfig.h"
#include "tglobal.h"
#include "monitor.h"
#include "tsocket.h"
#include "tutil.h"
#include "tlocale.h"
#include "tlocale.h"
#include "tsocket.h"
#include "ttimezone.h"
#include "ttimezone.h"
#include "tcompare.h"
#include "tulog.h"
#include "tutil.h"
// cluster
// cluster
char
tsFirst
[
TSDB_EP_LEN
]
=
{
0
};
char
tsFirst
[
TSDB_EP_LEN
]
=
{
0
};
...
@@ -49,16 +49,16 @@ int32_t tsDnodeId = 0;
...
@@ -49,16 +49,16 @@ int32_t tsDnodeId = 0;
int64_t
tsDnodeStartTime
=
0
;
int64_t
tsDnodeStartTime
=
0
;
// common
// common
int32_t
tsRpcTimer
=
300
;
int32_t
tsRpcTimer
=
300
;
int32_t
tsRpcMaxTime
=
600
;
// seconds;
int32_t
tsRpcMaxTime
=
600
;
// seconds;
int32_t
tsRpcForceTcp
=
0
;
//
disable this, means query, show command use udp protocol as default
int32_t
tsRpcForceTcp
=
0
;
//
disable this, means query, show command use udp protocol as default
int32_t
tsMaxShellConns
=
50000
;
int32_t
tsMaxShellConns
=
50000
;
int32_t
tsMaxConnections
=
5000
;
int32_t
tsMaxConnections
=
5000
;
int32_t
tsShellActivityTimer
=
3
;
// second
int32_t
tsShellActivityTimer
=
3
;
// second
float
tsNumOfThreadsPerCore
=
1
.
0
f
;
float
tsNumOfThreadsPerCore
=
1
.
0
f
;
int32_t
tsNumOfCommitThreads
=
4
;
int32_t
tsNumOfCommitThreads
=
4
;
float
tsRatioOfQueryCores
=
1
.
0
f
;
float
tsRatioOfQueryCores
=
1
.
0
f
;
int8_t
tsDaylight
=
0
;
int8_t
tsDaylight
=
0
;
char
tsTimezone
[
TSDB_TIMEZONE_LEN
]
=
{
0
};
char
tsTimezone
[
TSDB_TIMEZONE_LEN
]
=
{
0
};
char
tsLocale
[
TSDB_LOCALE_LEN
]
=
{
0
};
char
tsLocale
[
TSDB_LOCALE_LEN
]
=
{
0
};
char
tsCharset
[
TSDB_LOCALE_LEN
]
=
{
0
};
// default encode string
char
tsCharset
[
TSDB_LOCALE_LEN
]
=
{
0
};
// default encode string
...
@@ -87,7 +87,7 @@ int32_t tsMaxSQLStringLen = TSDB_MAX_ALLOWED_SQL_LEN;
...
@@ -87,7 +87,7 @@ int32_t tsMaxSQLStringLen = TSDB_MAX_ALLOWED_SQL_LEN;
int32_t
tsMaxWildCardsLen
=
TSDB_PATTERN_STRING_DEFAULT_LEN
;
int32_t
tsMaxWildCardsLen
=
TSDB_PATTERN_STRING_DEFAULT_LEN
;
int32_t
tsMaxRegexStringLen
=
TSDB_REGEX_STRING_DEFAULT_LEN
;
int32_t
tsMaxRegexStringLen
=
TSDB_REGEX_STRING_DEFAULT_LEN
;
int8_t
tsTscEnableRecordSql
=
0
;
int8_t
tsTscEnableRecordSql
=
0
;
// the maximum number of results for projection query on super table that are returned from
// the maximum number of results for projection query on super table that are returned from
// one virtual node, to order according to timestamp
// one virtual node, to order according to timestamp
...
@@ -97,7 +97,7 @@ int32_t tsMaxNumOfOrderedResults = 1000000;
...
@@ -97,7 +97,7 @@ int32_t tsMaxNumOfOrderedResults = 1000000;
int32_t
tsMinSlidingTime
=
10
;
int32_t
tsMinSlidingTime
=
10
;
// the maxinum number of distict query result
// the maxinum number of distict query result
int32_t
tsMaxNumOfDistinctResults
=
1000
*
10000
;
int32_t
tsMaxNumOfDistinctResults
=
1000
*
10000
;
// 1 us for interval time range, changed accordingly
// 1 us for interval time range, changed accordingly
int32_t
tsMinIntervalTime
=
1
;
int32_t
tsMinIntervalTime
=
1
;
...
@@ -109,7 +109,7 @@ int32_t tsMaxStreamComputDelay = 20000;
...
@@ -109,7 +109,7 @@ int32_t tsMaxStreamComputDelay = 20000;
int32_t
tsStreamCompStartDelay
=
10000
;
int32_t
tsStreamCompStartDelay
=
10000
;
// the stream computing delay time after executing failed, change accordingly
// the stream computing delay time after executing failed, change accordingly
int32_t
tsRetryStreamCompDelay
=
10
*
1000
;
int32_t
tsRetryStreamCompDelay
=
10
*
1000
;
// The delayed computing ration. 10% of the whole computing time window by default.
// The delayed computing ration. 10% of the whole computing time window by default.
float
tsStreamComputDelayRatio
=
0
.
1
f
;
float
tsStreamComputDelayRatio
=
0
.
1
f
;
...
@@ -128,41 +128,41 @@ int64_t tsQueryBufferSizeBytes = -1;
...
@@ -128,41 +128,41 @@ int64_t tsQueryBufferSizeBytes = -1;
int32_t
tsRetrieveBlockingModel
=
0
;
int32_t
tsRetrieveBlockingModel
=
0
;
// last_row(*), first(*), last_row(ts, col1, col2) query, the result fields will be the original column name
// last_row(*), first(*), last_row(ts, col1, col2) query, the result fields will be the original column name
int8_t
tsKeepOriginalColumnName
=
0
;
int8_t
tsKeepOriginalColumnName
=
0
;
// db parameters
// db parameters
int32_t
tsCacheBlockSize
=
TSDB_DEFAULT_CACHE_BLOCK_SIZE
;
int32_t
tsCacheBlockSize
=
TSDB_DEFAULT_CACHE_BLOCK_SIZE
;
int32_t
tsBlocksPerVnode
=
TSDB_DEFAULT_TOTAL_BLOCKS
;
int32_t
tsBlocksPerVnode
=
TSDB_DEFAULT_TOTAL_BLOCKS
;
int16_t
tsDaysPerFile
=
TSDB_DEFAULT_DAYS_PER_FILE
;
int16_t
tsDaysPerFile
=
TSDB_DEFAULT_DAYS_PER_FILE
;
int32_t
tsDaysToKeep
=
TSDB_DEFAULT_KEEP
;
int32_t
tsDaysToKeep
=
TSDB_DEFAULT_KEEP
;
int32_t
tsMinRowsInFileBlock
=
TSDB_DEFAULT_MIN_ROW_FBLOCK
;
int32_t
tsMinRowsInFileBlock
=
TSDB_DEFAULT_MIN_ROW_FBLOCK
;
int32_t
tsMaxRowsInFileBlock
=
TSDB_DEFAULT_MAX_ROW_FBLOCK
;
int32_t
tsMaxRowsInFileBlock
=
TSDB_DEFAULT_MAX_ROW_FBLOCK
;
int16_t
tsCommitTime
=
TSDB_DEFAULT_COMMIT_TIME
;
// seconds
int16_t
tsCommitTime
=
TSDB_DEFAULT_COMMIT_TIME
;
// seconds
int32_t
tsTimePrecision
=
TSDB_DEFAULT_PRECISION
;
int32_t
tsTimePrecision
=
TSDB_DEFAULT_PRECISION
;
int8_t
tsCompression
=
TSDB_DEFAULT_COMP_LEVEL
;
int8_t
tsCompression
=
TSDB_DEFAULT_COMP_LEVEL
;
int8_t
tsWAL
=
TSDB_DEFAULT_WAL_LEVEL
;
int8_t
tsWAL
=
TSDB_DEFAULT_WAL_LEVEL
;
int32_t
tsFsyncPeriod
=
TSDB_DEFAULT_FSYNC_PERIOD
;
int32_t
tsFsyncPeriod
=
TSDB_DEFAULT_FSYNC_PERIOD
;
int32_t
tsReplications
=
TSDB_DEFAULT_DB_REPLICA_OPTION
;
int32_t
tsReplications
=
TSDB_DEFAULT_DB_REPLICA_OPTION
;
int32_t
tsQuorum
=
TSDB_DEFAULT_DB_QUORUM_OPTION
;
int32_t
tsQuorum
=
TSDB_DEFAULT_DB_QUORUM_OPTION
;
int16_t
tsPartitons
=
TSDB_DEFAULT_DB_PARTITON_OPTION
;
int16_t
tsPartitons
=
TSDB_DEFAULT_DB_PARTITON_OPTION
;
int8_t
tsUpdate
=
TSDB_DEFAULT_DB_UPDATE_OPTION
;
int8_t
tsUpdate
=
TSDB_DEFAULT_DB_UPDATE_OPTION
;
int8_t
tsCacheLastRow
=
TSDB_DEFAULT_CACHE_LAST_ROW
;
int8_t
tsCacheLastRow
=
TSDB_DEFAULT_CACHE_LAST_ROW
;
int32_t
tsMaxVgroupsPerDb
=
0
;
int32_t
tsMaxVgroupsPerDb
=
0
;
int32_t
tsMinTablePerVnode
=
TSDB_TABLES_STEP
;
int32_t
tsMinTablePerVnode
=
TSDB_TABLES_STEP
;
int32_t
tsMaxTablePerVnode
=
TSDB_DEFAULT_TABLES
;
int32_t
tsMaxTablePerVnode
=
TSDB_DEFAULT_TABLES
;
int32_t
tsTableIncStepPerVnode
=
TSDB_TABLES_STEP
;
int32_t
tsTableIncStepPerVnode
=
TSDB_TABLES_STEP
;
int32_t
tsTsdbMetaCompactRatio
=
TSDB_META_COMPACT_RATIO
;
int32_t
tsTsdbMetaCompactRatio
=
TSDB_META_COMPACT_RATIO
;
// tsdb config
// tsdb config
// For backward compatibility
// For backward compatibility
bool
tsdbForceKeepFile
=
false
;
bool
tsdbForceKeepFile
=
false
;
bool
tsdbForceCompactFile
=
false
;
// compact TSDB fileset forcibly
bool
tsdbForceCompactFile
=
false
;
// compact TSDB fileset forcibly
int32_t
tsdbWalFlushSize
=
TSDB_DEFAULT_WAL_FLUSH_SIZE
;
// MB
int32_t
tsdbWalFlushSize
=
TSDB_DEFAULT_WAL_FLUSH_SIZE
;
// MB
// balance
// balance
int8_t
tsEnableBalance
=
1
;
int8_t
tsEnableBalance
=
1
;
int8_t
tsAlternativeRole
=
0
;
int8_t
tsAlternativeRole
=
0
;
int32_t
tsBalanceInterval
=
300
;
// seconds
int32_t
tsBalanceInterval
=
300
;
// seconds
int32_t
tsOfflineThreshold
=
86400
*
10
;
// seconds of 10 days
int32_t
tsOfflineThreshold
=
86400
*
10
;
// seconds of 10 days
int32_t
tsMnodeEqualVnodeNum
=
4
;
int32_t
tsMnodeEqualVnodeNum
=
4
;
int8_t
tsEnableFlowCtrl
=
1
;
int8_t
tsEnableFlowCtrl
=
1
;
...
@@ -180,15 +180,16 @@ int8_t tsHttpEnableCompress = 1;
...
@@ -180,15 +180,16 @@ int8_t tsHttpEnableCompress = 1;
int8_t
tsHttpEnableRecordSql
=
0
;
int8_t
tsHttpEnableRecordSql
=
0
;
int8_t
tsTelegrafUseFieldNum
=
0
;
int8_t
tsTelegrafUseFieldNum
=
0
;
int8_t
tsHttpDbNameMandatory
=
0
;
int8_t
tsHttpDbNameMandatory
=
0
;
int32_t
tsHttpKeepAlive
=
30000
;
// mqtt
// mqtt
int8_t
tsEnableMqttModule
=
0
;
// not finished yet, not started it by default
int8_t
tsEnableMqttModule
=
0
;
// not finished yet, not started it by default
char
tsMqttHostName
[
TSDB_MQTT_HOSTNAME_LEN
]
=
"test.mosquitto.org"
;
char
tsMqttHostName
[
TSDB_MQTT_HOSTNAME_LEN
]
=
"test.mosquitto.org"
;
char
tsMqttPort
[
TSDB_MQTT_PORT_LEN
]
=
"1883"
;
char
tsMqttPort
[
TSDB_MQTT_PORT_LEN
]
=
"1883"
;
char
tsMqttUser
[
TSDB_MQTT_USER_LEN
]
=
{
0
};
char
tsMqttUser
[
TSDB_MQTT_USER_LEN
]
=
{
0
};
char
tsMqttPass
[
TSDB_MQTT_PASS_LEN
]
=
{
0
};
char
tsMqttPass
[
TSDB_MQTT_PASS_LEN
]
=
{
0
};
char
tsMqttClientId
[
TSDB_MQTT_CLIENT_ID_LEN
]
=
"TDengineMqttSubscriber"
;
char
tsMqttClientId
[
TSDB_MQTT_CLIENT_ID_LEN
]
=
"TDengineMqttSubscriber"
;
char
tsMqttTopic
[
TSDB_MQTT_TOPIC_LEN
]
=
"/test"
;
// #
char
tsMqttTopic
[
TSDB_MQTT_TOPIC_LEN
]
=
"/test"
;
// #
// monitor
// monitor
int8_t
tsEnableMonitorModule
=
1
;
int8_t
tsEnableMonitorModule
=
1
;
...
@@ -197,7 +198,7 @@ char tsInternalPass[] = "secretkey";
...
@@ -197,7 +198,7 @@ char tsInternalPass[] = "secretkey";
int32_t
tsMonitorInterval
=
30
;
// seconds
int32_t
tsMonitorInterval
=
30
;
// seconds
// stream
// stream
int8_t
tsEnableStream
=
1
;
int8_t
tsEnableStream
=
1
;
// internal
// internal
int8_t
tsCompactMnodeWal
=
0
;
int8_t
tsCompactMnodeWal
=
0
;
...
@@ -213,7 +214,7 @@ char tsDataDir[PATH_MAX] = {0};
...
@@ -213,7 +214,7 @@ char tsDataDir[PATH_MAX] = {0};
char
tsScriptDir
[
PATH_MAX
]
=
{
0
};
char
tsScriptDir
[
PATH_MAX
]
=
{
0
};
char
tsTempDir
[
PATH_MAX
]
=
"/tmp/"
;
char
tsTempDir
[
PATH_MAX
]
=
"/tmp/"
;
int32_t
tsDiskCfgNum
=
0
;
int32_t
tsDiskCfgNum
=
0
;
int32_t
tsTopicBianryLen
=
16000
;
int32_t
tsTopicBianryLen
=
16000
;
#ifndef _STORAGE
#ifndef _STORAGE
...
@@ -231,42 +232,42 @@ SDiskCfg tsDiskCfg[TSDB_MAX_DISKS];
...
@@ -231,42 +232,42 @@ SDiskCfg tsDiskCfg[TSDB_MAX_DISKS];
int64_t
tsTickPerDay
[]
=
{
86400000L
,
86400000000L
,
86400000000000L
};
int64_t
tsTickPerDay
[]
=
{
86400000L
,
86400000000L
,
86400000000000L
};
// system info
// system info
char
tsOsName
[
10
]
=
"Linux"
;
char
tsOsName
[
10
]
=
"Linux"
;
int64_t
tsPageSize
;
int64_t
tsPageSize
;
int64_t
tsOpenMax
;
int64_t
tsOpenMax
;
int64_t
tsStreamMax
;
int64_t
tsStreamMax
;
int32_t
tsNumOfCores
=
1
;
int32_t
tsNumOfCores
=
1
;
float
tsTotalTmpDirGB
=
0
;
float
tsTotalTmpDirGB
=
0
;
float
tsTotalDataDirGB
=
0
;
float
tsTotalDataDirGB
=
0
;
float
tsAvailTmpDirectorySpace
=
0
;
float
tsAvailTmpDirectorySpace
=
0
;
float
tsAvailDataDirGB
=
0
;
float
tsAvailDataDirGB
=
0
;
float
tsUsedDataDirGB
=
0
;
float
tsUsedDataDirGB
=
0
;
float
tsReservedTmpDirectorySpace
=
1
.
0
f
;
float
tsReservedTmpDirectorySpace
=
1
.
0
f
;
float
tsMinimalDataDirGB
=
2
.
0
f
;
float
tsMinimalDataDirGB
=
2
.
0
f
;
int32_t
tsTotalMemoryMB
=
0
;
int32_t
tsTotalMemoryMB
=
0
;
uint32_t
tsVersion
=
0
;
uint32_t
tsVersion
=
0
;
// log
// log
int32_t
tsNumOfLogLines
=
10000000
;
int32_t
tsNumOfLogLines
=
10000000
;
int32_t
mDebugFlag
=
131
;
int32_t
mDebugFlag
=
131
;
int32_t
sdbDebugFlag
=
131
;
int32_t
sdbDebugFlag
=
131
;
int32_t
dDebugFlag
=
135
;
int32_t
dDebugFlag
=
135
;
int32_t
vDebugFlag
=
135
;
int32_t
vDebugFlag
=
135
;
uint32_t
cDebugFlag
=
131
;
uint32_t
cDebugFlag
=
131
;
int32_t
jniDebugFlag
=
131
;
int32_t
jniDebugFlag
=
131
;
int32_t
odbcDebugFlag
=
131
;
int32_t
odbcDebugFlag
=
131
;
int32_t
httpDebugFlag
=
131
;
int32_t
httpDebugFlag
=
131
;
int32_t
mqttDebugFlag
=
131
;
int32_t
mqttDebugFlag
=
131
;
int32_t
monDebugFlag
=
131
;
int32_t
monDebugFlag
=
131
;
uint32_t
qDebugFlag
=
131
;
uint32_t
qDebugFlag
=
131
;
int32_t
rpcDebugFlag
=
131
;
int32_t
rpcDebugFlag
=
131
;
int32_t
uDebugFlag
=
131
;
int32_t
uDebugFlag
=
131
;
int32_t
debugFlag
=
0
;
int32_t
debugFlag
=
0
;
int32_t
sDebugFlag
=
135
;
int32_t
sDebugFlag
=
135
;
int32_t
wDebugFlag
=
135
;
int32_t
wDebugFlag
=
135
;
int32_t
tsdbDebugFlag
=
131
;
int32_t
tsdbDebugFlag
=
131
;
int32_t
cqDebugFlag
=
131
;
int32_t
cqDebugFlag
=
131
;
int32_t
fsDebugFlag
=
135
;
int32_t
fsDebugFlag
=
135
;
int8_t
tsClientMerge
=
0
;
int8_t
tsClientMerge
=
0
;
...
@@ -274,13 +275,14 @@ int8_t tsClientMerge = 0;
...
@@ -274,13 +275,14 @@ int8_t tsClientMerge = 0;
//
//
// lossy compress 6
// lossy compress 6
//
//
char
lossyColumns
[
32
]
=
""
;
// "float|double" means all float and double columns can be lossy compressed. set empty can close lossy compress.
char
lossyColumns
[
32
]
=
""
;
// "float|double" means all float and double columns can be lossy compressed. set empty
// below option can take effect when tsLossyColumns not empty
// can close lossy compress.
double
fPrecision
=
1E-8
;
// float column precision
// below option can take effect when tsLossyColumns not empty
double
dPrecision
=
1E-16
;
// double column precision
double
fPrecision
=
1E-8
;
// float column precision
uint32_t
maxRange
=
500
;
// max range
double
dPrecision
=
1E-16
;
// double column precision
uint32_t
curRange
=
100
;
// range
uint32_t
maxRange
=
500
;
// max range
char
Compressor
[
32
]
=
"ZSTD_COMPRESSOR"
;
// ZSTD_COMPRESSOR or GZIP_COMPRESSOR
uint32_t
curRange
=
100
;
// range
char
Compressor
[
32
]
=
"ZSTD_COMPRESSOR"
;
// ZSTD_COMPRESSOR or GZIP_COMPRESSOR
#endif
#endif
// long query death-lock
// long query death-lock
...
@@ -298,7 +300,7 @@ char *qtypeStr[] = {"rpc", "fwd", "wal", "cq", "query"};
...
@@ -298,7 +300,7 @@ char *qtypeStr[] = {"rpc", "fwd", "wal", "cq", "query"};
static
pthread_once_t
tsInitGlobalCfgOnce
=
PTHREAD_ONCE_INIT
;
static
pthread_once_t
tsInitGlobalCfgOnce
=
PTHREAD_ONCE_INIT
;
void
taosSetAllDebugFlag
()
{
void
taosSetAllDebugFlag
()
{
if
(
debugFlag
!=
0
)
{
if
(
debugFlag
!=
0
)
{
mDebugFlag
=
debugFlag
;
mDebugFlag
=
debugFlag
;
sdbDebugFlag
=
debugFlag
;
sdbDebugFlag
=
debugFlag
;
dDebugFlag
=
debugFlag
;
dDebugFlag
=
debugFlag
;
...
@@ -309,7 +311,7 @@ void taosSetAllDebugFlag() {
...
@@ -309,7 +311,7 @@ void taosSetAllDebugFlag() {
httpDebugFlag
=
debugFlag
;
httpDebugFlag
=
debugFlag
;
mqttDebugFlag
=
debugFlag
;
mqttDebugFlag
=
debugFlag
;
monDebugFlag
=
debugFlag
;
monDebugFlag
=
debugFlag
;
qDebugFlag
=
debugFlag
;
qDebugFlag
=
debugFlag
;
rpcDebugFlag
=
debugFlag
;
rpcDebugFlag
=
debugFlag
;
uDebugFlag
=
debugFlag
;
uDebugFlag
=
debugFlag
;
sDebugFlag
=
debugFlag
;
sDebugFlag
=
debugFlag
;
...
@@ -321,12 +323,13 @@ void taosSetAllDebugFlag() {
...
@@ -321,12 +323,13 @@ void taosSetAllDebugFlag() {
}
}
bool
taosCfgDynamicOptions
(
char
*
msg
)
{
bool
taosCfgDynamicOptions
(
char
*
msg
)
{
char
*
option
,
*
value
;
char
*
option
,
*
value
;
int32_t
olen
,
vlen
;
int32_t
olen
,
vlen
;
int32_t
vint
=
0
;
int32_t
vint
=
0
;
paGetToken
(
msg
,
&
option
,
&
olen
);
paGetToken
(
msg
,
&
option
,
&
olen
);
if
(
olen
==
0
)
return
false
;;
if
(
olen
==
0
)
return
false
;
;
paGetToken
(
option
+
olen
+
1
,
&
value
,
&
vlen
);
paGetToken
(
option
+
olen
+
1
,
&
value
,
&
vlen
);
if
(
vlen
==
0
)
if
(
vlen
==
0
)
...
@@ -339,9 +342,9 @@ bool taosCfgDynamicOptions(char *msg) {
...
@@ -339,9 +342,9 @@ bool taosCfgDynamicOptions(char *msg) {
for
(
int32_t
i
=
0
;
i
<
tsGlobalConfigNum
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
tsGlobalConfigNum
;
++
i
)
{
SGlobalCfg
*
cfg
=
tsGlobalConfig
+
i
;
SGlobalCfg
*
cfg
=
tsGlobalConfig
+
i
;
//if (!(cfg->cfgType & TSDB_CFG_CTYPE_B_LOG)) continue;
//
if (!(cfg->cfgType & TSDB_CFG_CTYPE_B_LOG)) continue;
if
(
cfg
->
valType
!=
TAOS_CFG_VTYPE_INT32
&&
cfg
->
valType
!=
TAOS_CFG_VTYPE_INT8
)
continue
;
if
(
cfg
->
valType
!=
TAOS_CFG_VTYPE_INT32
&&
cfg
->
valType
!=
TAOS_CFG_VTYPE_INT8
)
continue
;
int32_t
cfgLen
=
(
int32_t
)
strlen
(
cfg
->
option
);
int32_t
cfgLen
=
(
int32_t
)
strlen
(
cfg
->
option
);
if
(
cfgLen
!=
olen
)
continue
;
if
(
cfgLen
!=
olen
)
continue
;
if
(
strncasecmp
(
option
,
cfg
->
option
,
olen
)
!=
0
)
continue
;
if
(
strncasecmp
(
option
,
cfg
->
option
,
olen
)
!=
0
)
continue
;
...
@@ -370,7 +373,7 @@ bool taosCfgDynamicOptions(char *msg) {
...
@@ -370,7 +373,7 @@ bool taosCfgDynamicOptions(char *msg) {
return
true
;
return
true
;
}
}
if
(
strncasecmp
(
cfg
->
option
,
"debugFlag"
,
olen
)
==
0
)
{
if
(
strncasecmp
(
cfg
->
option
,
"debugFlag"
,
olen
)
==
0
)
{
taosSetAllDebugFlag
();
taosSetAllDebugFlag
();
}
}
return
true
;
return
true
;
}
}
...
@@ -427,7 +430,7 @@ static void taosCheckDataDirCfg() {
...
@@ -427,7 +430,7 @@ static void taosCheckDataDirCfg() {
}
}
static
int32_t
taosCheckTmpDir
(
void
)
{
static
int32_t
taosCheckTmpDir
(
void
)
{
if
(
strlen
(
tsTempDir
)
<=
0
){
if
(
strlen
(
tsTempDir
)
<=
0
)
{
uError
(
"tempDir is not set"
);
uError
(
"tempDir is not set"
);
return
-
1
;
return
-
1
;
}
}
...
@@ -448,7 +451,7 @@ static void doInitGlobalConfig(void) {
...
@@ -448,7 +451,7 @@ static void doInitGlobalConfig(void) {
srand
(
taosSafeRand
());
srand
(
taosSafeRand
());
SGlobalCfg
cfg
=
{
0
};
SGlobalCfg
cfg
=
{
0
};
// ip address
// ip address
cfg
.
option
=
"firstEp"
;
cfg
.
option
=
"firstEp"
;
cfg
.
ptr
=
tsFirst
;
cfg
.
ptr
=
tsFirst
;
...
@@ -577,12 +580,12 @@ static void doInitGlobalConfig(void) {
...
@@ -577,12 +580,12 @@ static void doInitGlobalConfig(void) {
cfg
.
ptr
=
&
tsMaxNumOfDistinctResults
;
cfg
.
ptr
=
&
tsMaxNumOfDistinctResults
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
|
TSDB_CFG_CTYPE_B_CLIENT
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
|
TSDB_CFG_CTYPE_B_CLIENT
;
cfg
.
minValue
=
10
*
10000
;
cfg
.
minValue
=
10
*
10000
;
cfg
.
maxValue
=
10000
*
10000
;
cfg
.
maxValue
=
10000
*
10000
;
cfg
.
ptrLength
=
0
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
taosInitConfigOption
(
cfg
);
cfg
.
option
=
"numOfMnodes"
;
cfg
.
option
=
"numOfMnodes"
;
cfg
.
ptr
=
&
tsNumOfMnodes
;
cfg
.
ptr
=
&
tsNumOfMnodes
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
...
@@ -1189,7 +1192,7 @@ static void doInitGlobalConfig(void) {
...
@@ -1189,7 +1192,7 @@ static void doInitGlobalConfig(void) {
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
taosInitConfigOption
(
cfg
);
// module configs
// module configs
cfg
.
option
=
"flowctrl"
;
cfg
.
option
=
"flowctrl"
;
cfg
.
ptr
=
&
tsEnableFlowCtrl
;
cfg
.
ptr
=
&
tsEnableFlowCtrl
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT8
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT8
;
...
@@ -1320,6 +1323,17 @@ static void doInitGlobalConfig(void) {
...
@@ -1320,6 +1323,17 @@ static void doInitGlobalConfig(void) {
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
taosInitConfigOption
(
cfg
);
// pContext in cache
cfg
.
option
=
"httpKeepAlive"
;
cfg
.
ptr
=
&
tsHttpKeepAlive
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
;
cfg
.
minValue
=
3000
;
cfg
.
maxValue
=
3600000
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
// debug flag
// debug flag
cfg
.
option
=
"numOfLogLines"
;
cfg
.
option
=
"numOfLogLines"
;
cfg
.
ptr
=
&
tsNumOfLogLines
;
cfg
.
ptr
=
&
tsNumOfLogLines
;
...
@@ -1401,7 +1415,6 @@ static void doInitGlobalConfig(void) {
...
@@ -1401,7 +1415,6 @@ static void doInitGlobalConfig(void) {
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
taosInitConfigOption
(
cfg
);
cfg
.
option
=
"sdbDebugFlag"
;
cfg
.
option
=
"sdbDebugFlag"
;
cfg
.
ptr
=
&
sdbDebugFlag
;
cfg
.
ptr
=
&
sdbDebugFlag
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
...
@@ -1633,7 +1646,7 @@ static void doInitGlobalConfig(void) {
...
@@ -1633,7 +1646,7 @@ static void doInitGlobalConfig(void) {
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
taosInitConfigOption
(
cfg
);
// enable kill long query
// enable kill long query
cfg
.
option
=
"deadLockKillQuery"
;
cfg
.
option
=
"deadLockKillQuery"
;
cfg
.
ptr
=
&
tsDeadLockKillQuery
;
cfg
.
ptr
=
&
tsDeadLockKillQuery
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT8
;
cfg
.
valType
=
TAOS_CFG_VTYPE_INT8
;
...
@@ -1731,21 +1744,18 @@ static void doInitGlobalConfig(void) {
...
@@ -1731,21 +1744,18 @@ static void doInitGlobalConfig(void) {
#else
#else
assert
(
tsGlobalConfigNum
<
TSDB_CFG_MAX_NUM
);
assert
(
tsGlobalConfigNum
<
TSDB_CFG_MAX_NUM
);
#endif
#endif
}
}
void
taosInitGlobalCfg
()
{
void
taosInitGlobalCfg
()
{
pthread_once
(
&
tsInitGlobalCfgOnce
,
doInitGlobalConfig
);
}
pthread_once
(
&
tsInitGlobalCfgOnce
,
doInitGlobalConfig
);
}
int32_t
taosCheckGlobalCfg
()
{
int32_t
taosCheckGlobalCfg
()
{
char
fqdn
[
TSDB_FQDN_LEN
];
char
fqdn
[
TSDB_FQDN_LEN
];
uint16_t
port
;
uint16_t
port
;
if
(
debugFlag
&
DEBUG_TRACE
||
debugFlag
&
DEBUG_DEBUG
||
debugFlag
&
DEBUG_DUMP
)
{
if
(
debugFlag
&
DEBUG_TRACE
||
debugFlag
&
DEBUG_DEBUG
||
debugFlag
&
DEBUG_DUMP
)
{
taosSetAllDebugFlag
();
taosSetAllDebugFlag
();
}
}
if
(
tsLocalFqdn
[
0
]
==
0
)
{
if
(
tsLocalFqdn
[
0
]
==
0
)
{
taosGetFqdn
(
tsLocalFqdn
);
taosGetFqdn
(
tsLocalFqdn
);
}
}
...
@@ -1772,7 +1782,7 @@ int32_t taosCheckGlobalCfg() {
...
@@ -1772,7 +1782,7 @@ int32_t taosCheckGlobalCfg() {
if
(
taosCheckTmpDir
())
{
if
(
taosCheckTmpDir
())
{
return
-
1
;
return
-
1
;
}
}
taosGetSystemInfo
();
taosGetSystemInfo
();
tsSetLocale
();
tsSetLocale
();
...
@@ -1794,8 +1804,8 @@ int32_t taosCheckGlobalCfg() {
...
@@ -1794,8 +1804,8 @@ int32_t taosCheckGlobalCfg() {
}
}
if
(
tsMaxTablePerVnode
<
tsMinTablePerVnode
)
{
if
(
tsMaxTablePerVnode
<
tsMinTablePerVnode
)
{
uError
(
"maxTablesPerVnode(%d) < minTablesPerVnode(%d), reset to minTablesPerVnode(%d)"
,
uError
(
"maxTablesPerVnode(%d) < minTablesPerVnode(%d), reset to minTablesPerVnode(%d)"
,
tsMaxTablePerVnode
,
tsMaxTablePerVnode
,
tsMinTablePerVnode
,
tsMinTablePerVnode
);
tsMinTablePerVnode
,
tsMinTablePerVnode
);
tsMaxTablePerVnode
=
tsMinTablePerVnode
;
tsMaxTablePerVnode
=
tsMinTablePerVnode
;
}
}
...
@@ -1817,7 +1827,7 @@ int32_t taosCheckGlobalCfg() {
...
@@ -1817,7 +1827,7 @@ int32_t taosCheckGlobalCfg() {
}
}
tsDnodeShellPort
=
tsServerPort
+
TSDB_PORT_DNODESHELL
;
// udp[6035-6039] tcp[6035]
tsDnodeShellPort
=
tsServerPort
+
TSDB_PORT_DNODESHELL
;
// udp[6035-6039] tcp[6035]
tsDnodeDnodePort
=
tsServerPort
+
TSDB_PORT_DNODEDNODE
;
// udp/tcp
tsDnodeDnodePort
=
tsServerPort
+
TSDB_PORT_DNODEDNODE
;
// udp/tcp
tsSyncPort
=
tsServerPort
+
TSDB_PORT_SYNC
;
tsSyncPort
=
tsServerPort
+
TSDB_PORT_SYNC
;
tsHttpPort
=
tsServerPort
+
TSDB_PORT_HTTP
;
tsHttpPort
=
tsServerPort
+
TSDB_PORT_HTTP
;
...
@@ -1837,17 +1847,17 @@ int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port) {
...
@@ -1837,17 +1847,17 @@ int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port) {
strcpy
(
fqdn
,
ep
);
strcpy
(
fqdn
,
ep
);
char
*
temp
=
strchr
(
fqdn
,
':'
);
char
*
temp
=
strchr
(
fqdn
,
':'
);
if
(
temp
)
{
if
(
temp
)
{
*
temp
=
0
;
*
temp
=
0
;
*
port
=
atoi
(
temp
+
1
);
*
port
=
atoi
(
temp
+
1
);
}
}
if
(
*
port
==
0
)
{
if
(
*
port
==
0
)
{
*
port
=
tsServerPort
;
*
port
=
tsServerPort
;
return
-
1
;
return
-
1
;
}
}
return
0
;
return
0
;
}
}
/*
/*
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBPreparedStatement.java
浏览文件 @
d7b14860
...
@@ -36,15 +36,15 @@ import java.util.regex.Pattern;
...
@@ -36,15 +36,15 @@ import java.util.regex.Pattern;
* compatibility needs.
* compatibility needs.
*/
*/
public
class
TSDBPreparedStatement
extends
TSDBStatement
implements
PreparedStatement
{
public
class
TSDBPreparedStatement
extends
TSDBStatement
implements
PreparedStatement
{
// for jdbc preparedStatement interface
private
String
rawSql
;
private
String
rawSql
;
private
Object
[]
parameters
;
private
Object
[]
parameters
;
// for parameter binding
private
ArrayList
<
ColumnInfo
>
colData
;
private
long
nativeStmtHandle
=
0
;
private
String
tableName
;
private
ArrayList
<
TableTagInfo
>
tableTags
;
private
ArrayList
<
TableTagInfo
>
tableTags
;
private
int
tagValueLength
;
private
int
tagValueLength
;
private
ArrayList
<
ColumnInfo
>
colData
;
private
String
tableName
;
private
long
nativeStmtHandle
=
0
;
TSDBPreparedStatement
(
TSDBConnection
connection
,
String
sql
)
{
TSDBPreparedStatement
(
TSDBConnection
connection
,
String
sql
)
{
super
(
connection
);
super
(
connection
);
...
@@ -72,10 +72,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -72,10 +72,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
preprocessSql
();
preprocessSql
();
}
}
/*
*
*/
/**
/**
* Some of the SQLs sent by other popular frameworks or tools like Spark, contains syntax that cannot be parsed by
* Some of the SQLs sent by other popular frameworks or tools like Spark, contains syntax that cannot be parsed by
* the TDengine client. Thus, some simple parsers/filters are intentionally added in this JDBC implementation in
* the TDengine client. Thus, some simple parsers/filters are intentionally added in this JDBC implementation in
...
@@ -250,13 +246,10 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -250,13 +246,10 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
@Override
@Override
public
void
setObject
(
int
parameterIndex
,
Object
x
)
throws
SQLException
{
public
void
setObject
(
int
parameterIndex
,
Object
x
)
throws
SQLException
{
if
(
isClosed
())
{
if
(
isClosed
())
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
}
if
(
parameterIndex
<
1
&&
parameterIndex
>=
parameters
.
length
)
if
(
parameterIndex
<
1
&&
parameterIndex
>=
parameters
.
length
)
{
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_PARAMETER_INDEX_OUT_RANGE
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_PARAMETER_INDEX_OUT_RANGE
);
}
parameters
[
parameterIndex
-
1
]
=
x
;
parameters
[
parameterIndex
-
1
]
=
x
;
}
}
...
@@ -335,7 +328,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -335,7 +328,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
public
void
setTimestamp
(
int
parameterIndex
,
Timestamp
x
,
Calendar
cal
)
throws
SQLException
{
public
void
setTimestamp
(
int
parameterIndex
,
Timestamp
x
,
Calendar
cal
)
throws
SQLException
{
if
(
isClosed
())
if
(
isClosed
())
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
// TODO:
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNSUPPORTED_METHOD
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNSUPPORTED_METHOD
);
}
}
...
@@ -419,7 +411,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -419,7 +411,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
public
void
setObject
(
int
parameterIndex
,
Object
x
,
int
targetSqlType
,
int
scaleOrLength
)
throws
SQLException
{
public
void
setObject
(
int
parameterIndex
,
Object
x
,
int
targetSqlType
,
int
scaleOrLength
)
throws
SQLException
{
if
(
isClosed
())
if
(
isClosed
())
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
//TODO:
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNSUPPORTED_METHOD
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNSUPPORTED_METHOD
);
}
}
...
@@ -477,7 +468,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -477,7 +468,6 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
if
(
isClosed
())
if
(
isClosed
())
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_STATEMENT_CLOSED
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNSUPPORTED_METHOD
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNSUPPORTED_METHOD
);
}
}
@Override
@Override
...
@@ -496,7 +486,7 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -496,7 +486,7 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// NOTE: the following APIs are not JDBC compatible
// NOTE: the following APIs are not JDBC compatible
//
set the bind table name
//
parameter binding
private
static
class
ColumnInfo
{
private
static
class
ColumnInfo
{
@SuppressWarnings
(
"rawtypes"
)
@SuppressWarnings
(
"rawtypes"
)
private
ArrayList
data
;
private
ArrayList
data
;
...
@@ -539,7 +529,11 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -539,7 +529,11 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
}
}
}
}
public
void
setTableName
(
String
name
)
{
public
void
setTableName
(
String
name
)
throws
SQLException
{
if
(
this
.
tableName
!=
null
)
{
this
.
columnDataExecuteBatch
();
this
.
columnDataClearBatchInternal
();
}
this
.
tableName
=
name
;
this
.
tableName
=
name
;
}
}
...
@@ -960,17 +954,22 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -960,17 +954,22 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
public
void
columnDataExecuteBatch
()
throws
SQLException
{
public
void
columnDataExecuteBatch
()
throws
SQLException
{
TSDBJNIConnector
connector
=
((
TSDBConnection
)
this
.
getConnection
()).
getConnector
();
TSDBJNIConnector
connector
=
((
TSDBConnection
)
this
.
getConnection
()).
getConnector
();
connector
.
executeBatch
(
this
.
nativeStmtHandle
);
connector
.
executeBatch
(
this
.
nativeStmtHandle
);
this
.
columnDataClearBatch
();
this
.
columnDataClearBatch
Internal
();
}
}
@Deprecated
public
void
columnDataClearBatch
()
{
public
void
columnDataClearBatch
()
{
columnDataClearBatchInternal
();
}
private
void
columnDataClearBatchInternal
()
{
int
size
=
this
.
colData
.
size
();
int
size
=
this
.
colData
.
size
();
this
.
colData
.
clear
();
this
.
colData
.
clear
();
this
.
colData
.
addAll
(
Collections
.
nCopies
(
size
,
null
));
this
.
colData
.
addAll
(
Collections
.
nCopies
(
size
,
null
));
this
.
tableName
=
null
;
// clear the table name
this
.
tableName
=
null
;
// clear the table name
}
}
public
void
columnDataCloseBatch
()
throws
SQLException
{
public
void
columnDataCloseBatch
()
throws
SQLException
{
TSDBJNIConnector
connector
=
((
TSDBConnection
)
this
.
getConnection
()).
getConnector
();
TSDBJNIConnector
connector
=
((
TSDBConnection
)
this
.
getConnection
()).
getConnector
();
connector
.
closeBatch
(
this
.
nativeStmtHandle
);
connector
.
closeBatch
(
this
.
nativeStmtHandle
);
...
@@ -978,4 +977,11 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
...
@@ -978,4 +977,11 @@ public class TSDBPreparedStatement extends TSDBStatement implements PreparedStat
this
.
nativeStmtHandle
=
0L
;
this
.
nativeStmtHandle
=
0L
;
this
.
tableName
=
null
;
this
.
tableName
=
null
;
}
}
@Override
public
void
close
()
throws
SQLException
{
this
.
columnDataClearBatchInternal
();
this
.
columnDataCloseBatch
();
super
.
close
();
}
}
}
src/connector/jdbc/src/main/java/com/taosdata/jdbc/utils/HttpClientPoolUtil.java
浏览文件 @
d7b14860
...
@@ -5,9 +5,7 @@ import com.taosdata.jdbc.TSDBErrorNumbers;
...
@@ -5,9 +5,7 @@ import com.taosdata.jdbc.TSDBErrorNumbers;
import
org.apache.http.HeaderElement
;
import
org.apache.http.HeaderElement
;
import
org.apache.http.HeaderElementIterator
;
import
org.apache.http.HeaderElementIterator
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.NoHttpResponseException
;
import
org.apache.http.client.ClientProtocolException
;
import
org.apache.http.client.ClientProtocolException
;
import
org.apache.http.client.HttpRequestRetryHandler
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.methods.*
;
import
org.apache.http.client.methods.*
;
import
org.apache.http.client.protocol.HttpClientContext
;
import
org.apache.http.client.protocol.HttpClientContext
;
...
@@ -21,10 +19,7 @@ import org.apache.http.protocol.HTTP;
...
@@ -21,10 +19,7 @@ import org.apache.http.protocol.HTTP;
import
org.apache.http.protocol.HttpContext
;
import
org.apache.http.protocol.HttpContext
;
import
org.apache.http.util.EntityUtils
;
import
org.apache.http.util.EntityUtils
;
import
javax.net.ssl.SSLException
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.InterruptedIOException
;
import
java.net.UnknownHostException
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
...
@@ -53,10 +48,9 @@ public class HttpClientPoolUtil {
...
@@ -53,10 +48,9 @@ public class HttpClientPoolUtil {
return
DEFAULT_HTTP_KEEP_TIME
*
1000
;
return
DEFAULT_HTTP_KEEP_TIME
*
1000
;
};
};
private
static
CloseableHttpClient
httpClient
;
private
static
final
CloseableHttpClient
httpClient
;
static
{
static
{
PoolingHttpClientConnectionManager
connectionManager
=
new
PoolingHttpClientConnectionManager
();
PoolingHttpClientConnectionManager
connectionManager
=
new
PoolingHttpClientConnectionManager
();
connectionManager
.
setMaxTotal
(
DEFAULT_MAX_TOTAL
);
connectionManager
.
setMaxTotal
(
DEFAULT_MAX_TOTAL
);
connectionManager
.
setDefaultMaxPerRoute
(
DEFAULT_MAX_PER_ROUTE
);
connectionManager
.
setDefaultMaxPerRoute
(
DEFAULT_MAX_PER_ROUTE
);
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/ParameterBindTest.java
0 → 100644
浏览文件 @
d7b14860
package
com.taosdata.jdbc
;
import
org.junit.After
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Random
;
import
java.util.stream.Collectors
;
public
class
ParameterBindTest
{
private
static
final
String
host
=
"127.0.0.1"
;
private
static
final
String
stable
=
"weather"
;
private
Connection
conn
;
private
final
Random
random
=
new
Random
(
System
.
currentTimeMillis
());
@Test
public
void
test
()
{
// given
String
[]
tbnames
=
{
"t1"
,
"t2"
,
"t3"
};
int
rows
=
10
;
// when
insertIntoTables
(
tbnames
,
10
);
// then
assertRows
(
stable
,
tbnames
.
length
*
rows
);
for
(
String
t
:
tbnames
)
{
assertRows
(
t
,
rows
);
}
}
@Test
public
void
testMultiThreads
()
{
// given
String
[][]
tables
=
{{
"t1"
,
"t2"
,
"t3"
},
{
"t4"
,
"t5"
,
"t6"
},
{
"t7"
,
"t8"
,
"t9"
},
{
"t10"
}};
int
rows
=
10
;
// when
List
<
Thread
>
threads
=
Arrays
.
stream
(
tables
).
map
(
tbnames
->
new
Thread
(()
->
insertIntoTables
(
tbnames
,
rows
))).
collect
(
Collectors
.
toList
());
threads
.
forEach
(
Thread:
:
start
);
for
(
Thread
thread
:
threads
)
{
try
{
thread
.
join
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
// then
for
(
String
[]
table
:
tables
)
{
for
(
String
t
:
table
)
{
assertRows
(
t
,
rows
);
}
}
}
private
void
assertRows
(
String
tbname
,
int
rows
)
{
try
(
Statement
stmt
=
conn
.
createStatement
())
{
ResultSet
rs
=
stmt
.
executeQuery
(
"select count(*) from "
+
tbname
);
while
(
rs
.
next
())
{
int
count
=
rs
.
getInt
(
1
);
Assert
.
assertEquals
(
rows
,
count
);
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
private
void
insertIntoTables
(
String
[]
tbnames
,
int
rowsEachTable
)
{
long
current
=
System
.
currentTimeMillis
();
String
sql
=
"insert into ? using "
+
stable
+
" tags(?, ?) values(?, ?, ?)"
;
try
(
TSDBPreparedStatement
pstmt
=
conn
.
prepareStatement
(
sql
).
unwrap
(
TSDBPreparedStatement
.
class
))
{
for
(
int
i
=
0
;
i
<
tbnames
.
length
;
i
++)
{
pstmt
.
setTableName
(
tbnames
[
i
]);
pstmt
.
setTagInt
(
0
,
random
.
nextInt
(
100
));
pstmt
.
setTagInt
(
1
,
random
.
nextInt
(
100
));
ArrayList
<
Long
>
timestampList
=
new
ArrayList
<>();
for
(
int
j
=
0
;
j
<
rowsEachTable
;
j
++)
{
timestampList
.
add
(
current
+
i
*
1000
+
j
);
}
pstmt
.
setTimestamp
(
0
,
timestampList
);
ArrayList
<
Integer
>
f1List
=
new
ArrayList
<>();
for
(
int
j
=
0
;
j
<
rowsEachTable
;
j
++)
{
f1List
.
add
(
random
.
nextInt
(
100
));
}
pstmt
.
setInt
(
1
,
f1List
);
ArrayList
<
Integer
>
f2List
=
new
ArrayList
<>();
for
(
int
j
=
0
;
j
<
rowsEachTable
;
j
++)
{
f2List
.
add
(
random
.
nextInt
(
100
));
}
pstmt
.
setInt
(
2
,
f2List
);
pstmt
.
columnDataAddBatch
();
}
pstmt
.
columnDataExecuteBatch
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
@Before
public
void
before
()
{
String
url
=
"jdbc:TAOS://"
+
host
+
":6030/?user=root&password=taosdata"
;
try
{
conn
=
DriverManager
.
getConnection
(
url
);
Statement
stmt
=
conn
.
createStatement
();
stmt
.
execute
(
"drop database if exists test_pd"
);
stmt
.
execute
(
"create database if not exists test_pd"
);
stmt
.
execute
(
"use test_pd"
);
stmt
.
execute
(
"create table "
+
stable
+
"(ts timestamp, f1 int, f2 int) tags(t1 int, t2 int)"
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
@After
public
void
after
()
{
try
{
// Statement stmt = conn.createStatement();
// stmt.execute("drop database if exists test_pd");
if
(
conn
!=
null
)
conn
.
close
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/utils/HttpClientPoolUtilTest.java
浏览文件 @
d7b14860
...
@@ -2,7 +2,6 @@ package com.taosdata.jdbc.utils;
...
@@ -2,7 +2,6 @@ package com.taosdata.jdbc.utils;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.taosdata.jdbc.TSDBDriver
;
import
com.taosdata.jdbc.TSDBError
;
import
com.taosdata.jdbc.TSDBError
;
import
org.junit.Test
;
import
org.junit.Test
;
...
@@ -11,7 +10,6 @@ import java.net.URLEncoder;
...
@@ -11,7 +10,6 @@ import java.net.URLEncoder;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.stream.IntStream
;
import
java.util.stream.IntStream
;
...
@@ -27,11 +25,6 @@ public class HttpClientPoolUtilTest {
...
@@ -27,11 +25,6 @@ public class HttpClientPoolUtilTest {
// given
// given
List
<
Thread
>
threads
=
IntStream
.
range
(
0
,
4000
).
mapToObj
(
i
->
new
Thread
(()
->
{
List
<
Thread
>
threads
=
IntStream
.
range
(
0
,
4000
).
mapToObj
(
i
->
new
Thread
(()
->
{
useDB
();
useDB
();
// try {
// TimeUnit.SECONDS.sleep(10);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
})).
collect
(
Collectors
.
toList
());
})).
collect
(
Collectors
.
toList
());
threads
.
forEach
(
Thread:
:
start
);
threads
.
forEach
(
Thread:
:
start
);
...
@@ -43,7 +36,6 @@ public class HttpClientPoolUtilTest {
...
@@ -43,7 +36,6 @@ public class HttpClientPoolUtilTest {
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
}
}
}
}
private
void
useDB
()
{
private
void
useDB
()
{
...
...
src/kit/taosdump/CMakeLists.txt
浏览文件 @
d7b14860
...
@@ -3,6 +3,7 @@ PROJECT(TDengine)
...
@@ -3,6 +3,7 @@ PROJECT(TDengine)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/client/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/client/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/query/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/query/inc
)
INCLUDE_DIRECTORIES
(
${
CMAKE_BINARY_DIR
}
/build/include
)
INCLUDE_DIRECTORIES
(
inc
)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
...
@@ -61,12 +62,22 @@ ENDIF ()
...
@@ -61,12 +62,22 @@ ENDIF ()
MESSAGE
(
"TD_VERSION_NUMBER is:"
${
TD_VERSION_NUMBER
}
)
MESSAGE
(
"TD_VERSION_NUMBER is:"
${
TD_VERSION_NUMBER
}
)
ADD_DEFINITIONS
(
-DTD_VERNUMBER=
"
${
TD_VERSION_NUMBER
}
"
)
ADD_DEFINITIONS
(
-DTD_VERNUMBER=
"
${
TD_VERSION_NUMBER
}
"
)
LINK_DIRECTORIES
(
${
CMAKE_BINARY_DIR
}
/build/lib
${
CMAKE_BINARY_DIR
}
/build/lib64
)
IF
(
TD_LINUX
)
IF
(
TD_LINUX
)
ADD_EXECUTABLE
(
taosdump
${
SRC
}
)
ADD_EXECUTABLE
(
taosdump
${
SRC
}
)
IF
(
TD_SOMODE_STATIC
)
IF
(
TD_SOMODE_STATIC
)
TARGET_LINK_LIBRARIES
(
taosdump taos_static cJson
)
IF
(
AVRO_SUPPORT
)
TARGET_LINK_LIBRARIES
(
taosdump taos_static avro jansson
)
ELSE
()
TARGET_LINK_LIBRARIES
(
taosdump taos_static
)
ENDIF
()
ELSE
()
ELSE
()
TARGET_LINK_LIBRARIES
(
taosdump taos cJson
)
IF
(
AVRO_SUPPORT
)
TARGET_LINK_LIBRARIES
(
taosdump taos avro jansson
)
ELSE
()
TARGET_LINK_LIBRARIES
(
taosdump taos
)
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
ENDIF
()
...
@@ -74,8 +85,8 @@ IF (TD_DARWIN)
...
@@ -74,8 +85,8 @@ IF (TD_DARWIN)
# missing <argp.h> for macosx
# missing <argp.h> for macosx
# ADD_EXECUTABLE(taosdump ${SRC})
# ADD_EXECUTABLE(taosdump ${SRC})
# IF (TD_SOMODE_STATIC)
# IF (TD_SOMODE_STATIC)
# TARGET_LINK_LIBRARIES(taosdump taos_static
cJ
son)
# TARGET_LINK_LIBRARIES(taosdump taos_static
jans
son)
# ELSE ()
# ELSE ()
# TARGET_LINK_LIBRARIES(taosdump taos
cJ
son)
# TARGET_LINK_LIBRARIES(taosdump taos
jans
son)
# ENDIF ()
# ENDIF ()
ENDIF
()
ENDIF
()
src/kit/taosdump/taosdump.c
浏览文件 @
d7b14860
此差异已折叠。
点击以展开。
src/plugins/CMakeLists.txt
浏览文件 @
d7b14860
CMAKE_MINIMUM_REQUIRED
(
VERSION 3.0...3.20
)
CMAKE_MINIMUM_REQUIRED
(
VERSION 3.0...3.20
)
PROJECT
(
TDengine
)
PROJECT
(
TDengine
)
if
(
NOT WIN32
)
string
(
ASCII 27 Esc
)
set
(
ColourReset
"
${
Esc
}
[m"
)
set
(
ColourBold
"
${
Esc
}
[1m"
)
set
(
Red
"
${
Esc
}
[31m"
)
set
(
Green
"
${
Esc
}
[32m"
)
set
(
Yellow
"
${
Esc
}
[33m"
)
set
(
Blue
"
${
Esc
}
[34m"
)
set
(
Magenta
"
${
Esc
}
[35m"
)
set
(
Cyan
"
${
Esc
}
[36m"
)
set
(
White
"
${
Esc
}
[37m"
)
set
(
BoldRed
"
${
Esc
}
[1;31m"
)
set
(
BoldGreen
"
${
Esc
}
[1;32m"
)
set
(
BoldYellow
"
${
Esc
}
[1;33m"
)
set
(
BoldBlue
"
${
Esc
}
[1;34m"
)
set
(
BoldMagenta
"
${
Esc
}
[1;35m"
)
set
(
BoldCyan
"
${
Esc
}
[1;36m"
)
set
(
BoldWhite
"
${
Esc
}
[1;37m"
)
endif
()
ADD_SUBDIRECTORY
(
monitor
)
ADD_SUBDIRECTORY
(
monitor
)
IF
(
TD_BUILD_HTTP
)
IF
(
TD_BUILD_HTTP
)
...
@@ -57,6 +37,8 @@ ELSE ()
...
@@ -57,6 +37,8 @@ ELSE ()
DEPENDS taos
DEPENDS taos
BUILD_IN_SOURCE 1
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND cmake -E echo
"blm3 no need cmake to config"
CONFIGURE_COMMAND cmake -E echo
"blm3 no need cmake to config"
PATCH_COMMAND
COMMAND git clean -f -d
BUILD_COMMAND CGO_CFLAGS=-I
${
CMAKE_CURRENT_SOURCE_DIR
}
/../inc CGO_LDFLAGS=-L
${
CMAKE_BINARY_DIR
}
/build/lib go build -ldflags
"-s -w -X github.com/taosdata/blm3/version.CommitID=
${
blm3_commit_sha1
}
"
BUILD_COMMAND CGO_CFLAGS=-I
${
CMAKE_CURRENT_SOURCE_DIR
}
/../inc CGO_LDFLAGS=-L
${
CMAKE_BINARY_DIR
}
/build/lib go build -ldflags
"-s -w -X github.com/taosdata/blm3/version.CommitID=
${
blm3_commit_sha1
}
"
INSTALL_COMMAND cmake -E copy blm3
${
CMAKE_BINARY_DIR
}
/build/bin COMMAND cmake -E make_directory
${
CMAKE_BINARY_DIR
}
/test/cfg/ COMMAND cmake -E copy ./example/config/blm.toml
${
CMAKE_BINARY_DIR
}
/test/cfg/
INSTALL_COMMAND cmake -E copy blm3
${
CMAKE_BINARY_DIR
}
/build/bin COMMAND cmake -E make_directory
${
CMAKE_BINARY_DIR
}
/test/cfg/ COMMAND cmake -E copy ./example/config/blm.toml
${
CMAKE_BINARY_DIR
}
/test/cfg/
)
)
...
...
src/plugins/http/src/httpContext.c
浏览文件 @
d7b14860
...
@@ -123,7 +123,7 @@ HttpContext *httpCreateContext(SOCKET fd) {
...
@@ -123,7 +123,7 @@ HttpContext *httpCreateContext(SOCKET fd) {
TSDB_CACHE_PTR_TYPE
handleVal
=
(
TSDB_CACHE_PTR_TYPE
)
pContext
;
TSDB_CACHE_PTR_TYPE
handleVal
=
(
TSDB_CACHE_PTR_TYPE
)
pContext
;
HttpContext
**
ppContext
=
taosCachePut
(
tsHttpServer
.
contextCache
,
&
handleVal
,
sizeof
(
TSDB_CACHE_PTR_TYPE
),
&
pContext
,
HttpContext
**
ppContext
=
taosCachePut
(
tsHttpServer
.
contextCache
,
&
handleVal
,
sizeof
(
TSDB_CACHE_PTR_TYPE
),
&
pContext
,
sizeof
(
TSDB_CACHE_PTR_TYPE
),
3000
);
sizeof
(
TSDB_CACHE_PTR_TYPE
),
tsHttpKeepAlive
);
pContext
->
ppContext
=
ppContext
;
pContext
->
ppContext
=
ppContext
;
httpDebug
(
"context:%p, fd:%d, is created, data:%p"
,
pContext
,
fd
,
ppContext
);
httpDebug
(
"context:%p, fd:%d, is created, data:%p"
,
pContext
,
fd
,
ppContext
);
...
...
src/util/inc/tconfig.h
浏览文件 @
d7b14860
...
@@ -20,7 +20,8 @@
...
@@ -20,7 +20,8 @@
extern
"C"
{
extern
"C"
{
#endif
#endif
#define TSDB_CFG_MAX_NUM 128
#define TSDB_CFG_MAX_NUM 129
#define TSDB_CFG_PRINT_LEN 23
#define TSDB_CFG_PRINT_LEN 23
#define TSDB_CFG_OPTION_LEN 24
#define TSDB_CFG_OPTION_LEN 24
#define TSDB_CFG_VALUE_LEN 41
#define TSDB_CFG_VALUE_LEN 41
...
...
tests/pytest/insert/special_character_show.py
浏览文件 @
d7b14860
...
@@ -31,9 +31,8 @@ class TDTestCase:
...
@@ -31,9 +31,8 @@ class TDTestCase:
tdLog
.
info
(
'create table stb1 (ts timestamp, value double) tags (bin binary(128))'
)
tdLog
.
info
(
'create table stb1 (ts timestamp, value double) tags (bin binary(128))'
)
tdSql
.
execute
(
'create table stb1 (ts timestamp, value double) tags (bin binary(128))'
)
tdSql
.
execute
(
'create table stb1 (ts timestamp, value double) tags (bin binary(128))'
)
tdLog
.
info
(
'=============== step2,create table
增加了转义字符
'
)
tdLog
.
info
(
'=============== step2,create table
with escape character
'
)
tdLog
.
info
(
'create table tb1 using stb1 tags("abc
\\
"def")'
)
tdLog
.
info
(
'create table tb1 using stb1 tags("abc
\\
"def")'
)
#增加了转义字符\
tdSql
.
execute
(
'create table tb1 using stb1 tags("abc
\\
"def")'
)
tdSql
.
execute
(
'create table tb1 using stb1 tags("abc
\\
"def")'
)
tdLog
.
info
(
'=============== step3,insert data'
)
tdLog
.
info
(
'=============== step3,insert data'
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录