Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b777a670
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看板
未验证
提交
b777a670
编写于
8月 05, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
8月 05, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2924 from taosdata/feature/os
Feature/os
上级
792e0870
00d6291e
变更
63
展开全部
隐藏空白更改
内联
并排
Showing
63 changed file
with
585 addition
and
516 deletion
+585
-516
deps/CMakeLists.txt
deps/CMakeLists.txt
+5
-1
deps/MQTT-C/CMakeLists.txt
deps/MQTT-C/CMakeLists.txt
+4
-4
deps/cJson/CMakeLists.txt
deps/cJson/CMakeLists.txt
+3
-3
deps/iconv/CMakeLists.txt
deps/iconv/CMakeLists.txt
+3
-1
deps/iconv/iconv.h
deps/iconv/iconv.h
+1
-1
deps/lz4/CMakeLists.txt
deps/lz4/CMakeLists.txt
+8
-3
deps/pthread/CMakeLists.txt
deps/pthread/CMakeLists.txt
+1
-1
deps/pthread/pthread_mutex_consistent.c
deps/pthread/pthread_mutex_consistent.c
+1
-1
deps/regex/CMakeLists.txt
deps/regex/CMakeLists.txt
+1
-1
deps/zlib-1.2.11/CMakeLists.txt
deps/zlib-1.2.11/CMakeLists.txt
+1
-1
deps/zlib-1.2.11/inc/zconf.h
deps/zlib-1.2.11/inc/zconf.h
+348
-343
deps/zlib-1.2.11/src/zconf.h
deps/zlib-1.2.11/src/zconf.h
+6
-1
src/client/CMakeLists.txt
src/client/CMakeLists.txt
+1
-1
src/common/CMakeLists.txt
src/common/CMakeLists.txt
+6
-0
src/common/src/tdataformat.c
src/common/src/tdataformat.c
+4
-4
src/common/src/tglobal.c
src/common/src/tglobal.c
+13
-13
src/common/src/tname.c
src/common/src/tname.c
+4
-4
src/common/src/ttypes.c
src/common/src/ttypes.c
+2
-2
src/common/src/tvariant.c
src/common/src/tvariant.c
+10
-10
src/inc/taosmsg.h
src/inc/taosmsg.h
+2
-2
src/kit/shell/CMakeLists.txt
src/kit/shell/CMakeLists.txt
+1
-1
src/os/inc/osDarwin.h
src/os/inc/osDarwin.h
+2
-2
src/os/inc/osFile.h
src/os/inc/osFile.h
+16
-0
src/os/inc/osLinux32.h
src/os/inc/osLinux32.h
+2
-2
src/os/inc/osMemory.h
src/os/inc/osMemory.h
+3
-3
src/os/inc/osSemphone.h
src/os/inc/osSemphone.h
+1
-0
src/os/inc/osWindows.h
src/os/inc/osWindows.h
+12
-3
src/os/src/darwin/darwinSysInfo.c
src/os/src/darwin/darwinSysInfo.c
+1
-1
src/os/src/detail/CMakeLists.txt
src/os/src/detail/CMakeLists.txt
+6
-0
src/os/src/detail/osFile.c
src/os/src/detail/osFile.c
+3
-3
src/os/src/detail/osRand.c
src/os/src/detail/osRand.c
+2
-2
src/os/src/detail/osSemphone.c
src/os/src/detail/osSemphone.c
+1
-0
src/os/src/detail/osTime.c
src/os/src/detail/osTime.c
+3
-2
src/os/src/windows/w64File.c
src/os/src/windows/w64File.c
+6
-0
src/os/src/windows/w64Socket.c
src/os/src/windows/w64Socket.c
+2
-1
src/os/src/windows/w64String.c
src/os/src/windows/w64String.c
+3
-3
src/os/src/windows/w64Sysinfo.c
src/os/src/windows/w64Sysinfo.c
+1
-1
src/rpc/src/rpcCache.c
src/rpc/src/rpcCache.c
+2
-2
src/rpc/src/rpcMain.c
src/rpc/src/rpcMain.c
+4
-4
src/rpc/src/rpcTcp.c
src/rpc/src/rpcTcp.c
+2
-2
src/rpc/src/rpcUdp.c
src/rpc/src/rpcUdp.c
+3
-1
src/tsdb/tests/CMakeLists.txt
src/tsdb/tests/CMakeLists.txt
+1
-1
src/util/inc/tchecksum.h
src/util/inc/tchecksum.h
+5
-0
src/util/inc/tcoding.h
src/util/inc/tcoding.h
+5
-5
src/util/inc/tconfig.h
src/util/inc/tconfig.h
+1
-1
src/util/inc/tstoken.h
src/util/inc/tstoken.h
+1
-1
src/util/src/hash.c
src/util/src/hash.c
+7
-7
src/util/src/talgo.c
src/util/src/talgo.c
+3
-3
src/util/src/tarray.c
src/util/src/tarray.c
+3
-3
src/util/src/tbuffer.c
src/util/src/tbuffer.c
+0
-1
src/util/src/tcache.c
src/util/src/tcache.c
+3
-3
src/util/src/tcompression.c
src/util/src/tcompression.c
+28
-29
src/util/src/tconfig.c
src/util/src/tconfig.c
+4
-4
src/util/src/tcrc32c.c
src/util/src/tcrc32c.c
+3
-3
src/util/src/terror.c
src/util/src/terror.c
+1
-1
src/util/src/thashutil.c
src/util/src/thashutil.c
+1
-1
src/util/src/tkvstore.c
src/util/src/tkvstore.c
+7
-7
src/util/src/tlog.c
src/util/src/tlog.c
+1
-1
src/util/src/tmempool.c
src/util/src/tmempool.c
+1
-5
src/util/src/tsched.c
src/util/src/tsched.c
+2
-2
src/util/src/tskiplist.c
src/util/src/tskiplist.c
+4
-4
src/util/src/ttimer.c
src/util/src/ttimer.c
+2
-2
src/util/src/tutil.c
src/util/src/tutil.c
+2
-2
未找到文件。
deps/CMakeLists.txt
浏览文件 @
b777a670
...
...
@@ -7,4 +7,8 @@ ADD_SUBDIRECTORY(regex)
ADD_SUBDIRECTORY
(
iconv
)
ADD_SUBDIRECTORY
(
lz4
)
ADD_SUBDIRECTORY
(
cJson
)
ADD_SUBDIRECTORY
(
MQTT-C
)
#ADD_SUBDIRECTORY(MsvcLibX)
IF
(
NOT TD_WINDOWS
)
ADD_SUBDIRECTORY
(
MQTT-C
)
ENDIF
()
\ No newline at end of file
deps/MQTT-C/CMakeLists.txt
浏览文件 @
b777a670
...
...
@@ -10,11 +10,11 @@ option(MQTT_C_TESTS "Build MQTT-C tests?" OFF)
list
(
APPEND CMAKE_MODULE_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/cmake
)
# MQTT-C library
add_library
(
mqttc STATIC
ADD_LIBRARY
(
mqttc STATIC
src/mqtt_pal.c
src/mqtt.c
)
target_include_directories
(
mqttc PUBLIC include
)
TARGET_INCLUDE_DIRECTORIES
(
mqttc PUBLIC include
)
target_link_libraries
(
mqttc PUBLIC
$<$<C_COMPILER_ID:MSVS>:ws2_32>
)
...
...
@@ -30,7 +30,7 @@ endif()
# Configure with mbed TLS support
if
(
MQTT_C_MbedTLS_SUPPORT
)
find_package
(
MbedTLS REQUIRED
)
target_include_directories
(
mqttc PUBLIC
${
MBEDTLS_INCLUDE_DIRS
}
)
TARGET_INCLUDE_DIRECTORIES
(
mqttc PUBLIC
${
MBEDTLS_INCLUDE_DIRS
}
)
target_link_libraries
(
mqttc INTERFACE
${
MBEDTLS_LIBRARY
}
)
target_compile_definitions
(
mqttc PUBLIC MQTT_USE_MBEDTLS
)
endif
()
...
...
@@ -70,7 +70,7 @@ if(MQTT_C_TESTS)
add_executable
(
tests tests.c
)
target_link_libraries
(
tests
${
CMOCKA_LIBRARY
}
mqttc
)
target_include_directories
(
tests PRIVATE
${
CMOCKA_INCLUDE_DIR
}
)
TARGET_INCLUDE_DIRECTORIES
(
tests PRIVATE
${
CMOCKA_INCLUDE_DIR
}
)
endif
()
# Install includes and library
...
...
deps/cJson/CMakeLists.txt
浏览文件 @
b777a670
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/src SOURCE_LIST
)
AUX_SOURCE_DIRECTORY
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/src SOURCE_LIST
)
add_library
(
cJson
${
SOURCE_LIST
}
)
target_include_directories
(
cJson PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc
)
\ No newline at end of file
ADD_LIBRARY
(
cJson
${
SOURCE_LIST
}
)
TARGET_INCLUDE_DIRECTORIES
(
cJson PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc
)
\ No newline at end of file
deps/iconv/CMakeLists.txt
浏览文件 @
b777a670
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8
)
PROJECT
(
TDengine
)
IF
(
TD_WINDOWS
_64
)
IF
(
TD_WINDOWS
)
LIST
(
APPEND SRC iconv.c
)
LIST
(
APPEND SRC localcharset.c
)
INCLUDE_DIRECTORIES
(
.
)
SET
(
CMAKE_C_FLAGS_DEBUG
"
${
CMAKE_C_FLAGS_DEBUG
}
/WX-"
)
SET
(
CMAKE_C_FLAGS_RELEASE
"
${
CMAKE_C_FLAGS_RELEASE
}
/WX-"
)
ADD_LIBRARY
(
iconv
${
SRC
}
)
ENDIF
()
\ No newline at end of file
deps/iconv/iconv.h
浏览文件 @
b777a670
/* Copyright (C) 1999-2003, 2005-2006, 2008-2009 Free Software Foundation, Inc.
/* Copyright (C) 1999-2003, 2005-2006, 2008-2009 Free Software Foundation, Inc.
This file is part of the GNU LIBICONV Library.
The GNU LIBICONV Library is free software; you can redistribute it
...
...
deps/lz4/CMakeLists.txt
浏览文件 @
b777a670
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/src SOURCE_LIST
)
AUX_SOURCE_DIRECTORY
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/src SOURCE_LIST
)
add_library
(
lz4
${
SOURCE_LIST
}
)
target_include_directories
(
lz4 PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc
)
\ No newline at end of file
IF
(
TD_WINDOWS
)
SET
(
CMAKE_C_FLAGS_DEBUG
"
${
CMAKE_C_FLAGS_DEBUG
}
/WX-"
)
SET
(
CMAKE_C_FLAGS_RELEASE
"
${
CMAKE_C_FLAGS_RELEASE
}
/WX-"
)
ENDIF
()
ADD_LIBRARY
(
lz4
${
SOURCE_LIST
}
)
TARGET_INCLUDE_DIRECTORIES
(
lz4 PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/inc
)
\ No newline at end of file
deps/pthread/CMakeLists.txt
浏览文件 @
b777a670
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8
)
PROJECT
(
TDengine
)
IF
(
TD_WINDOWS
_64
)
IF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
.
)
LIST
(
APPEND SRC pthread.c
)
ADD_LIBRARY
(
pthread
${
SRC
}
)
...
...
deps/pthread/pthread_mutex_consistent.c
浏览文件 @
b777a670
/*
/*
* pthread_mutex_consistent.c
*
* Description:
...
...
deps/regex/CMakeLists.txt
浏览文件 @
b777a670
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8
)
PROJECT
(
TDengine
)
IF
(
TD_WINDOWS
_64
)
IF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
inc .
)
LIST
(
APPEND SRC regex.c
)
ADD_LIBRARY
(
regex
${
SRC
}
)
...
...
deps/zlib-1.2.11/CMakeLists.txt
浏览文件 @
b777a670
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8
)
PROJECT
(
TDengine
)
IF
(
TD_LINUX_64
)
IF
(
TD_LINUX_64
OR TD_WINDOWS_64
)
INCLUDE_DIRECTORIES
(
inc
)
AUX_SOURCE_DIRECTORY
(
src SRC
)
ADD_LIBRARY
(
z
${
SRC
}
)
...
...
deps/zlib-1.2.11/inc/zconf.h
浏览文件 @
b777a670
此差异已折叠。
点击以展开。
deps/zlib-1.2.11/src/zconf.h
浏览文件 @
b777a670
...
...
@@ -472,7 +472,12 @@ typedef uLong FAR uLongf;
#endif
#ifndef Z_SOLO
# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
# include <unistd.h>
/* for SEEK_*, off_t, and _LFS64_LARGEFILE */
#if (_WIN64)
#include <io.h>
#include <process.h>
#else
#include <unistd.h>
/* for SEEK_*, off_t, and _LFS64_LARGEFILE */
#endif
# ifdef VMS
# include <unixio.h>
/* for off_t */
# endif
...
...
src/client/CMakeLists.txt
浏览文件 @
b777a670
...
...
@@ -37,7 +37,7 @@ IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
ADD_SUBDIRECTORY
(
tests
)
ELSEIF
(
TD_WINDOWS
_64
)
ELSEIF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/jni/windows
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/jni/windows/win32
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/pthread
)
...
...
src/common/CMakeLists.txt
浏览文件 @
b777a670
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8
)
PROJECT
(
TDengine
)
IF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/pthread
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/iconv
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/regex
)
ENDIF
()
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/os/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/util/inc
)
...
...
src/common/src/tdataformat.c
浏览文件 @
b777a670
...
...
@@ -565,7 +565,7 @@ int tdSetKVRowDataOfCol(SKVRow *orow, int16_t colId, int8_t type, void *value) {
nrow
=
malloc
(
kvRowLen
(
row
)
+
sizeof
(
SColIdx
)
+
diff
);
if
(
nrow
==
NULL
)
return
-
1
;
kvRowSetLen
(
nrow
,
kvRowLen
(
row
)
+
sizeof
(
SColIdx
)
+
diff
);
kvRowSetLen
(
nrow
,
kvRowLen
(
row
)
+
(
int16_t
)
sizeof
(
SColIdx
)
+
diff
);
kvRowSetNCols
(
nrow
,
kvRowNCols
(
row
)
+
1
);
if
(
ptr
==
NULL
)
{
...
...
@@ -573,10 +573,10 @@ int tdSetKVRowDataOfCol(SKVRow *orow, int16_t colId, int8_t type, void *value) {
memcpy
(
kvRowValues
(
nrow
),
kvRowValues
(
row
),
POINTER_DISTANCE
(
kvRowEnd
(
row
),
kvRowValues
(
row
)));
int
colIdx
=
kvRowNCols
(
nrow
)
-
1
;
kvRowColIdxAt
(
nrow
,
colIdx
)
->
colId
=
colId
;
kvRowColIdxAt
(
nrow
,
colIdx
)
->
offset
=
POINTER_DISTANCE
(
kvRowEnd
(
row
),
kvRowValues
(
row
));
kvRowColIdxAt
(
nrow
,
colIdx
)
->
offset
=
(
int16_t
)(
POINTER_DISTANCE
(
kvRowEnd
(
row
),
kvRowValues
(
row
)
));
memcpy
(
kvRowColVal
(
nrow
,
kvRowColIdxAt
(
nrow
,
colIdx
)),
value
,
diff
);
}
else
{
int16_t
tlen
=
POINTER_DISTANCE
(
ptr
,
kvRowColIdx
(
row
));
int16_t
tlen
=
(
int16_t
)(
POINTER_DISTANCE
(
ptr
,
kvRowColIdx
(
row
)
));
if
(
tlen
>
0
)
{
memcpy
(
kvRowColIdx
(
nrow
),
kvRowColIdx
(
row
),
tlen
);
memcpy
(
kvRowValues
(
nrow
),
kvRowValues
(
row
),
((
SColIdx
*
)
ptr
)
->
offset
);
...
...
@@ -617,7 +617,7 @@ int tdSetKVRowDataOfCol(SKVRow *orow, int16_t colId, int8_t type, void *value) {
kvRowSetNCols
(
nrow
,
kvRowNCols
(
row
));
// Copy part ahead
nlen
=
POINTER_DISTANCE
(
ptr
,
kvRowColIdx
(
row
));
nlen
=
(
int16_t
)(
POINTER_DISTANCE
(
ptr
,
kvRowColIdx
(
row
)
));
ASSERT
(
nlen
%
sizeof
(
SColIdx
)
==
0
);
if
(
nlen
>
0
)
{
ASSERT
(((
SColIdx
*
)
ptr
)
->
offset
>
0
);
...
...
src/common/src/tglobal.c
浏览文件 @
b777a670
...
...
@@ -92,7 +92,7 @@ int32_t tsStreamCompStartDelay = 10000;
int32_t
tsStreamCompRetryDelay
=
10
;
// The delayed computing ration. 10% of the whole computing time window by default.
float
tsStreamComputDelayRatio
=
0
.
1
;
float
tsStreamComputDelayRatio
=
0
.
1
f
;
int32_t
tsProjectExecInterval
=
10000
;
// every 10sec, the projection will be executed once
int64_t
tsMaxRetentWindow
=
24
*
3600L
;
// maximum time window tolerance
...
...
@@ -173,8 +173,8 @@ float tsTotalTmpDirGB = 0;
float
tsTotalDataDirGB
=
0
;
float
tsAvailTmpDirectorySpace
=
0
;
float
tsAvailDataDirGB
=
0
;
float
tsReservedTmpDirectorySpace
=
0
.
1
;
float
tsMinimalDataDirGB
=
0
.
5
;
float
tsReservedTmpDirectorySpace
=
0
.
1
f
;
float
tsMinimalDataDirGB
=
0
.
5
f
;
int32_t
tsTotalMemoryMB
=
0
;
int32_t
tsVersion
=
0
;
...
...
@@ -294,7 +294,7 @@ bool taosCfgDynamicOptions(char *msg) {
return
false
;
}
static
void
doInitGlobalConfig
()
{
static
void
doInitGlobalConfig
(
void
)
{
SGlobalCfg
cfg
=
{
0
};
// ip address
...
...
@@ -405,8 +405,8 @@ static void doInitGlobalConfig() {
cfg
.
ptr
=
&
tsRatioOfQueryThreads
;
cfg
.
valType
=
TAOS_CFG_VTYPE_FLOAT
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
;
cfg
.
minValue
=
0
.
1
;
cfg
.
maxValue
=
0
.
9
;
cfg
.
minValue
=
0
.
1
f
;
cfg
.
maxValue
=
0
.
9
f
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
...
...
@@ -607,8 +607,8 @@ static void doInitGlobalConfig() {
cfg
.
ptr
=
&
tsStreamComputDelayRatio
;
cfg
.
valType
=
TAOS_CFG_VTYPE_FLOAT
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
0
.
1
;
cfg
.
maxValue
=
0
.
9
;
cfg
.
minValue
=
0
.
1
f
;
cfg
.
maxValue
=
0
.
9
f
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
...
...
@@ -870,7 +870,7 @@ static void doInitGlobalConfig() {
cfg
.
ptr
=
&
tsMinimalLogDirGB
;
cfg
.
valType
=
TAOS_CFG_VTYPE_FLOAT
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
0
.
001
;
cfg
.
minValue
=
0
.
001
f
;
cfg
.
maxValue
=
10000000
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_GB
;
...
...
@@ -880,7 +880,7 @@ static void doInitGlobalConfig() {
cfg
.
ptr
=
&
tsReservedTmpDirectorySpace
;
cfg
.
valType
=
TAOS_CFG_VTYPE_FLOAT
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
0
.
001
;
cfg
.
minValue
=
0
.
001
f
;
cfg
.
maxValue
=
10000000
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_GB
;
...
...
@@ -890,7 +890,7 @@ static void doInitGlobalConfig() {
cfg
.
ptr
=
&
tsMinimalDataDirGB
;
cfg
.
valType
=
TAOS_CFG_VTYPE_FLOAT
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
;
cfg
.
minValue
=
0
.
001
;
cfg
.
minValue
=
0
.
001
f
;
cfg
.
maxValue
=
10000000
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_GB
;
...
...
@@ -1256,7 +1256,7 @@ static void doInitGlobalConfig() {
cfg
.
valType
=
TAOS_CFG_VTYPE_INT32
;
cfg
.
cfgType
=
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_CLIENT
;
cfg
.
minValue
=
1
;
cfg
.
maxValue
=
0x7fffffff
;
cfg
.
maxValue
=
65536
;
cfg
.
ptrLength
=
0
;
cfg
.
unitType
=
TAOS_CFG_UTYPE_NONE
;
taosInitConfigOption
(
cfg
);
...
...
@@ -1338,7 +1338,7 @@ int taosGetFqdnPortFromEp(const char *ep, char *fqdn, uint16_t *port) {
*/
bool
taosCheckBalanceCfgOptions
(
const
char
*
option
,
int32_t
*
vnodeId
,
int32_t
*
dnodeId
)
{
int
len
=
strlen
(
option
);
int
len
=
(
int
)
strlen
(
option
);
if
(
strncasecmp
(
option
,
"vnode:"
,
6
)
!=
0
)
{
return
false
;
}
...
...
src/common/src/tname.c
浏览文件 @
b777a670
...
...
@@ -6,7 +6,7 @@
#include "ttokendef.h"
// todo refactor
__attribute__
((
unused
))
static
FORCE_INLINE
const
char
*
skipSegments
(
const
char
*
input
,
char
delim
,
int32_t
num
)
{
UNUSED_FUNC
static
FORCE_INLINE
const
char
*
skipSegments
(
const
char
*
input
,
char
delim
,
int32_t
num
)
{
for
(
int32_t
i
=
0
;
i
<
num
;
++
i
)
{
while
(
*
input
!=
0
&&
*
input
++
!=
delim
)
{
};
...
...
@@ -14,7 +14,7 @@ __attribute__((unused)) static FORCE_INLINE const char* skipSegments(const char*
return
input
;
}
__attribute__
((
unused
))
static
FORCE_INLINE
size_t
copy
(
char
*
dst
,
const
char
*
src
,
char
delimiter
)
{
UNUSED_FUNC
static
FORCE_INLINE
size_t
copy
(
char
*
dst
,
const
char
*
src
,
char
delimiter
)
{
size_t
len
=
0
;
while
(
*
src
!=
delimiter
&&
*
src
!=
0
)
{
*
dst
++
=
*
src
++
;
...
...
@@ -120,11 +120,11 @@ void extractTableNameFromToken(SSQLToken* pToken, SSQLToken* pTable) {
char
*
r
=
strnchr
(
pToken
->
z
,
sep
,
pToken
->
n
,
false
);
if
(
r
!=
NULL
)
{
// record the table name token
pTable
->
n
=
r
-
pToken
->
z
;
pTable
->
n
=
(
uint32_t
)(
r
-
pToken
->
z
)
;
pTable
->
z
=
pToken
->
z
;
r
+=
1
;
pToken
->
n
-=
(
r
-
pToken
->
z
);
pToken
->
n
-=
(
uint32_t
)(
r
-
pToken
->
z
);
pToken
->
z
=
r
;
}
}
src/common/src/ttypes.c
浏览文件 @
b777a670
...
...
@@ -204,8 +204,8 @@ static void getStatics_i64(const TSKEY *primaryKey, const void *pData, int32_t n
static
void
getStatics_f
(
const
TSKEY
*
primaryKey
,
const
void
*
pData
,
int32_t
numOfRow
,
int64_t
*
min
,
int64_t
*
max
,
int64_t
*
sum
,
int16_t
*
minIndex
,
int16_t
*
maxIndex
,
int16_t
*
numOfNull
)
{
float
*
data
=
(
float
*
)
pData
;
float
fmin
=
DBL
_MAX
;
float
fmax
=
-
DBL
_MAX
;
float
fmin
=
FLT
_MAX
;
float
fmax
=
-
FLT
_MAX
;
double
dsum
=
0
;
*
minIndex
=
0
;
*
maxIndex
=
0
;
...
...
src/common/src/tvariant.c
浏览文件 @
b777a670
...
...
@@ -101,19 +101,19 @@ void tVariantCreateFromBinary(tVariant *pVar, const char *pz, size_t len, uint32
break
;
}
case
TSDB_DATA_TYPE_NCHAR
:
{
// here we get the nchar length from raw binary bits length
int32
_t
lenInwchar
=
len
/
TSDB_NCHAR_SIZE
;
size
_t
lenInwchar
=
len
/
TSDB_NCHAR_SIZE
;
pVar
->
wpz
=
calloc
(
1
,
(
lenInwchar
+
1
)
*
TSDB_NCHAR_SIZE
);
wcsncpy
(
pVar
->
wpz
,
(
wchar_t
*
)
pz
,
lenInwchar
);
pVar
->
wpz
[
lenInwchar
]
=
0
;
pVar
->
nLen
=
len
;
pVar
->
nLen
=
(
int32_t
)
len
;
break
;
}
case
TSDB_DATA_TYPE_BINARY
:
{
// todo refactor, extract a method
pVar
->
pz
=
calloc
(
len
,
sizeof
(
char
));
memcpy
(
pVar
->
pz
,
pz
,
len
);
pVar
->
nLen
=
len
;
pVar
->
nLen
=
(
int32_t
)
len
;
break
;
}
...
...
@@ -185,7 +185,7 @@ int32_t tVariantToString(tVariant *pVar, char *dst) {
case
TSDB_DATA_TYPE_NCHAR
:
{
dst
[
0
]
=
'\''
;
taosUcs4ToMbs
(
pVar
->
wpz
,
(
twcslen
(
pVar
->
wpz
)
+
1
)
*
TSDB_NCHAR_SIZE
,
dst
+
1
);
int32_t
len
=
strlen
(
dst
);
int32_t
len
=
(
int32_t
)
strlen
(
dst
);
dst
[
len
]
=
'\''
;
dst
[
len
+
1
]
=
0
;
return
len
+
1
;
...
...
@@ -361,11 +361,11 @@ static int32_t toBinary(tVariant *pVariant, char **pDest, int32_t *pDestSize) {
pBuf
=
realloc
(
pBuf
,
newSize
+
1
);
}
taosUcs4ToMbs
(
pVariant
->
wpz
,
newSize
,
pBuf
);
taosUcs4ToMbs
(
pVariant
->
wpz
,
(
int32_t
)
newSize
,
pBuf
);
free
(
pVariant
->
wpz
);
pBuf
[
newSize
]
=
0
;
}
else
{
taosUcs4ToMbs
(
pVariant
->
wpz
,
newSize
,
*
pDest
);
taosUcs4ToMbs
(
pVariant
->
wpz
,
(
int32_t
)
newSize
,
*
pDest
);
}
}
else
{
...
...
@@ -384,7 +384,7 @@ static int32_t toBinary(tVariant *pVariant, char **pDest, int32_t *pDestSize) {
*
pDest
=
pBuf
;
}
*
pDestSize
=
strlen
(
*
pDest
);
*
pDestSize
=
(
int32_t
)
strlen
(
*
pDest
);
return
0
;
}
...
...
@@ -428,7 +428,7 @@ static int32_t toNchar(tVariant *pVariant, char **pDest, int32_t *pDestSize) {
taosMbsToUcs4
(
pDst
,
nLen
,
*
pDest
,
(
nLen
+
1
)
*
TSDB_NCHAR_SIZE
,
&
output
);
if
(
pDestSize
!=
NULL
)
{
*
pDestSize
=
output
;
*
pDestSize
=
(
int32_t
)
output
;
}
}
...
...
@@ -682,7 +682,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
float
fv
=
(
float
)
pVariant
->
i64Key
;
SET_FLOAT_VAL_ALIGN
(
payload
,
&
fv
);
#else
*
((
float
*
)
payload
)
=
pVariant
->
i64Key
;
*
((
float
*
)
payload
)
=
(
float
)
pVariant
->
i64Key
;
#endif
}
else
if
(
pVariant
->
nType
==
TSDB_DATA_TYPE_DOUBLE
||
pVariant
->
nType
==
TSDB_DATA_TYPE_FLOAT
)
{
#ifdef _TD_ARM_32_
...
...
@@ -735,7 +735,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
double
dv
=
(
double
)(
pVariant
->
i64Key
);
SET_DOUBLE_VAL_ALIGN
(
payload
,
&
dv
);
#else
*
((
double
*
)
payload
)
=
pVariant
->
i64Key
;
*
((
double
*
)
payload
)
=
(
double
)
pVariant
->
i64Key
;
#endif
}
else
if
(
pVariant
->
nType
==
TSDB_DATA_TYPE_DOUBLE
||
pVariant
->
nType
==
TSDB_DATA_TYPE_FLOAT
)
{
#ifdef _TD_ARM_32_
...
...
src/inc/taosmsg.h
浏览文件 @
b777a670
...
...
@@ -206,7 +206,7 @@ typedef struct SSubmitMsg {
SMsgHead
header
;
int32_t
length
;
int32_t
numOfBlocks
;
SSubmitBlk
blocks
[];
char
blocks
[];
}
SSubmitMsg
;
typedef
struct
{
...
...
@@ -680,7 +680,7 @@ typedef struct STableMetaMsg {
typedef
struct
SMultiTableMeta
{
int32_t
numOfTables
;
int32_t
contLen
;
STableMetaMsg
metas
[];
char
metas
[];
}
SMultiTableMeta
;
typedef
struct
{
...
...
src/kit/shell/CMakeLists.txt
浏览文件 @
b777a670
...
...
@@ -22,7 +22,7 @@ IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
# ENDIF ()
SET_TARGET_PROPERTIES
(
shell PROPERTIES OUTPUT_NAME taos
)
ELSEIF
(
TD_WINDOWS
_64
)
ELSEIF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/pthread
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/regex
)
LIST
(
APPEND SRC ./src/shellEngine.c
)
...
...
src/os/inc/osDarwin.h
浏览文件 @
b777a670
...
...
@@ -13,8 +13,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef TDENGINE_
PLATFORM_LINUX
_H
#define TDENGINE_
PLATFORM_LINUX
_H
#ifndef TDENGINE_
OS_DARWIN
_H
#define TDENGINE_
OS_DARWIN
_H
#ifdef __cplusplus
extern
"C"
{
...
...
src/os/inc/osFile.h
浏览文件 @
b777a670
...
...
@@ -56,6 +56,22 @@ int32_t taosFileRename(char *fullPath, char *suffix, char delimiter, char **dstP
// TAOS_OS_FUNC_FILE_GETTMPFILEPATH
void
taosGetTmpfilePath
(
const
char
*
fileNamePrefix
,
char
*
dstPath
);
#ifdef TAOS_OS_FUNC_FILE_ISDIR
#define S_ISDIR(m) (((m) & 0170000) == (0040000))
#endif
#ifdef TAOS_OS_FUNC_FILE_ISREG
#define S_ISREG(m) !(S_ISDIR(m))
#endif
#ifdef TAOS_OS_FUNC_FILE_ISLNK
#define S_ISLNK(m) 0
#endif
#ifndef TAOS_OS_FUNC_FILE_FTRUNCATE
#define taosFtruncate ftruncate
#endif
#ifdef __cplusplus
}
#endif
...
...
src/os/inc/osLinux32.h
浏览文件 @
b777a670
...
...
@@ -13,8 +13,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef TDENGINE_OS_LINUX
64
_H
#define TDENGINE_OS_LINUX
64
_H
#ifndef TDENGINE_OS_LINUX
32
_H
#define TDENGINE_OS_LINUX
32
_H
#ifdef __cplusplus
extern
"C"
{
...
...
src/os/inc/osMemory.h
浏览文件 @
b777a670
...
...
@@ -74,9 +74,9 @@ void taosTMemset(void *ptr, int c);
#define taosCalloc(num, size) taos_calloc(num, size, __FILE__, __LINE__)
#define taosRealloc(ptr, size) taos_realloc(ptr, size, __FILE__, __LINE__)
#define taosFree(ptr) taos_free(ptr, __FILE__, __LINE__)
#define taosStrdup(str) taos_strdup(str, __FILE__, __LINE__)
#define taosStrndup(str, size) taos_strndup(str, size, __FILE__, __LINE__)
#define taosGetline(lineptr, n, stream) taos_getline(lineptr, n, stream, __FILE__, __LINE__)
//
#define taosStrdup(str) taos_strdup(str, __FILE__, __LINE__)
//
#define taosStrndup(str, size) taos_strndup(str, size, __FILE__, __LINE__)
//
#define taosGetline(lineptr, n, stream) taos_getline(lineptr, n, stream, __FILE__, __LINE__)
#endif
#endif
...
...
src/os/inc/osSemphone.h
浏览文件 @
b777a670
...
...
@@ -31,6 +31,7 @@ extern "C" {
// TAOS_OS_FUNC_SEMPHONE_PTHREAD
bool
taosCheckPthreadValid
(
pthread_t
thread
);
int64_t
taosGetPthreadId
();
void
taosResetPthread
(
pthread_t
*
thread
);
#ifdef __cplusplus
}
...
...
src/os/inc/osWindows.h
浏览文件 @
b777a670
...
...
@@ -13,8 +13,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef TDENGINE_
PLATFORM
_WINDOWS_H
#define TDENGINE_
PLATFORM
_WINDOWS_H
#ifndef TDENGINE_
OS
_WINDOWS_H
#define TDENGINE_
OS
_WINDOWS_H
#include <assert.h>
#include <ctype.h>
...
...
@@ -60,10 +60,15 @@ extern "C" {
#define TAOS_OS_FUNC_DIR
#define TAOS_OS_FUNC_FILE
#define TAOS_OS_FUNC_FILE_ISREG
#define TAOS_OS_FUNC_FILE_ISDIR
#define TAOS_OS_FUNC_FILE_ISLNK
#define TAOS_OS_FUNC_FILE_SENDIFLE
#define taosFSendFile(outfile, infile, offset, count) taosFSendFileImp(outfile, infile, offset, size)
#define taosTSendFile(dfd, sfd, offset, size) taosTSendFileImp(dfd, sfd, offset, size)
#define TAOS_OS_FUNC_FILE_GETTMPFILEPATH
#define TAOS_OS_FUNC_FILE_FTRUNCATE
extern
int
taosFtruncate
(
int
fd
,
int64_t
length
);
#define TAOS_OS_FUNC_MATH
#define SWAP(a, b, c) \
...
...
@@ -87,6 +92,7 @@ extern "C" {
#define taosCloseSocket(fd) closesocket(fd)
#define TAOS_OS_FUNC_STRING_WCHAR
int
twcslen
(
const
wchar_t
*
wcs
);
#define TAOS_OS_FUNC_STRING_GETLINE
#define TAOS_OS_FUNC_STRING_STR2INT64
#ifdef _TD_GO_DLL_
...
...
@@ -97,7 +103,7 @@ extern "C" {
#endif
#define TAOS_OS_FUNC_STRING_STRDUP
#define taosStrdupImp(str) _strdup(str)
#define taosStrndupImp(str, size) _strndup(str, size)
#define taosStrndupImp(str, size) _strndup(str, size)
#define TAOS_OS_FUNC_SYSINFO
...
...
@@ -154,6 +160,9 @@ char * strndup(const char *s, size_t n);
#define TCP_KEEPCNT 0x1234
#define TCP_KEEPIDLE 0x1234
#define TCP_KEEPINTVL 0x1234
#define SHUT_RDWR SD_BOTH
#define SHUT_RD SD_RECEIVE
#define SHUT_WR SD_SEND
#define LOCK_EX 1
#define LOCK_NB 2
...
...
src/os/src/darwin/darwinSysInfo.c
浏览文件 @
b777a670
...
...
@@ -41,7 +41,7 @@ static void taosGetSystemLocale() {
if
(
cfg_locale
&&
cfg_locale
->
cfgStatus
<
TAOS_CFG_CSTATUS_DEFAULT
)
{
char
*
locale
=
setlocale
(
LC_CTYPE
,
"chs"
);
if
(
locale
!=
NULL
)
{
strncpy
(
tsLocale
,
locale
,
TSDB_LOCALE_LEN
-
1
);
tstrncpy
(
tsLocale
,
locale
,
TSDB_LOCALE_LEN
);
cfg_locale
->
cfgStatus
=
TAOS_CFG_CSTATUS_DEFAULT
;
uInfo
(
"locale not configured, set to default:%s"
,
tsLocale
);
}
...
...
src/os/src/detail/CMakeLists.txt
浏览文件 @
b777a670
CMAKE_MINIMUM_REQUIRED
(
VERSION 2.8
)
PROJECT
(
TDengine
)
IF
(
TD_WINDOWS
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/pthread
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/iconv
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/deps/regex
)
ENDIF
()
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/os/inc
)
INCLUDE_DIRECTORIES
(
${
TD_COMMUNITY_DIR
}
/src/util/inc
)
...
...
src/os/src/detail/osFile.c
浏览文件 @
b777a670
...
...
@@ -70,7 +70,7 @@ ssize_t taosTReadImp(int fd, void *buf, size_t count) {
char
*
tbuf
=
(
char
*
)
buf
;
while
(
leftbytes
>
0
)
{
readbytes
=
read
(
fd
,
(
void
*
)
tbuf
,
leftbytes
);
readbytes
=
read
(
fd
,
(
void
*
)
tbuf
,
(
uint32_t
)
leftbytes
);
if
(
readbytes
<
0
)
{
if
(
errno
==
EINTR
)
{
continue
;
...
...
@@ -94,7 +94,7 @@ ssize_t taosTWriteImp(int fd, void *buf, size_t n) {
char
*
tbuf
=
(
char
*
)
buf
;
while
(
nleft
>
0
)
{
nwritten
=
write
(
fd
,
(
void
*
)
tbuf
,
nleft
);
nwritten
=
write
(
fd
,
(
void
*
)
tbuf
,
(
uint32_t
)
nleft
);
if
(
nwritten
<
0
)
{
if
(
errno
==
EINTR
)
{
continue
;
...
...
@@ -105,7 +105,7 @@ ssize_t taosTWriteImp(int fd, void *buf, size_t n) {
tbuf
+=
nwritten
;
}
return
n
;
return
(
ssize_t
)
n
;
}
#ifndef TAOS_OS_FUNC_FILE_SENDIFLE
...
...
src/os/src/detail/osRand.c
浏览文件 @
b777a670
...
...
@@ -26,11 +26,11 @@ uint32_t taosSafeRand(void) {
fd
=
open
(
"/dev/urandom"
,
0
);
if
(
fd
<
0
)
{
seed
=
time
(
0
);
seed
=
(
int
)
time
(
0
);
}
else
{
int
len
=
read
(
fd
,
&
seed
,
sizeof
(
seed
));
if
(
len
<
0
)
{
seed
=
time
(
0
);
seed
=
(
int
)
time
(
0
);
}
close
(
fd
);
}
...
...
src/os/src/detail/osSemphone.c
浏览文件 @
b777a670
...
...
@@ -20,5 +20,6 @@
bool
taosCheckPthreadValid
(
pthread_t
thread
)
{
return
thread
!=
0
;
}
int64_t
taosGetPthreadId
()
{
return
(
int64_t
)
pthread_self
();
}
void
taosResetPthread
(
pthread_t
*
thread
)
{
*
thread
=
0
;
}
#endif
\ No newline at end of file
src/os/src/detail/osTime.c
浏览文件 @
b777a670
...
...
@@ -165,7 +165,7 @@ int32_t parseTimezone(char* str, int64_t* tzOffset) {
char
*
sep
=
strchr
(
&
str
[
i
],
':'
);
if
(
sep
!=
NULL
)
{
int32_t
len
=
sep
-
&
str
[
i
]
;
int32_t
len
=
(
int32_t
)(
sep
-
&
str
[
i
])
;
hour
=
strnatoi
(
&
str
[
i
],
len
);
i
+=
len
+
1
;
...
...
@@ -212,7 +212,8 @@ int32_t parseTimeWithTz(char* timestr, int64_t* time, int32_t timePrec) {
/* mktime will be affected by TZ, set by using taos_options */
#ifdef WINDOWS
int64_t
seconds
=
gmtime
(
&
tm
);
int64_t
seconds
=
user_mktime64
(
tm
.
tm_year
+
1900
,
tm
.
tm_mon
+
1
,
tm
.
tm_mday
,
tm
.
tm_hour
,
tm
.
tm_min
,
tm
.
tm_sec
);
//int64_t seconds = gmtime(&tm);
#else
int64_t
seconds
=
timegm
(
&
tm
);
#endif
...
...
src/os/src/windows/w64File.c
浏览文件 @
b777a670
...
...
@@ -15,6 +15,7 @@
#define _DEFAULT_SOURCE
#include "os.h"
#include "tulog.h"
void
taosGetTmpfilePath
(
const
char
*
fileNamePrefix
,
char
*
dstPath
)
{
const
char
*
tdengineTmpFileNamePrefix
=
"tdengine-"
;
...
...
@@ -77,4 +78,9 @@ int taosFSendFileImp(FILE* out_file, FILE* in_file, int64_t* offset, int32_t cou
ssize_t
taosTSendFileImp
(
int
dfd
,
int
sfd
,
off_t
*
offset
,
size_t
size
)
{
uError
(
"taosTSendFileImp no implemented yet"
);
return
0
;
}
int
taosFtruncate
(
int
fd
,
int64_t
length
)
{
uError
(
"taosFtruncate no implemented yet"
);
return
0
;
}
\ No newline at end of file
src/os/src/windows/w64Socket.c
浏览文件 @
b777a670
...
...
@@ -13,6 +13,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "os.h"
#include <WS2tcpip.h>
#include <IPHlpApi.h>
#include <winsock2.h>
...
...
@@ -33,7 +34,7 @@ void taosWinSocketInit() {
}
}
int
taosSetNonblocking
(
SOCKET
sock
,
int
on
)
{
int
taosSetNonblocking
(
int
sock
,
int
on
)
{
u_long
mode
;
if
(
on
)
{
mode
=
1
;
...
...
src/os/src/windows/w64String.c
浏览文件 @
b777a670
...
...
@@ -67,7 +67,7 @@ char *getpass(const char *prefix) {
}
char
*
strndup
(
const
char
*
s
,
size_t
n
)
{
in
t
len
=
strlen
(
s
);
size_
t
len
=
strlen
(
s
);
if
(
len
>=
n
)
{
len
=
n
;
}
...
...
@@ -78,13 +78,13 @@ char *strndup(const char *s, size_t n) {
return
r
;
}
size_
t
twcslen
(
const
wchar_t
*
wcs
)
{
in
t
twcslen
(
const
wchar_t
*
wcs
)
{
int
*
wstr
=
(
int
*
)
wcs
;
if
(
NULL
==
wstr
)
{
return
0
;
}
size_
t
n
=
0
;
in
t
n
=
0
;
while
(
1
)
{
if
(
0
==
*
wstr
++
)
{
break
;
...
...
src/os/src/windows/w64Sysinfo.c
浏览文件 @
b777a670
...
...
@@ -43,7 +43,7 @@ static void taosGetSystemLocale() {
if
(
cfg_locale
&&
cfg_locale
->
cfgStatus
<
TAOS_CFG_CSTATUS_DEFAULT
)
{
char
*
locale
=
setlocale
(
LC_CTYPE
,
"chs"
);
if
(
locale
!=
NULL
)
{
tstrncpy
(
tsLocale
,
locale
,
sizeof
(
tsLocale
))
;
tstrncpy
(
tsLocale
,
locale
,
TSDB_LOCALE_LEN
);
;
cfg_locale
->
cfgStatus
=
TAOS_CFG_CSTATUS_DEFAULT
;
uInfo
(
"locale not configured, set to default:%s"
,
tsLocale
);
}
...
...
src/rpc/src/rpcCache.c
浏览文件 @
b777a670
...
...
@@ -82,7 +82,7 @@ void *rpcOpenConnCache(int maxSessions, void (*cleanFp)(void *), void *tmrCtrl,
pCache
->
cleanFp
=
cleanFp
;
pCache
->
tmrCtrl
=
tmrCtrl
;
pCache
->
lockedBy
=
calloc
(
sizeof
(
int64_t
),
maxSessions
);
taosTmrReset
(
rpcCleanConnCache
,
pCache
->
keepTimer
*
2
,
pCache
,
pCache
->
tmrCtrl
,
&
pCache
->
pTimer
);
taosTmrReset
(
rpcCleanConnCache
,
(
int32_t
)(
pCache
->
keepTimer
*
2
)
,
pCache
,
pCache
->
tmrCtrl
,
&
pCache
->
pTimer
);
pthread_mutex_init
(
&
pCache
->
mutex
,
NULL
);
...
...
@@ -226,7 +226,7 @@ static void rpcCleanConnCache(void *handle, void *tmrId) {
}
// tTrace("timer, total connections in cache:%d", pCache->total);
taosTmrReset
(
rpcCleanConnCache
,
pCache
->
keepTimer
*
2
,
pCache
,
pCache
->
tmrCtrl
,
&
pCache
->
pTimer
);
taosTmrReset
(
rpcCleanConnCache
,
(
int32_t
)(
pCache
->
keepTimer
*
2
)
,
pCache
,
pCache
->
tmrCtrl
,
&
pCache
->
pTimer
);
}
static
void
rpcRemoveExpiredNodes
(
SConnCache
*
pCache
,
SConnHash
*
pNode
,
int
hash
,
uint64_t
time
)
{
...
...
src/rpc/src/rpcMain.c
浏览文件 @
b777a670
...
...
@@ -33,7 +33,7 @@
#include "rpcHead.h"
#define RPC_MSG_OVERHEAD (sizeof(SRpcReqContext) + sizeof(SRpcHead) + sizeof(SRpcDigest))
#define rpcHeadFromCont(cont) ((SRpcHead *) (cont - sizeof(SRpcHead)))
#define rpcHeadFromCont(cont) ((SRpcHead *) (
(char*)
cont - sizeof(SRpcHead)))
#define rpcContFromHead(msg) (msg + sizeof(SRpcHead))
#define rpcMsgLenFromCont(contLen) (contLen + sizeof(SRpcHead))
#define rpcContLenFromMsg(msgLen) (msgLen - sizeof(SRpcHead))
...
...
@@ -359,7 +359,7 @@ void rpcSendRequest(void *shandle, const SRpcEpSet *pEpSet, SRpcMsg *pMsg) {
SRpcReqContext
*
pContext
;
int
contLen
=
rpcCompressRpcMsg
(
pMsg
->
pCont
,
pMsg
->
contLen
);
pContext
=
(
SRpcReqContext
*
)
(
pMsg
->
pCont
-
sizeof
(
SRpcHead
)
-
sizeof
(
SRpcReqContext
));
pContext
=
(
SRpcReqContext
*
)
(
(
char
*
)
pMsg
->
pCont
-
sizeof
(
SRpcHead
)
-
sizeof
(
SRpcReqContext
));
pContext
->
ahandle
=
pMsg
->
ahandle
;
pContext
->
signature
=
pContext
;
pContext
->
pRpc
=
(
SRpcInfo
*
)
shandle
;
...
...
@@ -492,7 +492,7 @@ int rpcGetConnInfo(void *thandle, SRpcConnInfo *pInfo) {
void
rpcSendRecv
(
void
*
shandle
,
SRpcEpSet
*
pEpSet
,
SRpcMsg
*
pMsg
,
SRpcMsg
*
pRsp
)
{
SRpcReqContext
*
pContext
;
pContext
=
(
SRpcReqContext
*
)
(
pMsg
->
pCont
-
sizeof
(
SRpcHead
)
-
sizeof
(
SRpcReqContext
));
pContext
=
(
SRpcReqContext
*
)
(
(
char
*
)
pMsg
->
pCont
-
sizeof
(
SRpcHead
)
-
sizeof
(
SRpcReqContext
));
memset
(
pRsp
,
0
,
sizeof
(
SRpcMsg
));
...
...
@@ -654,7 +654,7 @@ static SRpcConn *rpcAllocateClientConn(SRpcInfo *pRpc) {
pConn
->
pRpc
=
pRpc
;
pConn
->
sid
=
sid
;
pConn
->
tranId
=
(
uint16_t
)(
random
()
&
0xFFFF
);
pConn
->
tranId
=
(
uint16_t
)(
taosRand
()
&
0xFFFF
);
pConn
->
ownId
=
htonl
(
pConn
->
sid
);
pConn
->
linkUid
=
(
uint32_t
)((
int64_t
)
pConn
+
(
int64_t
)
getpid
()
+
(
int64_t
)
pConn
->
tranId
);
pConn
->
spi
=
pRpc
->
spi
;
...
...
src/rpc/src/rpcTcp.c
浏览文件 @
b777a670
...
...
@@ -81,7 +81,7 @@ void *taosInitTcpServer(uint32_t ip, uint16_t port, char *label, int numOfThread
}
pServerObj
->
fd
=
-
1
;
pServerObj
->
thread
=
0
;
taosResetPthread
(
&
pServerObj
->
thread
)
;
pServerObj
->
ip
=
ip
;
pServerObj
->
port
=
port
;
tstrncpy
(
pServerObj
->
label
,
label
,
sizeof
(
pServerObj
->
label
));
...
...
@@ -104,7 +104,7 @@ void *taosInitTcpServer(uint32_t ip, uint16_t port, char *label, int numOfThread
pThreadObj
=
pServerObj
->
pThreadObj
;
for
(
int
i
=
0
;
i
<
numOfThreads
;
++
i
)
{
pThreadObj
->
pollFd
=
-
1
;
pThreadObj
->
thread
=
0
;
taosResetPthread
(
&
pThreadObj
->
thread
)
;
pThreadObj
->
processData
=
fp
;
tstrncpy
(
pThreadObj
->
label
,
label
,
sizeof
(
pThreadObj
->
label
));
pThreadObj
->
shandle
=
shandle
;
...
...
src/rpc/src/rpcUdp.c
浏览文件 @
b777a670
...
...
@@ -144,7 +144,9 @@ void taosStopUdpConnection(void *handle) {
for
(
int
i
=
0
;
i
<
pSet
->
threads
;
++
i
)
{
pConn
=
pSet
->
udpConn
+
i
;
if
(
pConn
->
thread
)
pthread_join
(
pConn
->
thread
,
NULL
);
if
(
taosCheckPthreadValid
(
pConn
->
thread
))
{
pthread_join
(
pConn
->
thread
,
NULL
);
}
taosTFree
(
pConn
->
buffer
);
// tTrace("%s UDP thread is closed, index:%d", pConn->label, i);
}
...
...
src/tsdb/tests/CMakeLists.txt
浏览文件 @
b777a670
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
SOURCE_LIST
)
AUX_SOURCE_DIRECTORY
(
${
CMAKE_CURRENT_SOURCE_DIR
}
SOURCE_LIST
)
add_executable
(
tsdbTests
${
SOURCE_LIST
}
)
target_link_libraries
(
tsdbTests gtest gtest_main pthread common tsdb tutil trpc
)
...
...
src/util/inc/tchecksum.h
浏览文件 @
b777a670
...
...
@@ -53,7 +53,12 @@ static FORCE_INLINE int taosCheckChecksum(const uint8_t *stream, uint32_t ssize,
static
FORCE_INLINE
int
taosCheckChecksumWhole
(
const
uint8_t
*
stream
,
uint32_t
ssize
)
{
if
(
ssize
<
sizeof
(
TSCKSUM
))
return
0
;
#if (_WIN64)
return
1
;
#else
return
*
((
TSCKSUM
*
)(
stream
+
ssize
-
sizeof
(
TSCKSUM
)))
==
(
*
crc32c
)(
0
,
stream
,
(
size_t
)(
ssize
-
sizeof
(
TSCKSUM
)));
#endif
}
#ifdef __cplusplus
...
...
src/util/inc/tcoding.h
浏览文件 @
b777a670
...
...
@@ -196,14 +196,14 @@ static FORCE_INLINE void *taosDecodeFixedI64(void *buf, int64_t *value) {
static
FORCE_INLINE
int
taosEncodeVariantU16
(
void
**
buf
,
uint16_t
value
)
{
int
i
=
0
;
while
(
value
>=
ENCODE_LIMIT
)
{
if
(
buf
!=
NULL
)
((
uint8_t
*
)(
*
buf
))[
i
]
=
(
value
|
ENCODE_LIMIT
);
if
(
buf
!=
NULL
)
((
uint8_t
*
)(
*
buf
))[
i
]
=
(
uint8_t
)(
value
|
ENCODE_LIMIT
);
value
>>=
7
;
i
++
;
ASSERT
(
i
<
3
);
}
if
(
buf
!=
NULL
)
{
((
uint8_t
*
)(
*
buf
))[
i
]
=
value
;
((
uint8_t
*
)(
*
buf
))[
i
]
=
(
uint8_t
)
value
;
*
buf
=
POINTER_SHIFT
(
*
buf
,
i
+
1
);
}
...
...
@@ -292,14 +292,14 @@ static FORCE_INLINE void *taosDecodeVariantI32(void *buf, int32_t *value) {
static
FORCE_INLINE
int
taosEncodeVariantU64
(
void
**
buf
,
uint64_t
value
)
{
int
i
=
0
;
while
(
value
>=
ENCODE_LIMIT
)
{
if
(
buf
!=
NULL
)
((
uint8_t
*
)(
*
buf
))[
i
]
=
(
value
|
ENCODE_LIMIT
);
if
(
buf
!=
NULL
)
((
uint8_t
*
)(
*
buf
))[
i
]
=
(
uint8_t
)(
value
|
ENCODE_LIMIT
);
value
>>=
7
;
i
++
;
ASSERT
(
i
<
10
);
}
if
(
buf
!=
NULL
)
{
((
uint8_t
*
)(
*
buf
))[
i
]
=
value
;
((
uint8_t
*
)(
*
buf
))[
i
]
=
(
uint8_t
)
value
;
*
buf
=
POINTER_SHIFT
(
*
buf
,
i
+
1
);
}
...
...
@@ -346,7 +346,7 @@ static FORCE_INLINE int taosEncodeString(void **buf, char *value) {
memcpy
(
*
buf
,
value
,
size
);
*
buf
=
POINTER_SHIFT
(
*
buf
,
size
);
}
tlen
+=
size
;
tlen
+=
(
int
)
size
;
return
tlen
;
}
...
...
src/util/inc/tconfig.h
浏览文件 @
b777a670
...
...
@@ -68,7 +68,7 @@ typedef struct {
int8_t
cfgStatus
;
int8_t
unitType
;
int8_t
valType
;
uint32_t
ptrLength
;
int32_t
ptrLength
;
}
SGlobalCfg
;
extern
SGlobalCfg
tsGlobalConfig
[];
...
...
src/util/inc/tstoken.h
浏览文件 @
b777a670
...
...
@@ -82,7 +82,7 @@ static FORCE_INLINE int32_t isValidNumber(const SSQLToken* pToken) {
const
char
*
z
=
pToken
->
z
;
int32_t
type
=
TK_ILLEGAL
;
int32_t
i
=
0
;
u
int32_t
i
=
0
;
for
(;
i
<
pToken
->
n
;
++
i
)
{
switch
(
z
[
i
])
{
case
'+'
:
...
...
src/util/src/hash.c
浏览文件 @
b777a670
...
...
@@ -81,7 +81,7 @@ static FORCE_INLINE void __lock_destroy(void *lock) {
static
FORCE_INLINE
int32_t
taosHashCapacity
(
int32_t
length
)
{
int32_t
len
=
MIN
(
length
,
HASH_MAX_CAPACITY
);
u
int32_t
i
=
4
;
int32_t
i
=
4
;
while
(
i
<
len
)
i
=
(
i
<<
1u
);
return
i
;
}
...
...
@@ -176,7 +176,7 @@ SHashObj *taosHashInit(size_t capacity, _hash_fn_t fn, bool threadsafe) {
}
// the max slots is not defined by user
pHashObj
->
capacity
=
taosHashCapacity
(
capacity
);
pHashObj
->
capacity
=
taosHashCapacity
(
(
int32_t
)
capacity
);
assert
((
pHashObj
->
capacity
&
(
pHashObj
->
capacity
-
1
))
==
0
);
pHashObj
->
hashFp
=
fn
;
...
...
@@ -219,7 +219,7 @@ int32_t taosHashPut(SHashObj *pHashObj, const void *key, size_t keyLen, void *da
__wr_lock
(
pHashObj
->
lock
);
uint32_t
hashVal
=
0
;
SHashNode
*
pNode
=
doGetNodeFromHashTable
(
pHashObj
,
key
,
keyLen
,
&
hashVal
);
SHashNode
*
pNode
=
doGetNodeFromHashTable
(
pHashObj
,
key
,
(
uint32_t
)
keyLen
,
&
hashVal
);
if
(
pNode
==
NULL
)
{
// no data in hash table with the specified key, add it into hash table
taosHashTableResize
(
pHashObj
);
...
...
@@ -261,7 +261,7 @@ void *taosHashGet(SHashObj *pHashObj, const void *key, size_t keyLen) {
__rd_lock
(
pHashObj
->
lock
);
uint32_t
hashVal
=
0
;
SHashNode
*
pNode
=
doGetNodeFromHashTable
(
pHashObj
,
key
,
keyLen
,
&
hashVal
);
SHashNode
*
pNode
=
doGetNodeFromHashTable
(
pHashObj
,
key
,
(
int32_t
)
keyLen
,
&
hashVal
);
__unlock
(
pHashObj
->
lock
);
...
...
@@ -278,7 +278,7 @@ void taosHashRemove(SHashObj *pHashObj, const void *key, size_t keyLen) {
__wr_lock
(
pHashObj
->
lock
);
uint32_t
val
=
0
;
SHashNode
*
pNode
=
doGetNodeFromHashTable
(
pHashObj
,
key
,
keyLen
,
&
val
);
SHashNode
*
pNode
=
doGetNodeFromHashTable
(
pHashObj
,
key
,
(
uint32_t
)
keyLen
,
&
val
);
if
(
pNode
==
NULL
)
{
__unlock
(
pHashObj
->
lock
);
return
;
...
...
@@ -460,7 +460,7 @@ void taosHashTableResize(SHashObj *pHashObj) {
SHashNode
*
pNode
=
NULL
;
SHashNode
*
pNext
=
NULL
;
int32_t
newSize
=
pHashObj
->
capacity
<<
1u
;
int32_t
newSize
=
(
int32_t
)(
pHashObj
->
capacity
)
<<
1u
;
if
(
newSize
>
HASH_MAX_CAPACITY
)
{
// uDebug("current capacity:%d, maximum capacity:%d, no resize applied due to limitation is reached",
// pHashObj->capacity, HASH_MAX_CAPACITY);
...
...
@@ -539,7 +539,7 @@ SHashNode *doCreateHashNode(const void *key, size_t keyLen, const void *pData, s
pNewNode
->
key
=
pNewNode
->
data
+
dsize
;
memcpy
(
pNewNode
->
key
,
key
,
keyLen
);
pNewNode
->
keyLen
=
keyLen
;
pNewNode
->
keyLen
=
(
uint32_t
)
keyLen
;
pNewNode
->
hashVal
=
hashVal
;
return
pNewNode
;
...
...
src/util/src/talgo.c
浏览文件 @
b777a670
...
...
@@ -24,7 +24,7 @@
} while (0);
static
void
median
(
void
*
src
,
size_t
size
,
size_t
s
,
size_t
e
,
const
void
*
param
,
__ext_compar_fn_t
comparFn
,
void
*
buf
)
{
int32_t
mid
=
((
e
-
s
)
>>
1u
)
+
s
;
int32_t
mid
=
((
int32_t
)(
e
-
s
)
>>
1u
)
+
(
int32_t
)
s
;
if
(
comparFn
(
elePtrAt
(
src
,
size
,
mid
),
elePtrAt
(
src
,
size
,
s
),
param
)
==
1
)
{
doswap
(
elePtrAt
(
src
,
size
,
mid
),
elePtrAt
(
src
,
size
,
s
),
size
,
buf
);
...
...
@@ -152,14 +152,14 @@ static void tqsortImpl(void *src, int32_t start, int32_t end, size_t size, const
void
taosqsort
(
void
*
src
,
size_t
numOfElem
,
size_t
size
,
const
void
*
param
,
__ext_compar_fn_t
comparFn
)
{
char
*
buf
=
calloc
(
1
,
size
);
// prepare the swap buffer
tqsortImpl
(
src
,
0
,
numOfElem
-
1
,
size
,
param
,
comparFn
,
buf
);
tqsortImpl
(
src
,
0
,
(
int32_t
)
numOfElem
-
1
,
(
int32_t
)
size
,
param
,
comparFn
,
buf
);
taosTFree
(
buf
);
}
void
*
taosbsearch
(
const
void
*
key
,
const
void
*
base
,
size_t
nmemb
,
size_t
size
,
__compar_fn_t
compar
,
int
flags
)
{
// TODO: need to check the correctness of this function
int
l
=
0
;
int
r
=
nmemb
;
int
r
=
(
int
)
nmemb
;
int
idx
=
0
;
int
comparison
;
...
...
src/util/src/tarray.c
浏览文件 @
b777a670
...
...
@@ -120,8 +120,8 @@ void* taosArrayInsert(SArray* pArray, size_t index, void* pData) {
void
*
dst
=
TARRAY_GET_ELEM
(
pArray
,
index
);
int32_t
remain
=
pArray
->
size
-
index
;
memmove
(
dst
+
pArray
->
elemSize
,
dst
,
pArray
->
elemSize
*
remain
);
int32_t
remain
=
(
int32_t
)(
pArray
->
size
-
index
)
;
memmove
(
(
char
*
)
dst
+
pArray
->
elemSize
,
(
char
*
)
dst
,
pArray
->
elemSize
*
remain
);
memcpy
(
dst
,
pData
,
pArray
->
elemSize
);
pArray
->
size
+=
1
;
...
...
@@ -138,7 +138,7 @@ void taosArrayRemove(SArray* pArray, size_t index) {
}
size_t
remain
=
pArray
->
size
-
index
-
1
;
memmove
(
pArray
->
pData
+
index
*
pArray
->
elemSize
,
pArray
->
pData
+
(
index
+
1
)
*
pArray
->
elemSize
,
remain
*
pArray
->
elemSize
);
memmove
(
(
char
*
)
pArray
->
pData
+
index
*
pArray
->
elemSize
,
(
char
*
)
pArray
->
pData
+
(
index
+
1
)
*
pArray
->
elemSize
,
remain
*
pArray
->
elemSize
);
pArray
->
size
-=
1
;
}
...
...
src/util/src/tbuffer.c
浏览文件 @
b777a670
...
...
@@ -17,7 +17,6 @@
#include <stdlib.h>
#include <memory.h>
#include <assert.h>
#include <arpa/inet.h>
#include "tbuffer.h"
#include "exception.h"
#include <taoserror.h>
...
...
src/util/src/tcache.c
浏览文件 @
b777a670
...
...
@@ -292,7 +292,7 @@ void *taosCachePut(SCacheObj *pCacheObj, const void *key, size_t keyLen, const v
uError
(
"cache:%s, key:%p, failed to added into cache, out of memory"
,
pCacheObj
->
name
,
key
);
}
}
else
{
// old data exists, update the node
pNode
=
taosUpdateCacheImpl
(
pCacheObj
,
pOld
,
key
,
keyLen
,
pData
,
dataSize
,
duration
*
1000L
);
pNode
=
taosUpdateCacheImpl
(
pCacheObj
,
pOld
,
key
,
(
int32_t
)
keyLen
,
pData
,
(
uint32_t
)
dataSize
,
duration
*
1000L
);
uDebug
(
"cache:%s, key:%p, %p exist in cache, updated old:%p"
,
pCacheObj
->
name
,
key
,
pNode
->
data
,
pOld
);
}
...
...
@@ -509,7 +509,7 @@ SCacheDataNode *taosCreateCacheNode(const char *key, size_t keyLen, const char *
memcpy
(
pNewNode
->
data
,
pData
,
size
);
pNewNode
->
key
=
(
char
*
)
pNewNode
+
sizeof
(
SCacheDataNode
)
+
size
;
pNewNode
->
keySize
=
keyLen
;
pNewNode
->
keySize
=
(
uint16_t
)
keyLen
;
memcpy
(
pNewNode
->
key
,
key
,
keyLen
);
...
...
@@ -645,7 +645,7 @@ static void doCacheRefresh(SCacheObj* pCacheObj, int64_t time, __cache_free_fn_t
while
(
taosHashIterNext
(
pIter
))
{
SCacheDataNode
*
pNode
=
*
(
SCacheDataNode
**
)
taosHashIterGet
(
pIter
);
if
(
pNode
->
expireTime
<
time
&&
T_REF_VAL_GET
(
pNode
)
<=
0
)
{
if
(
pNode
->
expireTime
<
(
uint64_t
)
time
&&
T_REF_VAL_GET
(
pNode
)
<=
0
)
{
taosCacheReleaseNode
(
pCacheObj
,
pNode
);
continue
;
}
...
...
src/util/src/tcompression.c
浏览文件 @
b777a670
...
...
@@ -52,14 +52,13 @@
#include "tscompression.h"
#include "taosdef.h"
const
int
TEST_NUMBER
=
1
;
static
const
int
TEST_NUMBER
=
1
;
#define is_bigendian() ((*(char *)&TEST_NUMBER) == 0)
#define SIMPLE8B_MAX_INT64 ((uint64_t)2305843009213693951L)
bool
safeInt64Add
(
int64_t
a
,
int64_t
b
)
{
if
((
a
>
0
&&
b
>
INT64_MAX
-
a
)
||
(
a
<
0
&&
b
<
INT64_MIN
-
a
))
return
false
;
return
true
;
}
#define safeInt64Add(a, b) (((a >= 0) && (b <= INT64_MAX - a)) || ((a < 0) && (b >= INT64_MIN - a)))
#define ZIGZAG_ENCODE(T, v) ((u##T)((v) >> (sizeof(T) * 8 - 1))) ^ (((u##T)(v)) << 1) // zigzag encode
#define ZIGZAG_DECODE(T, v) ((v) >> 1) ^ -((T)((v)&1)) // zigzag decode
/*
* Compress Integer (Simple8B).
...
...
@@ -90,7 +89,7 @@ int tsCompressINTImp(const char *const input, const int nelements, char *const o
break
;
default:
perror
(
"Wrong integer types.
\n
"
);
exit
(
1
)
;
return
-
1
;
}
int
byte_limit
=
nelements
*
word_length
+
1
;
...
...
@@ -125,11 +124,11 @@ int tsCompressINTImp(const char *const input, const int nelements, char *const o
int64_t
diff
=
curr_value
-
prev_value_tmp
;
// Zigzag encode the value.
uint64_t
zigzag_value
=
(
diff
>>
(
LONG_BYTES
*
BITS_PER_BYTE
-
1
))
^
(
diff
<<
1
);
uint64_t
zigzag_value
=
ZIGZAG_ENCODE
(
int64_t
,
diff
);
if
(
zigzag_value
>=
SIMPLE8B_MAX_INT64
)
goto
_copy_and_exit
;
char
tmp_bit
;
int64_t
tmp_bit
;
if
(
zigzag_value
==
0
)
{
// Take care here, __builtin_clzl give wrong anser for value 0;
tmp_bit
=
0
;
...
...
@@ -171,7 +170,7 @@ int tsCompressINTImp(const char *const input, const int nelements, char *const o
break
;
}
int64_t
diff
=
curr_value
-
prev_value
;
uint64_t
zigzag_value
=
(
diff
>>
(
LONG_BYTES
*
BITS_PER_BYTE
-
1
))
^
(
diff
<<
1
);
uint64_t
zigzag_value
=
ZIGZAG_ENCODE
(
int64_t
,
diff
);
buffer
|=
((
zigzag_value
&
INT64MASK
(
bit
))
<<
(
bit
*
k
+
4
));
i
++
;
prev_value
=
curr_value
;
...
...
@@ -211,7 +210,7 @@ int tsDecompressINTImp(const char *const input, const int nelements, char *const
break
;
default:
perror
(
"Wrong integer types.
\n
"
);
exit
(
1
)
;
return
-
1
;
}
// If not compressed.
...
...
@@ -248,30 +247,30 @@ int tsDecompressINTImp(const char *const input, const int nelements, char *const
}
else
{
zigzag_value
=
((
w
>>
(
4
+
bit
*
i
))
&
INT64MASK
(
bit
));
}
int64_t
diff
=
(
zigzag_value
>>
1
)
^
-
(
zigzag_value
&
1
);
int64_t
diff
=
ZIGZAG_DECODE
(
int64_t
,
zigzag_value
);
int64_t
curr_value
=
diff
+
prev_value
;
prev_value
=
curr_value
;
switch
(
type
)
{
case
TSDB_DATA_TYPE_BIGINT
:
*
((
int64_t
*
)
output
+
_pos
)
=
curr_value
;
*
((
int64_t
*
)
output
+
_pos
)
=
(
int64_t
)
curr_value
;
_pos
++
;
break
;
case
TSDB_DATA_TYPE_INT
:
*
((
int32_t
*
)
output
+
_pos
)
=
curr_value
;
*
((
int32_t
*
)
output
+
_pos
)
=
(
int32_t
)
curr_value
;
_pos
++
;
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
((
int16_t
*
)
output
+
_pos
)
=
curr_value
;
*
((
int16_t
*
)
output
+
_pos
)
=
(
int16_t
)
curr_value
;
_pos
++
;
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
((
int8_t
*
)
output
+
_pos
)
=
curr_value
;
*
((
int8_t
*
)
output
+
_pos
)
=
(
int8_t
)
curr_value
;
_pos
++
;
break
;
default:
perror
(
"Wrong integer types.
\n
"
);
exit
(
1
)
;
return
-
1
;
}
count
++
;
if
(
count
==
nelements
)
break
;
...
...
@@ -309,7 +308,7 @@ int tsCompressBoolImp(const char *const input, const int nelements, char *const
output
[
pos
]
|=
t
;
}
else
{
perror
(
"Wrong bool value.
\n
"
);
exit
(
1
)
;
return
-
1
;
}
}
...
...
@@ -365,7 +364,7 @@ int tsCompressBoolRLEImp(const char *const input, const int nelements, char *con
output
[
_pos
++
]
=
(
counter
<<
1
)
|
INT8MASK
(
0
);
}
else
{
perror
(
"Wrong bool value!
\n
"
);
exit
(
1
)
;
return
-
1
;
}
}
...
...
@@ -417,7 +416,7 @@ int tsDecompressStringImp(const char *const input, int compressedSize, char *con
char
msg
[
128
]
=
{
0
};
sprintf
(
msg
,
"decomp_size:%d, Error decompress in LZ4 algorithm!
\n
"
,
decompressed_size
);
perror
(
msg
);
exit
(
EXIT_FAILURE
)
;
return
-
1
;
}
return
decompressed_size
;
...
...
@@ -427,7 +426,7 @@ int tsDecompressStringImp(const char *const input, int compressedSize, char *con
return
compressedSize
-
1
;
}
else
{
perror
(
"Wrong compressed string indicator!
\n
"
);
exit
(
EXIT_FAILURE
)
;
return
-
1
;
}
}
...
...
@@ -454,21 +453,21 @@ int tsCompressTimestampImp(const char *const input, const int nelements, char *c
if
(
!
safeInt64Add
(
curr_delta
,
-
prev_delta
))
goto
_exit_over
;
int64_t
delta_of_delta
=
curr_delta
-
prev_delta
;
// zigzag encode the value.
uint64_t
zigzag_value
=
(
delta_of_delta
>>
(
LONG_BYTES
*
BITS_PER_BYTE
-
1
))
^
(
delta_of_delta
<<
1
);
uint64_t
zigzag_value
=
ZIGZAG_ENCODE
(
int64_t
,
delta_of_delta
);
if
(
i
%
2
==
0
)
{
flags
=
0
;
dd1
=
zigzag_value
;
if
(
dd1
==
0
)
{
flag1
=
0
;
}
else
{
flag1
=
LONG_BYTES
-
BUILDIN_CLZL
(
dd1
)
/
BITS_PER_BYTE
;
flag1
=
(
uint8_t
)(
LONG_BYTES
-
BUILDIN_CLZL
(
dd1
)
/
BITS_PER_BYTE
)
;
}
}
else
{
dd2
=
zigzag_value
;
if
(
dd2
==
0
)
{
flag2
=
0
;
}
else
{
flag2
=
LONG_BYTES
-
BUILDIN_CLZL
(
dd2
)
/
BITS_PER_BYTE
;
flag2
=
(
uint8_t
)(
LONG_BYTES
-
BUILDIN_CLZL
(
dd2
)
/
BITS_PER_BYTE
)
;
}
flags
=
flag1
|
(
flag2
<<
4
);
// Encode the flag.
...
...
@@ -555,7 +554,7 @@ int tsDecompressTimestampImp(const char *const input, const int nelements, char
}
else
{
memcpy
(
&
dd1
,
input
+
ipos
,
nbytes
);
}
delta_of_delta
=
(
dd1
>>
1
)
^
-
(
dd1
&
1
);
delta_of_delta
=
ZIGZAG_DECODE
(
int64_t
,
dd
1
);
}
ipos
+=
nbytes
;
if
(
opos
==
0
)
{
...
...
@@ -581,7 +580,7 @@ int tsDecompressTimestampImp(const char *const input, const int nelements, char
memcpy
(
&
dd2
,
input
+
ipos
,
nbytes
);
}
// zigzag_decoding
delta_of_delta
=
(
dd2
>>
1
)
^
-
(
dd2
&
1
);
delta_of_delta
=
ZIGZAG_DECODE
(
int64_t
,
dd2
);
}
ipos
+=
nbytes
;
prev_delta
=
delta_of_delta
+
prev_delta
;
...
...
@@ -643,12 +642,12 @@ int tsCompressDoubleImp(const char *const input, const int nelements, char *cons
uint8_t
flag
;
if
(
trailing_zeros
>
leading_zeros
)
{
nbytes
=
LONG_BYTES
-
trailing_zeros
/
BITS_PER_BYTE
;
nbytes
=
(
uint8_t
)(
LONG_BYTES
-
trailing_zeros
/
BITS_PER_BYTE
)
;
if
(
nbytes
>
0
)
nbytes
--
;
flag
=
((
uint8_t
)
1
<<
3
)
|
nbytes
;
}
else
{
nbytes
=
LONG_BYTES
-
leading_zeros
/
BITS_PER_BYTE
;
nbytes
=
(
uint8_t
)(
LONG_BYTES
-
leading_zeros
/
BITS_PER_BYTE
)
;
if
(
nbytes
>
0
)
nbytes
--
;
flag
=
nbytes
;
}
...
...
@@ -790,12 +789,12 @@ int tsCompressFloatImp(const char *const input, const int nelements, char *const
uint8_t
flag
;
if
(
trailing_zeros
>
leading_zeros
)
{
nbytes
=
FLOAT_BYTES
-
trailing_zeros
/
BITS_PER_BYTE
;
nbytes
=
(
uint8_t
)(
FLOAT_BYTES
-
trailing_zeros
/
BITS_PER_BYTE
)
;
if
(
nbytes
>
0
)
nbytes
--
;
flag
=
((
uint8_t
)
1
<<
3
)
|
nbytes
;
}
else
{
nbytes
=
FLOAT_BYTES
-
leading_zeros
/
BITS_PER_BYTE
;
nbytes
=
(
uint8_t
)(
FLOAT_BYTES
-
leading_zeros
/
BITS_PER_BYTE
)
;
if
(
nbytes
>
0
)
nbytes
--
;
flag
=
nbytes
;
}
...
...
src/util/src/tconfig.c
浏览文件 @
b777a670
...
...
@@ -98,7 +98,7 @@ static void taosReadInt16Config(SGlobalCfg *cfg, char *input_value) {
}
static
void
taosReadDirectoryConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int
length
=
strlen
(
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"
,
...
...
@@ -150,7 +150,7 @@ static void taosReadIpStrConfig(SGlobalCfg *cfg, char *input_value) {
}
static
void
taosReadStringConfig
(
SGlobalCfg
*
cfg
,
char
*
input_value
)
{
int
length
=
strlen
(
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"
,
...
...
@@ -283,7 +283,7 @@ void taosReadGlobalLogCfg() {
option
=
value
=
NULL
;
olen
=
vlen
=
0
;
g
etline
(
&
line
,
&
len
,
fp
);
taosG
etline
(
&
line
,
&
len
,
fp
);
line
[
len
-
1
]
=
0
;
paGetToken
(
line
,
&
option
,
&
olen
);
...
...
@@ -329,7 +329,7 @@ bool taosReadGlobalCfg() {
option
=
value
=
NULL
;
olen
=
vlen
=
0
;
g
etline
(
&
line
,
&
len
,
fp
);
taosG
etline
(
&
line
,
&
len
,
fp
);
line
[
len
-
1
]
=
0
;
paGetToken
(
line
,
&
option
,
&
olen
);
...
...
src/util/src/tcrc32c.c
浏览文件 @
b777a670
...
...
@@ -1353,12 +1353,12 @@ uint32_t crc32c_hw(uint32_t crc, crc_stream buf, size_t len) {
#endif // #ifndef _TD_ARM_
void
taosResolveCRC
()
{
#ifndef _TD_ARM_
#if defined _TD_ARM_ || defined WINDOWS
crc32c
=
crc32c_sf
;
#else
int
sse42
;
SSE42
(
sse42
);
crc32c
=
sse42
?
crc32c_hw
:
crc32c_sf
;
#else
crc32c
=
crc32c_sf
;
#endif
/* return sse42 ? crc32c_hw(crci, bytes, len) : crc32c_sf(crci, bytes, len);
*/
...
...
src/util/src/terror.c
浏览文件 @
b777a670
...
...
@@ -49,7 +49,7 @@ static int tsCompareTaosError(const void* a, const void* b) {
}
static
pthread_once_t
tsErrorInit
=
PTHREAD_ONCE_INIT
;
static
void
tsSortError
()
{
static
void
tsSortError
(
void
)
{
qsort
(
errors
,
sizeof
(
errors
)
/
sizeof
(
errors
[
0
]),
sizeof
(
errors
[
0
]),
tsCompareTaosError
);
}
...
...
src/util/src/thashutil.c
浏览文件 @
b777a670
...
...
@@ -78,7 +78,7 @@ uint32_t taosIntHash_64(const char *key, uint32_t UNUSED_PARAM(len)) {
uint64_t
hash
=
val
>>
16U
;
hash
+=
(
val
&
0xFFFFU
);
return
hash
;
return
(
uint32_t
)
hash
;
}
_hash_fn_t
taosGetDefaultHashFunction
(
int32_t
type
)
{
...
...
src/util/src/tkvstore.c
浏览文件 @
b777a670
...
...
@@ -120,7 +120,7 @@ SKVStore *tdOpenKVStore(char *fname, iterFunc iFunc, afterFunc aFunc, void *appH
version
,
KVSTORE_FILE_VERSION
);
}
if
(
f
truncate
(
pStore
->
fd
,
info
.
size
)
<
0
)
{
if
(
taosF
truncate
(
pStore
->
fd
,
info
.
size
)
<
0
)
{
uError
(
"failed to truncate %s to %"
PRId64
" size since %s"
,
pStore
->
fname
,
info
.
size
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
...
...
@@ -296,7 +296,7 @@ int tdDropKVStoreRecord(SKVStore *pStore, uint64_t uid) {
return
-
1
;
}
pStore
->
info
.
magic
=
taosCalcChecksum
(
pStore
->
info
.
magic
,
(
uint8_t
*
)
buf
,
POINTER_DISTANCE
(
pBuf
,
buf
));
pStore
->
info
.
magic
=
taosCalcChecksum
(
pStore
->
info
.
magic
,
(
uint8_t
*
)
buf
,
(
uint32_t
)
POINTER_DISTANCE
(
pBuf
,
buf
));
pStore
->
info
.
size
+=
POINTER_DISTANCE
(
pBuf
,
buf
);
pStore
->
info
.
nDels
++
;
pStore
->
info
.
nRecords
--
;
...
...
@@ -498,7 +498,7 @@ static void *tdDecodeKVRecord(void *buf, SKVRecord *pRecord) {
static
int
tdRestoreKVStore
(
SKVStore
*
pStore
)
{
char
tbuf
[
128
]
=
"
\0
"
;
void
*
buf
=
NULL
;
int
maxBufSize
=
0
;
int
64_t
maxBufSize
=
0
;
SKVRecord
rInfo
=
{
0
};
SHashMutableIterator
*
pIter
=
NULL
;
...
...
@@ -535,7 +535,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
maxBufSize
=
MAX
(
maxBufSize
,
rInfo
.
size
);
if
(
lseek
(
pStore
->
fd
,
rInfo
.
size
,
SEEK_CUR
)
<
0
)
{
if
(
lseek
(
pStore
->
fd
,
(
off_t
)
rInfo
.
size
,
SEEK_CUR
)
<
0
)
{
uError
(
"failed to lseek file %s since %s"
,
pStore
->
fname
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
...
...
@@ -548,7 +548,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
buf
=
malloc
(
maxBufSize
);
if
(
buf
==
NULL
)
{
uError
(
"failed to allocate %
d
bytes in KV store %s"
,
maxBufSize
,
pStore
->
fname
);
uError
(
"failed to allocate %
"
PRId64
"
bytes in KV store %s"
,
maxBufSize
,
pStore
->
fname
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
}
...
...
@@ -563,7 +563,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
while
(
taosHashIterNext
(
pIter
))
{
SKVRecord
*
pRecord
=
taosHashIterGet
(
pIter
);
if
(
lseek
(
pStore
->
fd
,
pRecord
->
offset
+
sizeof
(
SKVRecord
),
SEEK_SET
)
<
0
)
{
if
(
lseek
(
pStore
->
fd
,
(
off_t
)(
pRecord
->
offset
+
sizeof
(
SKVRecord
)
),
SEEK_SET
)
<
0
)
{
uError
(
"failed to lseek file %s since %s, offset %"
PRId64
,
pStore
->
fname
,
strerror
(
errno
),
pRecord
->
offset
);
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
goto
_err
;
...
...
@@ -577,7 +577,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
}
if
(
pStore
->
iFunc
)
{
if
((
*
pStore
->
iFunc
)(
pStore
->
appH
,
buf
,
pRecord
->
size
)
<
0
)
{
if
((
*
pStore
->
iFunc
)(
pStore
->
appH
,
buf
,
(
int
)
pRecord
->
size
)
<
0
)
{
uError
(
"failed to restore record uid %"
PRIu64
" in kv store %s at offset %"
PRId64
" size %"
PRId64
" since %s"
,
pRecord
->
uid
,
pStore
->
fname
,
pRecord
->
offset
,
pRecord
->
size
,
tstrerror
(
terrno
));
...
...
src/util/src/tlog.c
浏览文件 @
b777a670
...
...
@@ -65,7 +65,7 @@ typedef struct {
int32_t
tsAsyncLog
=
1
;
float
tsTotalLogDirGB
=
0
;
float
tsAvailLogDirGB
=
0
;
float
tsMinimalLogDirGB
=
0
.
1
;
float
tsMinimalLogDirGB
=
0
.
1
f
;
char
tsLogDir
[
TSDB_FILENAME_LEN
]
=
"/var/log/taos"
;
static
SLogObj
tsLogObj
=
{
.
fileNum
=
1
};
...
...
src/util/src/tmempool.c
浏览文件 @
b777a670
...
...
@@ -13,11 +13,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "os.h"
#include "tulog.h"
#include "tmempool.h"
#include "tutil.h"
...
...
src/util/src/tsched.c
浏览文件 @
b777a670
...
...
@@ -192,12 +192,12 @@ void taosCleanUpScheduler(void *param) {
pSched
->
stop
=
true
;
for
(
int
i
=
0
;
i
<
pSched
->
numOfThreads
;
++
i
)
{
if
(
pSched
->
qthread
[
i
]
)
{
if
(
taosCheckPthreadValid
(
pSched
->
qthread
[
i
])
)
{
tsem_post
(
&
pSched
->
fullSem
);
}
}
for
(
int
i
=
0
;
i
<
pSched
->
numOfThreads
;
++
i
)
{
if
(
pSched
->
qthread
[
i
]
)
{
if
(
taosCheckPthreadValid
(
pSched
->
qthread
[
i
])
)
{
pthread_join
(
pSched
->
qthread
[
i
],
NULL
);
}
}
...
...
src/util/src/tskiplist.c
浏览文件 @
b777a670
...
...
@@ -19,7 +19,7 @@
#include "tutil.h"
#include "tcompare.h"
__attribute__
((
unused
))
static
FORCE_INLINE
void
recordNodeEachLevel
(
SSkipList
*
pSkipList
,
int32_t
level
)
{
// record link count in each level
UNUSED_FUNC
static
FORCE_INLINE
void
recordNodeEachLevel
(
SSkipList
*
pSkipList
,
int32_t
level
)
{
// record link count in each level
#if SKIP_LIST_RECORD_PERFORMANCE
for
(
int32_t
i
=
0
;
i
<
level
;
++
i
)
{
pSkipList
->
state
.
nLevelNodeCnt
[
i
]
++
;
...
...
@@ -27,7 +27,7 @@ __attribute__ ((unused)) static FORCE_INLINE void recordNodeEachLevel(SSkipList
#endif
}
__attribute__
((
unused
))
static
FORCE_INLINE
void
removeNodeEachLevel
(
SSkipList
*
pSkipList
,
int32_t
level
)
{
UNUSED_FUNC
static
FORCE_INLINE
void
removeNodeEachLevel
(
SSkipList
*
pSkipList
,
int32_t
level
)
{
#if SKIP_LIST_RECORD_PERFORMANCE
for
(
int32_t
i
=
0
;
i
<
level
;
++
i
)
{
pSkipList
->
state
.
nLevelNodeCnt
[
i
]
--
;
...
...
@@ -132,7 +132,7 @@ static bool initForwardBackwardPtr(SSkipList* pSkipList) {
pSkipList
->
pTail
=
(
SSkipListNode
*
)
((
char
*
)
pSkipList
->
pHead
+
SL_NODE_HEADER_SIZE
(
maxLevel
));
pSkipList
->
pTail
->
level
=
pSkipList
->
maxLevel
;
for
(
int32_t
i
=
0
;
i
<
maxLevel
;
++
i
)
{
for
(
u
int32_t
i
=
0
;
i
<
maxLevel
;
++
i
)
{
SL_GET_FORWARD_POINTER
(
pSkipList
->
pHead
,
i
)
=
pSkipList
->
pTail
;
SL_GET_BACKWARD_POINTER
(
pSkipList
->
pTail
,
i
)
=
pSkipList
->
pHead
;
}
...
...
@@ -177,7 +177,7 @@ SSkipList *tSkipListCreate(uint8_t maxLevel, uint8_t keyType, uint8_t keyLen, ui
}
}
srand
(
time
(
NULL
));
srand
(
(
uint32_t
)
time
(
NULL
));
#if SKIP_LIST_RECORD_PERFORMANCE
pSkipList
->
state
.
nTotalMemSize
+=
sizeof
(
SSkipList
);
...
...
src/util/src/ttimer.c
浏览文件 @
b777a670
...
...
@@ -445,7 +445,7 @@ bool taosTmrStopA(tmr_h* timerId) {
bool
taosTmrReset
(
TAOS_TMR_CALLBACK
fp
,
int
mseconds
,
void
*
param
,
void
*
handle
,
tmr_h
*
pTmrId
)
{
tmr_ctrl_t
*
ctrl
=
(
tmr_ctrl_t
*
)
handle
;
if
(
ctrl
==
NULL
||
ctrl
->
label
[
0
]
==
0
)
{
return
NULL
;
return
false
;
}
uintptr_t
id
=
(
uintptr_t
)
*
pTmrId
;
...
...
@@ -491,7 +491,7 @@ static void taosTmrModuleInit(void) {
return
;
}
for
(
in
t
i
=
0
;
i
<
tsMaxTmrCtrl
-
1
;
++
i
)
{
for
(
uint32_
t
i
=
0
;
i
<
tsMaxTmrCtrl
-
1
;
++
i
)
{
tmr_ctrl_t
*
ctrl
=
tmrCtrls
+
i
;
ctrl
->
next
=
ctrl
+
1
;
}
...
...
src/util/src/tutil.c
浏览文件 @
b777a670
...
...
@@ -273,7 +273,7 @@ char *strbetween(char *string, char *begin, char *end) {
char
*
_begin
=
strstr
(
string
,
begin
);
if
(
_begin
!=
NULL
)
{
char
*
_end
=
strstr
(
_begin
+
strlen
(
begin
),
end
);
int
size
=
_end
-
_begin
;
int
size
=
(
int
)(
_end
-
_begin
)
;
if
(
_end
!=
NULL
&&
size
>
0
)
{
result
=
(
char
*
)
calloc
(
1
,
size
);
memcpy
(
result
,
_begin
+
strlen
(
begin
),
size
-
+
strlen
(
begin
));
...
...
@@ -332,7 +332,7 @@ bool taosGetVersionNumber(char *versionStr, int *versionNubmer) {
}
int
versionNumberPos
[
5
]
=
{
0
};
int
len
=
strlen
(
versionStr
);
int
len
=
(
int
)
strlen
(
versionStr
);
int
dot
=
0
;
for
(
int
pos
=
0
;
pos
<
len
&&
dot
<
4
;
++
pos
)
{
if
(
versionStr
[
pos
]
==
'.'
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录