Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d8a3c95d
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d8a3c95d
编写于
8月 23, 2021
作者:
Z
zyyang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'feature/TD-5992' of github.com:taosdata/TDengine into feature/TD-5992
上级
9052c4bc
2bd441bb
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
149 addition
and
59 deletion
+149
-59
cmake/install.inc
cmake/install.inc
+1
-1
src/client/src/tscSystem.c
src/client/src/tscSystem.c
+7
-3
src/connector/jdbc/CMakeLists.txt
src/connector/jdbc/CMakeLists.txt
+1
-1
src/connector/jdbc/deploy-pom.xml
src/connector/jdbc/deploy-pom.xml
+1
-1
src/connector/jdbc/pom.xml
src/connector/jdbc/pom.xml
+1
-1
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDriver.java
...ctor/jdbc/src/main/java/com/taosdata/jdbc/TSDBDriver.java
+0
-3
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
...dbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
+12
-8
src/connector/jdbc/src/test/java/com/taosdata/jdbc/SetConfigurationInJNITest.java
...est/java/com/taosdata/jdbc/SetConfigurationInJNITest.java
+66
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/TSDBJNIConnectorTest.java
...src/test/java/com/taosdata/jdbc/TSDBJNIConnectorTest.java
+1
-9
src/util/inc/tconfig.h
src/util/inc/tconfig.h
+1
-1
src/util/src/tconfig.c
src/util/src/tconfig.c
+58
-31
未找到文件。
cmake/install.inc
浏览文件 @
d8a3c95d
...
...
@@ -32,7 +32,7 @@ ELSEIF (TD_WINDOWS)
#INSTALL(TARGETS taos RUNTIME DESTINATION driver)
#INSTALL(TARGETS shell RUNTIME DESTINATION .)
IF
(
TD_MVN_INSTALLED
)
INSTALL
(
FILES
$
{
LIBRARY_OUTPUT_PATH
}
/
taos
-
jdbcdriver
-
2.0.3
4
-
dist
.
jar
DESTINATION
connector
/
jdbc
)
INSTALL
(
FILES
$
{
LIBRARY_OUTPUT_PATH
}
/
taos
-
jdbcdriver
-
2.0.3
5
-
dist
.
jar
DESTINATION
connector
/
jdbc
)
ENDIF
()
ELSEIF
(
TD_DARWIN
)
SET
(
TD_MAKE_INSTALL_SH
"${TD_COMMUNITY_DIR}/packaging/tools/make_install.sh"
)
...
...
src/client/src/tscSystem.c
浏览文件 @
d8a3c95d
...
...
@@ -443,7 +443,7 @@ static int taos_set_config_imp(const char *config){
static
bool
setConfFlag
=
false
;
if
(
setConfFlag
)
{
tscError
(
"already set config"
);
return
-
1
;
return
0
;
}
cJSON
*
root
=
cJSON_Parse
(
config
);
if
(
root
==
NULL
)
{
...
...
@@ -451,18 +451,22 @@ static int taos_set_config_imp(const char *config){
return
-
1
;
}
int
ret
=
0
;
int
size
=
cJSON_GetArraySize
(
root
);
for
(
int
i
=
0
;
i
<
size
;
i
++
){
cJSON
*
item
=
cJSON_GetArrayItem
(
root
,
i
);
if
(
!
item
)
{
tscError
(
"failed to read index:%d"
,
i
);
ret
=
-
2
;
continue
;
}
taosReadConfigOption
(
item
->
string
,
item
->
valuestring
,
NULL
,
NULL
);
if
(
!
taosReadConfigOption
(
item
->
string
,
item
->
valuestring
,
NULL
,
NULL
)){
ret
=
-
2
;
}
}
taosPrintGlobalCfg
();
setConfFlag
=
true
;
return
0
;
return
ret
;
}
int
taos_set_config
(
const
char
*
config
){
...
...
src/connector/jdbc/CMakeLists.txt
浏览文件 @
d8a3c95d
...
...
@@ -8,7 +8,7 @@ IF (TD_MVN_INSTALLED)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
JDBC_CMD_NAME
}
POST_BUILD
COMMAND mvn -Dmaven.test.skip=true install -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-2.0.3
4
-dist.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-2.0.3
5
-dist.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND mvn -Dmaven.test.skip=true clean -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMENT
"build jdbc driver"
)
ADD_CUSTOM_TARGET
(
${
JDBC_TARGET_NAME
}
ALL WORKING_DIRECTORY
${
EXECUTABLE_OUTPUT_PATH
}
DEPENDS
${
JDBC_CMD_NAME
}
)
...
...
src/connector/jdbc/deploy-pom.xml
浏览文件 @
d8a3c95d
...
...
@@ -5,7 +5,7 @@
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.3
4
</version>
<version>
2.0.3
5
</version>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
...
...
src/connector/jdbc/pom.xml
浏览文件 @
d8a3c95d
...
...
@@ -3,7 +3,7 @@
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.3
4
</version>
<version>
2.0.3
5
</version>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
<url>
https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc
</url>
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBDriver.java
浏览文件 @
d8a3c95d
...
...
@@ -118,9 +118,6 @@ public class TSDBDriver extends AbstractDriver {
}
public
Connection
connect
(
String
url
,
Properties
info
)
throws
SQLException
{
if
(
url
==
null
)
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_URL_NOT_SET
);
if
(!
acceptsURL
(
url
))
return
null
;
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
浏览文件 @
d8a3c95d
...
...
@@ -38,14 +38,6 @@ public class TSDBJNIConnector {
System
.
loadLibrary
(
"taos"
);
}
public
boolean
isClosed
()
{
return
this
.
taos
==
TSDBConstants
.
JNI_NULL_POINTER
;
}
public
boolean
isResultsetClosed
()
{
return
this
.
isResultsetClosed
;
}
public
static
void
init
(
String
configDir
,
String
locale
,
String
charset
,
String
timezone
)
throws
SQLWarning
{
synchronized
(
isInitialized
)
{
if
(!
isInitialized
)
{
...
...
@@ -71,6 +63,8 @@ public class TSDBJNIConnector {
public
static
native
String
getTsCharset
();
public
static
native
int
setConfig
(
String
config
);
public
boolean
connect
(
String
host
,
int
port
,
String
dbName
,
String
user
,
String
password
)
throws
SQLException
{
if
(
this
.
taos
!=
TSDBConstants
.
JNI_NULL_POINTER
)
{
closeConnection
();
...
...
@@ -159,6 +153,14 @@ public class TSDBJNIConnector {
private
native
long
isUpdateQueryImp
(
long
connection
,
long
pSql
);
public
boolean
isClosed
()
{
return
this
.
taos
==
TSDBConstants
.
JNI_NULL_POINTER
;
}
public
boolean
isResultsetClosed
()
{
return
this
.
isResultsetClosed
;
}
/**
* Free result set operation from C to release result set pointer by JNI
*/
...
...
@@ -357,4 +359,6 @@ public class TSDBJNIConnector {
}
private
native
int
insertLinesImp
(
String
[]
lines
,
long
conn
);
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/SetConfigurationInJNITest.java
0 → 100644
浏览文件 @
d8a3c95d
package
com.taosdata.jdbc
;
import
org.junit.Test
;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
static
org
.
junit
.
Assert
.*;
public
class
SetConfigurationInJNITest
{
private
String
host
=
"127.0.0.1"
;
private
String
dbname
=
"test_jni"
;
private
long
maxSQLLength
=
1024000
;
private
String
debugFlagJSON
=
"{ \"debugFlag\": 135}"
;
private
String
maxSqlLengthJSON
=
"{ \"maxSQLLength\": "
+
maxSQLLength
+
"}"
;
@Test
public
void
testDebugFlag
()
{
try
{
// init
TSDBJNIConnector
.
initImp
(
null
);
TSDBJNIConnector
.
setOptions
(
0
,
null
);
TSDBJNIConnector
.
setOptions
(
1
,
null
);
TSDBJNIConnector
.
setOptions
(
2
,
null
);
String
tsCharset
=
TSDBJNIConnector
.
getTsCharset
();
assertEquals
(
""
,
tsCharset
);
TSDBJNIConnector
.
setConfig
(
debugFlagJSON
);
// connect
TSDBJNIConnector
jniConnector
=
new
TSDBJNIConnector
();
boolean
connected
=
jniConnector
.
connect
(
host
,
0
,
null
,
"root"
,
"taosdata"
);
assertTrue
(
connected
);
String
[]
setupSqls
=
{
"drop database if exists "
+
dbname
,
"create database if not exists "
+
dbname
,
"use "
+
dbname
,
"create table weather(ts timestamp, f1 int) tags(loc nchar(10))"
,
"insert into t1 using weather tags('beijing') values(now, 1)"
,
"drop database if exists "
+
dbname
};
Arrays
.
asList
(
setupSqls
).
forEach
(
sql
->
{
try
{
long
setupSql
=
jniConnector
.
executeQuery
(
sql
);
if
(
jniConnector
.
isUpdateQuery
(
setupSql
))
{
jniConnector
.
freeResultSet
(
setupSql
);
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
});
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
@Test
public
void
testMaxSQLLength
()
{
}
}
\ No newline at end of file
src/connector/jdbc/src/test/java/com/taosdata/jdbc/TSDBJNIConnectorTest.java
浏览文件 @
d8a3c95d
...
...
@@ -5,7 +5,6 @@ import org.junit.Test;
import
java.lang.management.ManagementFactory
;
import
java.lang.management.RuntimeMXBean
;
import
java.sql.SQLException
;
import
java.sql.SQLWarning
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -19,7 +18,6 @@ public class TSDBJNIConnectorTest {
@Test
public
void
test
()
{
try
{
try
{
//change sleepSeconds when debugging with attach to process to find PID
int
sleepSeconds
=
-
1
;
...
...
@@ -122,8 +120,6 @@ public class TSDBJNIConnectorTest {
// close connection
connector
.
closeConnection
();
}
catch
(
SQLWarning
throwables
)
{
throwables
.
printStackTrace
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -140,11 +136,7 @@ public class TSDBJNIConnectorTest {
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_JNI_RESULT_SET_NULL
);
}
else
if
(
code
==
TSDBConstants
.
JNI_NUM_OF_FIELDS_0
)
{
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_JNI_NUM_OF_FIELDS_0
);
}
else
if
(
code
==
TSDBConstants
.
JNI_FETCH_END
)
{
return
false
;
}
else
{
return
true
;
}
}
else
return
code
!=
TSDBConstants
.
JNI_FETCH_END
;
}
}
src/util/inc/tconfig.h
浏览文件 @
d8a3c95d
...
...
@@ -89,7 +89,7 @@ void taosDumpGlobalCfg();
void
taosInitConfigOption
(
SGlobalCfg
cfg
);
SGlobalCfg
*
taosGetConfigOption
(
const
char
*
option
);
void
taosReadConfigOption
(
const
char
*
option
,
char
*
value
,
char
*
value2
,
char
*
value3
);
bool
taosReadConfigOption
(
const
char
*
option
,
char
*
value
,
char
*
value2
,
char
*
value3
);
#ifdef __cplusplus
}
...
...
src/util/src/tconfig.c
浏览文件 @
d8a3c95d
...
...
@@ -26,6 +26,11 @@
SGlobalCfg
tsGlobalConfig
[
TSDB_CFG_MAX_NUM
]
=
{{
0
}};
int32_t
tsGlobalConfigNum
=
0
;
#define ATOI_JUDGE if ( !value && strcmp(input_value, "0") != 0) { \
uError("atoi error, input value:%s",input_value); \
return false; \
}
static
char
*
tsGlobalUnit
[]
=
{
" "
,
"(%)"
,
...
...
@@ -44,12 +49,14 @@ char *tsCfgStatusStr[] = {
"program argument list"
};
static
void
taosReadFloatConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadFloatConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
float
value
=
(
float
)
atof
(
input_value
);
ATOI_JUDGE
float
*
option
=
(
float
*
)
cfg
->
ptr
;
if
(
value
<
cfg
->
minValue
||
value
>
cfg
->
maxValue
)
{
uError
(
"config option:%s, input value:%s, out of range[%f, %f], use default value:%f"
,
cfg
->
option
,
input_value
,
cfg
->
minValue
,
cfg
->
maxValue
,
*
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
*
option
=
value
;
...
...
@@ -57,16 +64,20 @@ static void taosReadFloatConfig(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %f"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
*
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadDoubleConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadDoubleConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
double
value
=
atof
(
input_value
);
ATOI_JUDGE
double
*
option
=
(
double
*
)
cfg
->
ptr
;
if
(
value
<
cfg
->
minValue
||
value
>
cfg
->
maxValue
)
{
uError
(
"config option:%s, input value:%s, out of range[%f, %f], use default value:%f"
,
cfg
->
option
,
input_value
,
cfg
->
minValue
,
cfg
->
maxValue
,
*
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
*
option
=
value
;
...
...
@@ -74,17 +85,21 @@ static void taosReadDoubleConfig(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %f"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
*
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadInt32Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadInt32Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int32_t
value
=
atoi
(
input_value
);
ATOI_JUDGE
int32_t
*
option
=
(
int32_t
*
)
cfg
->
ptr
;
if
(
value
<
cfg
->
minValue
||
value
>
cfg
->
maxValue
)
{
uError
(
"config option:%s, input value:%s, out of range[%f, %f], use default value:%d"
,
cfg
->
option
,
input_value
,
cfg
->
minValue
,
cfg
->
maxValue
,
*
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
*
option
=
value
;
...
...
@@ -92,16 +107,20 @@ static void taosReadInt32Config(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %d"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
*
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadInt16Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadInt16Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int32_t
value
=
atoi
(
input_value
);
ATOI_JUDGE
int16_t
*
option
=
(
int16_t
*
)
cfg
->
ptr
;
if
(
value
<
cfg
->
minValue
||
value
>
cfg
->
maxValue
)
{
uError
(
"config option:%s, input value:%s, out of range[%f, %f], use default value:%d"
,
cfg
->
option
,
input_value
,
cfg
->
minValue
,
cfg
->
maxValue
,
*
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
*
option
=
(
int16_t
)
value
;
...
...
@@ -109,16 +128,20 @@ static void taosReadInt16Config(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %d"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
*
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadUInt16Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadUInt16Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int32_t
value
=
atoi
(
input_value
);
ATOI_JUDGE
uint16_t
*
option
=
(
uint16_t
*
)
cfg
->
ptr
;
if
(
value
<
cfg
->
minValue
||
value
>
cfg
->
maxValue
)
{
uError
(
"config option:%s, input value:%s, out of range[%f, %f], use default value:%d"
,
cfg
->
option
,
input_value
,
cfg
->
minValue
,
cfg
->
maxValue
,
*
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
*
option
=
(
uint16_t
)
value
;
...
...
@@ -126,16 +149,20 @@ static void taosReadUInt16Config(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %d"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
*
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadInt8Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadInt8Config
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int32_t
value
=
atoi
(
input_value
);
ATOI_JUDGE
int8_t
*
option
=
(
int8_t
*
)
cfg
->
ptr
;
if
(
value
<
cfg
->
minValue
||
value
>
cfg
->
maxValue
)
{
uError
(
"config option:%s, input value:%s, out of range[%f, %f], use default value:%d"
,
cfg
->
option
,
input_value
,
cfg
->
minValue
,
cfg
->
maxValue
,
*
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
*
option
=
(
int8_t
)
value
;
...
...
@@ -143,8 +170,10 @@ static void taosReadInt8Config(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %d"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
*
option
);
return
false
;
}
}
return
true
;
}
static
bool
taosReadDirectoryConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
...
...
@@ -191,12 +220,13 @@ static bool taosReadDirectoryConfig(SGlobalCfg *cfg, char *input_value) {
return
true
;
}
static
void
taosReadIpStrConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadIpStrConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
uint32_t
value
=
taosInetAddr
(
input_value
);
char
*
option
=
(
char
*
)
cfg
->
ptr
;
if
(
value
==
INADDR_NONE
)
{
uError
(
"config option:%s, input value:%s, is not a valid ip address, use default value:%s"
,
cfg
->
option
,
input_value
,
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
strncpy
(
option
,
input_value
,
cfg
->
ptrLength
);
...
...
@@ -204,16 +234,19 @@ static void taosReadIpStrConfig(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %s"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadStringConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
static
bool
taosReadStringConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int
length
=
(
int
)
strlen
(
input_value
);
char
*
option
=
(
char
*
)
cfg
->
ptr
;
if
(
length
<=
0
||
length
>
cfg
->
ptrLength
)
{
uError
(
"config option:%s, input value:%s, length out of range[0, %d], use default value:%s"
,
cfg
->
option
,
input_value
,
cfg
->
ptrLength
,
option
);
return
false
;
}
else
{
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_FILE
)
{
strncpy
(
option
,
input_value
,
cfg
->
ptrLength
);
...
...
@@ -221,8 +254,10 @@ static void taosReadStringConfig(SGlobalCfg *cfg, char *input_value) {
}
else
{
uWarn
(
"config option:%s, input value:%s, is configured by %s, use %s"
,
cfg
->
option
,
input_value
,
tsCfgStatusStr
[
cfg
->
cfgStatus
],
option
);
return
false
;
}
}
return
true
;
}
static
void
taosReadLogOption
(
char
*
option
,
char
*
value
)
{
...
...
@@ -258,7 +293,7 @@ SGlobalCfg *taosGetConfigOption(const char *option) {
return
NULL
;
}
void
taosReadConfigOption
(
const
char
*
option
,
char
*
value
,
char
*
value2
,
char
*
value3
)
{
bool
taosReadConfigOption
(
const
char
*
option
,
char
*
value
,
char
*
value2
,
char
*
value3
)
{
for
(
int
i
=
0
;
i
<
tsGlobalConfigNum
;
++
i
)
{
SGlobalCfg
*
cfg
=
tsGlobalConfig
+
i
;
if
(
!
(
cfg
->
cfgType
&
TSDB_CFG_CTYPE_B_CONFIG
))
continue
;
...
...
@@ -266,43 +301,35 @@ void taosReadConfigOption(const char *option, char *value, char *value2, char *v
switch
(
cfg
->
valType
)
{
case
TAOS_CFG_VTYPE_INT8
:
taosReadInt8Config
(
cfg
,
value
);
break
;
return
taosReadInt8Config
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_INT16
:
taosReadInt16Config
(
cfg
,
value
);
break
;
return
taosReadInt16Config
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_INT32
:
taosReadInt32Config
(
cfg
,
value
);
break
;
return
taosReadInt32Config
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_UINT16
:
taosReadUInt16Config
(
cfg
,
value
);
break
;
return
taosReadUInt16Config
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_FLOAT
:
taosReadFloatConfig
(
cfg
,
value
);
break
;
return
taosReadFloatConfig
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_DOUBLE
:
taosReadDoubleConfig
(
cfg
,
value
);
break
;
return
taosReadDoubleConfig
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_STRING
:
taosReadStringConfig
(
cfg
,
value
);
break
;
return
taosReadStringConfig
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_IPSTR
:
taosReadIpStrConfig
(
cfg
,
value
);
break
;
return
taosReadIpStrConfig
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_DIRECTORY
:
taosReadDirectoryConfig
(
cfg
,
value
);
break
;
return
taosReadDirectoryConfig
(
cfg
,
value
);
case
TAOS_CFG_VTYPE_DATA_DIRCTORY
:
if
(
taosReadDirectoryConfig
(
cfg
,
value
))
{
taosReadDataDirCfg
(
value
,
value2
,
value3
);
return
true
;
}
break
;
return
false
;
default:
uError
(
"config option:%s, input value:%s, can't be recognized"
,
option
,
value
);
break
;
return
false
;
}
break
;
}
return
false
;
}
void
taosInitConfigOption
(
SGlobalCfg
cfg
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录