Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
4cc94968
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看板
提交
4cc94968
编写于
10月 13, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refact: format header file
上级
b3b0e5a5
变更
52
展开全部
隐藏空白更改
内联
并排
Showing
52 changed file
with
849 addition
and
816 deletion
+849
-816
include/common/systable.h
include/common/systable.h
+8
-8
include/common/tgrant.h
include/common/tgrant.h
+17
-16
include/common/tmsgtype.h
include/common/tmsgtype.h
+5
-1
include/common/tname.h
include/common/tname.h
+1
-1
include/common/trow.h
include/common/trow.h
+5
-5
include/common/ttime.h
include/common/ttime.h
+5
-5
include/common/ttszip.h
include/common/ttszip.h
+1
-1
include/libs/catalog/catalog.h
include/libs/catalog/catalog.h
+19
-13
include/libs/executor/dataSinkMgt.h
include/libs/executor/dataSinkMgt.h
+7
-7
include/libs/function/function.h
include/libs/function/function.h
+2
-2
include/libs/function/taosudf.h
include/libs/function/taosudf.h
+54
-55
include/libs/function/tudf.h
include/libs/function/tudf.h
+10
-10
include/libs/monitor/monitor.h
include/libs/monitor/monitor.h
+0
-1
include/libs/qcom/query.h
include/libs/qcom/query.h
+44
-43
include/libs/qworker/qworker.h
include/libs/qworker/qworker.h
+5
-4
include/libs/scalar/filter.h
include/libs/scalar/filter.h
+5
-4
include/libs/scheduler/scheduler.h
include/libs/scheduler/scheduler.h
+32
-33
include/libs/sync/sync.h
include/libs/sync/sync.h
+1
-1
include/libs/tfs/tfs.h
include/libs/tfs/tfs.h
+2
-2
include/os/os.h
include/os/os.h
+15
-14
include/os/osDef.h
include/os/osDef.h
+119
-108
include/os/osDir.h
include/os/osDir.h
+19
-20
include/os/osEndian.h
include/os/osEndian.h
+1
-1
include/os/osEnv.h
include/os/osEnv.h
+1
-1
include/os/osEok.h
include/os/osEok.h
+25
-30
include/os/osLocale.h
include/os/osLocale.h
+1
-1
include/os/osLz4.h
include/os/osLz4.h
+18
-18
include/os/osMath.h
include/os/osMath.h
+23
-23
include/os/osMemory.h
include/os/osMemory.h
+10
-10
include/os/osRand.h
include/os/osRand.h
+5
-5
include/os/osShm.h
include/os/osShm.h
+2
-2
include/os/osSignal.h
include/os/osSignal.h
+7
-7
include/os/osSleep.h
include/os/osSleep.h
+4
-4
include/os/osSocket.h
include/os/osSocket.h
+3
-3
include/os/osString.h
include/os/osString.h
+36
-36
include/os/osSysinfo.h
include/os/osSysinfo.h
+3
-3
include/os/osSystem.h
include/os/osSystem.h
+6
-6
include/os/osThread.h
include/os/osThread.h
+170
-171
include/os/osTimer.h
include/os/osTimer.h
+9
-9
include/os/osTimezone.h
include/os/osTimezone.h
+27
-28
include/util/tbloomfilter.h
include/util/tbloomfilter.h
+14
-15
include/util/tconfig.h
include/util/tconfig.h
+2
-2
include/util/tcrc32c.h
include/util/tcrc32c.h
+16
-16
include/util/tdigest.h
include/util/tdigest.h
+29
-28
include/util/thash.h
include/util/thash.h
+11
-11
include/util/tidpool.h
include/util/tidpool.h
+4
-4
include/util/tlrucache.h
include/util/tlrucache.h
+11
-14
include/util/tpagedbuf.h
include/util/tpagedbuf.h
+3
-2
include/util/tscalablebf.h
include/util/tscalablebf.h
+6
-7
include/util/tthread.h
include/util/tthread.h
+3
-3
include/util/tutil.h
include/util/tutil.h
+2
-2
tools/scripts/codeFormat.sh
tools/scripts/codeFormat.sh
+21
-0
未找到文件。
include/common/systable.h
浏览文件 @
4cc94968
...
...
@@ -47,14 +47,14 @@ extern "C" {
#define TSDB_INS_TABLE_TOPICS "ins_topics"
#define TSDB_INS_TABLE_STREAMS "ins_streams"
#define TSDB_PERFORMANCE_SCHEMA_DB
"performance_schema"
#define TSDB_PERFS_TABLE_SMAS
"perf_smas"
#define TSDB_PERFS_TABLE_CONNECTIONS
"perf_connections"
#define TSDB_PERFS_TABLE_QUERIES
"perf_queries"
#define TSDB_PERFS_TABLE_CONSUMERS
"perf_consumers"
#define TSDB_PERFS_TABLE_OFFSETS
"perf_offsets"
#define TSDB_PERFS_TABLE_TRANS
"perf_trans"
#define TSDB_PERFS_TABLE_APPS
"perf_apps"
#define TSDB_PERFORMANCE_SCHEMA_DB "performance_schema"
#define TSDB_PERFS_TABLE_SMAS "perf_smas"
#define TSDB_PERFS_TABLE_CONNECTIONS "perf_connections"
#define TSDB_PERFS_TABLE_QUERIES "perf_queries"
#define TSDB_PERFS_TABLE_CONSUMERS "perf_consumers"
#define TSDB_PERFS_TABLE_OFFSETS "perf_offsets"
#define TSDB_PERFS_TABLE_TRANS "perf_trans"
#define TSDB_PERFS_TABLE_APPS "perf_apps"
typedef
struct
SSysDbTableSchema
{
const
char
*
name
;
...
...
include/common/tgrant.h
浏览文件 @
4cc94968
...
...
@@ -47,22 +47,23 @@ typedef enum {
int32_t
grantCheck
(
EGrantType
grant
);
#ifndef GRANTS_CFG
#define GRANTS_SCHEMA static const SSysDbTableSchema grantsSchema[] = { \
{.name = "version", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "expire_time", .bytes = 19 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "expired", .bytes = 5 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "storage", .bytes = 21 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "timeseries", .bytes = 21 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "databases", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "users", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "accounts", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "dnodes", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "connections", .bytes = 11 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "streams", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "cpu_cores", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "speed", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "querytime", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
}
#define GRANTS_SCHEMA \
static const SSysDbTableSchema grantsSchema[] = { \
{.name = "version", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "expire_time", .bytes = 19 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "expired", .bytes = 5 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "storage", .bytes = 21 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "timeseries", .bytes = 21 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "databases", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "users", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "accounts", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "dnodes", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "connections", .bytes = 11 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "streams", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "cpu_cores", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "speed", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
{.name = "querytime", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, \
}
#define GRANT_CFG_ADD
#define GRANT_CFG_SET
#define GRANT_CFG_GET
...
...
include/common/tmsgtype.h
浏览文件 @
4cc94968
...
...
@@ -20,6 +20,8 @@
extern
"C"
{
#endif
// clang-format off
// sql type
#ifdef TSDB_SQL_C
...
...
@@ -103,8 +105,10 @@ enum {
TSDB_DEFINE_SQL_TYPE
(
TSDB_SQL_MAX
,
"max"
)
};
// clang-format on
#ifdef __cplusplus
}
#endif
#endif
/*_TD_COMMON_SQLMSGTYPE_H_*/
#endif
/*_TD_COMMON_SQLMSGTYPE_H_*/
include/common/tname.h
浏览文件 @
4cc94968
...
...
@@ -49,7 +49,7 @@ bool tNameIsValid(const SName* name);
const
char
*
tNameGetTableName
(
const
SName
*
name
);
int32_t
tNameGetDbName
(
const
SName
*
name
,
char
*
dst
);
int32_t
tNameGetDbName
(
const
SName
*
name
,
char
*
dst
);
const
char
*
tNameGetDbNameP
(
const
SName
*
name
);
int32_t
tNameGetFullDbName
(
const
SName
*
name
,
char
*
dst
);
...
...
include/common/trow.h
浏览文件 @
4cc94968
...
...
@@ -285,11 +285,11 @@ static FORCE_INLINE void tdSRowInit(SRowBuilder *pBuilder, int16_t sver) {
pBuilder
->
rowType
=
TD_ROW_TP
;
// default STpRow
pBuilder
->
sver
=
sver
;
}
int32_t
tdSRowSetInfo
(
SRowBuilder
*
pBuilder
,
int32_t
nCols
,
int32_t
nBoundCols
,
int32_t
flen
);
int32_t
tdSRowSetTpInfo
(
SRowBuilder
*
pBuilder
,
int32_t
nCols
,
int32_t
flen
);
int32_t
tdSRowSetExtendedInfo
(
SRowBuilder
*
pBuilder
,
int32_t
nCols
,
int32_t
nBoundCols
,
int32_t
flen
,
int32_t
allNullLen
,
int32_t
boundNullLen
);
int32_t
tdSRowResetBuf
(
SRowBuilder
*
pBuilder
,
void
*
pBuf
);
int32_t
tdSRowSetInfo
(
SRowBuilder
*
pBuilder
,
int32_t
nCols
,
int32_t
nBoundCols
,
int32_t
flen
);
int32_t
tdSRowSetTpInfo
(
SRowBuilder
*
pBuilder
,
int32_t
nCols
,
int32_t
flen
);
int32_t
tdSRowSetExtendedInfo
(
SRowBuilder
*
pBuilder
,
int32_t
nCols
,
int32_t
nBoundCols
,
int32_t
flen
,
int32_t
allNullLen
,
int32_t
boundNullLen
);
int32_t
tdSRowResetBuf
(
SRowBuilder
*
pBuilder
,
void
*
pBuf
);
static
FORCE_INLINE
void
tdSRowEnd
(
SRowBuilder
*
pBuilder
)
{
STSRow
*
pRow
=
(
STSRow
*
)
pBuilder
->
pBuf
;
if
(
pBuilder
->
hasNull
||
pBuilder
->
hasNone
)
{
...
...
include/common/ttime.h
浏览文件 @
4cc94968
...
...
@@ -59,11 +59,11 @@ static FORCE_INLINE int64_t taosGetTimestamp(int32_t precision) {
* precision == TSDB_TIME_PRECISION_NANO, it returns timestamp in nanosecond.
*/
static
FORCE_INLINE
int64_t
taosGetTimestampToday
(
int32_t
precision
)
{
int64_t
factor
=
(
precision
==
TSDB_TIME_PRECISION_MILLI
)
?
1000
:
(
precision
==
TSDB_TIME_PRECISION_MICRO
)
?
1000000
:
1000000000
;
time_t
t
=
taosTime
(
NULL
);
struct
tm
tm
;
int64_t
factor
=
(
precision
==
TSDB_TIME_PRECISION_MILLI
)
?
1000
:
(
precision
==
TSDB_TIME_PRECISION_MICRO
)
?
1000000
:
1000000000
;
time_t
t
=
taosTime
(
NULL
);
struct
tm
tm
;
taosLocalTime
(
&
t
,
&
tm
);
tm
.
tm_hour
=
0
;
tm
.
tm_min
=
0
;
...
...
include/common/ttszip.h
浏览文件 @
4cc94968
...
...
@@ -144,4 +144,4 @@ bool tsBufIsValidElem(STSElem* pElem);
}
#endif
#endif
/*_TD_COMMON_TTSZIP_H_*/
#endif
/*_TD_COMMON_TTSZIP_H_*/
include/libs/catalog/catalog.h
浏览文件 @
4cc94968
...
...
@@ -115,7 +115,7 @@ typedef struct SSTableVersion {
uint64_t
dbId
;
uint64_t
suid
;
int16_t
sversion
;
int16_t
tversion
;
int16_t
tversion
;
int32_t
smaVer
;
}
SSTableVersion
;
...
...
@@ -182,7 +182,8 @@ int32_t catalogRemoveStbMeta(SCatalog* pCtg, const char* dbFName, uint64_t dbId,
* @param pTableMeta(output, table meta data, NEED to free it by calller)
* @return error code
*/
int32_t
catalogGetTableMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
);
int32_t
catalogGetTableMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
);
/**
* Get a super table's meta data.
...
...
@@ -193,9 +194,10 @@ int32_t catalogGetTableMeta(SCatalog* pCatalog, SRequestConnInfo* pConn, const S
* @param pTableMeta(output, table meta data, NEED to free it by calller)
* @return error code
*/
int32_t
catalogGetSTableMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
);
int32_t
catalogGetSTableMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
);
int32_t
catalogUpdateTableMeta
(
SCatalog
*
pCatalog
,
STableMetaRsp
*
rspMsg
);
int32_t
catalogUpdateTableMeta
(
SCatalog
*
pCatalog
,
STableMetaRsp
*
rspMsg
);
int32_t
catalogUpdateTableMeta
(
SCatalog
*
pCatalog
,
STableMetaRsp
*
rspMsg
);
...
...
@@ -232,7 +234,8 @@ int32_t catalogRefreshTableMeta(SCatalog* pCatalog, SRequestConnInfo* pConn, con
* @param isSTable (input, is super table or not, 1:supposed to be stable, 0: supposed not to be stable, -1:not sure)
* @return error code
*/
int32_t
catalogRefreshGetTableMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
,
int32_t
isSTable
);
int32_t
catalogRefreshGetTableMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
,
int32_t
isSTable
);
/**
* Get a table's actual vgroup, for stable it's all possible vgroup list.
...
...
@@ -243,7 +246,8 @@ int32_t catalogRefreshGetTableMeta(SCatalog* pCatalog, SRequestConnInfo* pConn,
* @param pVgroupList (output, vgroup info list, element is SVgroupInfo, NEED to simply free the array by caller)
* @return error code
*/
int32_t
catalogGetTableDistVgInfo
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
SArray
**
pVgroupList
);
int32_t
catalogGetTableDistVgInfo
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
SArray
**
pVgroupList
);
/**
* Get a table's vgroup from its name's hash value.
...
...
@@ -267,13 +271,14 @@ int32_t catalogGetTableHashVgroup(SCatalog* pCatalog, SRequestConnInfo* pConn, c
*/
int32_t
catalogGetAllMeta
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
const
SCatalogReq
*
pReq
,
SMetaData
*
pRsp
);
int32_t
catalogAsyncGetAllMeta
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
SCatalogReq
*
pReq
,
catalogCallback
fp
,
void
*
param
,
int64_t
*
jobId
);
int32_t
catalogAsyncGetAllMeta
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
SCatalogReq
*
pReq
,
catalogCallback
fp
,
void
*
param
,
int64_t
*
jobId
);
int32_t
catalogGetQnodeList
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
SArray
*
pQnodeList
);
int32_t
catalogGetDnodeList
(
SCatalog
*
pCatalog
,
SRequestConnInfo
*
pConn
,
SArray
**
pDnodeList
);
int32_t
catalogGetExpiredSTables
(
SCatalog
*
pCatalog
,
SSTableVersion
**
stables
,
uint32_t
*
num
);
int32_t
catalogGetExpiredSTables
(
SCatalog
*
pCatalog
,
SSTableVersion
**
stables
,
uint32_t
*
num
);
int32_t
catalogGetExpiredDBs
(
SCatalog
*
pCatalog
,
SDbVgVersion
**
dbs
,
uint32_t
*
num
);
...
...
@@ -285,19 +290,20 @@ int32_t catalogGetIndexMeta(SCatalog* pCtg, SRequestConnInfo* pConn, const char*
int32_t
catalogGetTableIndex
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
SArray
**
pRes
);
int32_t
catalogRefreshGetTableCfg
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableCfg
**
pCfg
);
int32_t
catalogRefreshGetTableCfg
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
SName
*
pTableName
,
STableCfg
**
pCfg
);
int32_t
catalogUpdateTableIndex
(
SCatalog
*
pCtg
,
STableIndexRsp
*
pRsp
);
int32_t
catalogUpdateTableIndex
(
SCatalog
*
pCtg
,
STableIndexRsp
*
pRsp
);
int32_t
catalogGetUdfInfo
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
char
*
funcName
,
SFuncInfo
*
pInfo
);
int32_t
catalogChkAuth
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
char
*
user
,
const
char
*
dbFName
,
AUTH_TYPE
type
,
bool
*
pass
);
int32_t
catalogChkAuth
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
const
char
*
user
,
const
char
*
dbFName
,
AUTH_TYPE
type
,
bool
*
pass
);
int32_t
catalogUpdateUserAuthInfo
(
SCatalog
*
pCtg
,
SGetUserAuthRsp
*
pAuth
);
int32_t
catalogUpdateVgEpSet
(
SCatalog
*
pCtg
,
const
char
*
dbFName
,
int32_t
vgId
,
SEpSet
*
epSet
);
int32_t
catalogUpdateVgEpSet
(
SCatalog
*
pCtg
,
const
char
*
dbFName
,
int32_t
vgId
,
SEpSet
*
epSet
);
int32_t
catalogGetServerVersion
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
char
**
pVersion
);
int32_t
catalogGetServerVersion
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
char
**
pVersion
);
int32_t
ctgdLaunchAsyncCall
(
SCatalog
*
pCtg
,
SRequestConnInfo
*
pConn
,
uint64_t
reqId
,
bool
forceUpdate
);
...
...
include/libs/executor/dataSinkMgt.h
浏览文件 @
4cc94968
...
...
@@ -20,10 +20,10 @@
extern
"C"
{
#endif
#include "os.h"
#include "thash.h"
#include "executor.h"
#include "os.h"
#include "plannodes.h"
#include "thash.h"
#define DS_BUF_LOW 1
#define DS_BUF_FULL 2
...
...
@@ -56,11 +56,11 @@ typedef struct SDataSinkStat {
}
SDataSinkStat
;
typedef
struct
SDataSinkMgtCfg
{
uint32_t
maxDataBlockNum
;
// todo: this should be numOfRows?
uint32_t
maxDataBlockNum
;
// todo: this should be numOfRows?
uint32_t
maxDataBlockNumPerQuery
;
}
SDataSinkMgtCfg
;
int32_t
dsDataSinkMgtInit
(
SDataSinkMgtCfg
*
cfg
);
int32_t
dsDataSinkMgtInit
(
SDataSinkMgtCfg
*
cfg
);
typedef
struct
SInputData
{
const
struct
SSDataBlock
*
pData
;
...
...
@@ -79,14 +79,14 @@ typedef struct SOutputData {
}
SOutputData
;
/**
* Create a subplan's datasinker handle for all later operations.
* Create a subplan's datasinker handle for all later operations.
* @param pDataSink
* @param pHandle output
* @return error code
*/
int32_t
dsCreateDataSinker
(
const
SDataSinkNode
*
pDataSink
,
DataSinkHandle
*
pHandle
,
void
*
pParam
);
int32_t
dsDataSinkGetCacheSize
(
SDataSinkStat
*
pStat
);
int32_t
dsDataSinkGetCacheSize
(
SDataSinkStat
*
pStat
);
/**
* Put the result set returned by the executor into datasinker.
...
...
@@ -114,7 +114,7 @@ void dsGetDataLength(DataSinkHandle handle, int64_t* pLen, bool* pQueryEnd);
*/
int32_t
dsGetDataBlock
(
DataSinkHandle
handle
,
SOutputData
*
pOutput
);
int32_t
dsGetCacheSize
(
DataSinkHandle
handle
,
uint64_t
*
pSize
);
int32_t
dsGetCacheSize
(
DataSinkHandle
handle
,
uint64_t
*
pSize
);
/**
* After dsGetStatus returns DS_NEED_SCHEDULE, the caller need to put this into the work queue.
...
...
include/libs/function/function.h
浏览文件 @
4cc94968
...
...
@@ -176,9 +176,9 @@ struct SScalarParam {
SColumnInfoData
*
columnData
;
SHashObj
*
pHashFilter
;
int32_t
hashValueType
;
void
*
param
;
// other parameter, such as meta handle from vnode, to extract table name/tag value
void
*
param
;
// other parameter, such as meta handle from vnode, to extract table name/tag value
int32_t
numOfRows
;
int32_t
numOfQualified
;
// number of qualified elements in the final results
int32_t
numOfQualified
;
// number of qualified elements in the final results
};
void
cleanupResultRowEntry
(
struct
SResultRowEntryInfo
*
pCell
);
...
...
include/libs/function/taosudf.h
浏览文件 @
4cc94968
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef TDENGINE_TAOSUDF_H
#define TDENGINE_TAOSUDF_H
#include <stdint.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
...
...
@@ -52,16 +52,15 @@ typedef struct SUdfColumnData {
}
fixLenCol
;
struct
{
int32_t
varOffsetsLen
;
int32_t
*
varOffsets
;
int32_t
payloadLen
;
char
*
payload
;
int32_t
payloadAllocLen
;
int32_t
varOffsetsLen
;
int32_t
*
varOffsets
;
int32_t
payloadLen
;
char
*
payload
;
int32_t
payloadAllocLen
;
}
varLenCol
;
};
}
SUdfColumnData
;
typedef
struct
SUdfColumn
{
SUdfColumnMeta
colMeta
;
bool
hasNull
;
...
...
@@ -69,15 +68,15 @@ typedef struct SUdfColumn {
}
SUdfColumn
;
typedef
struct
SUdfDataBlock
{
int32_t
numOfRows
;
int32_t
numOfCols
;
int32_t
numOfRows
;
int32_t
numOfCols
;
SUdfColumn
**
udfCols
;
}
SUdfDataBlock
;
typedef
struct
SUdfInterBuf
{
int32_t
bufLen
;
char
*
buf
;
int8_t
numOfResult
;
//
zero or one
char
*
buf
;
int8_t
numOfResult
;
//
zero or one
}
SUdfInterBuf
;
typedef
void
*
UdfcFuncHandle
;
...
...
@@ -86,28 +85,29 @@ typedef int32_t (*TUdfInitFunc)();
typedef
int32_t
(
*
TUdfDestroyFunc
)();
#define UDF_MEMORY_EXP_GROWTH 1.5
#define NBIT
(3u)
#define BitPos(_n)
((_n) & ((1 << NBIT) - 1))
#define BMCharPos(bm_, r_)
((bm_)[(r_) >> NBIT])
#define BitmapLen(_n) (((_n) + ((1 << NBIT) - 1)) >> NBIT)
#define NBIT (3u)
#define BitPos(_n) ((_n) & ((1 << NBIT) - 1))
#define BMCharPos(bm_, r_) ((bm_)[(r_) >> NBIT])
#define BitmapLen(_n)
(((_n) + ((1 << NBIT) - 1)) >> NBIT)
#define udfColDataIsNull_var(pColumn, row) ((pColumn->colData.varLenCol.varOffsets)[row] == -1)
#define udfColDataIsNull_f(pColumn, row) ((BMCharPos(pColumn->colData.fixLenCol.nullBitmap, row) & (1u << (7u - BitPos(row)))) == (1u << (7u - BitPos(row))))
#define udfColDataIsNull_f(pColumn, row) \
((BMCharPos(pColumn->colData.fixLenCol.nullBitmap, row) & (1u << (7u - BitPos(row)))) == (1u << (7u - BitPos(row))))
#define udfColDataSetNull_f(pColumn, row) \
do { \
BMCharPos(pColumn->colData.fixLenCol.nullBitmap, row) |= (1u << (7u - BitPos(row))); \
} while (0)
#define udfColDataSetNotNull_f(pColumn, r_)
\
do {
\
BMCharPos(pColumn->colData.fixLenCol.nullBitmap, r_) &= ~(1u << (7u - BitPos(r_)));
\
#define udfColDataSetNotNull_f(pColumn, r_) \
do { \
BMCharPos(pColumn->colData.fixLenCol.nullBitmap, r_) &= ~(1u << (7u - BitPos(r_))); \
} while (0)
#define udfColDataSetNull_var(pColumn, row)
((pColumn->colData.varLenCol.varOffsets)[row] = -1)
#define udfColDataSetNull_var(pColumn, row) ((pColumn->colData.varLenCol.varOffsets)[row] = -1)
typedef
uint16_t
VarDataLenT
;
// maxVarDataLen: 32767
#define VARSTR_HEADER_SIZE sizeof(VarDataLenT)
#define varDataLen(v) ((VarDataLenT *)(v))[0]
#define varDataVal(v) ((char *)(v) + VARSTR_HEADER_SIZE)
#define VARSTR_HEADER_SIZE
sizeof(VarDataLenT)
#define varDataLen(v)
((VarDataLenT *)(v))[0]
#define varDataVal(v)
((char *)(v) + VARSTR_HEADER_SIZE)
#define varDataTLen(v) (sizeof(VarDataLenT) + varDataLen(v))
#define varDataCopy(dst, v) memcpy((dst), (void *)(v), varDataTLen(v))
#define varDataLenByData(v) (*(VarDataLenT *)(((char *)(v)) - VARSTR_HEADER_SIZE))
...
...
@@ -116,8 +116,7 @@ typedef uint16_t VarDataLenT; // maxVarDataLen: 32767
(((t) == TSDB_DATA_TYPE_VARCHAR) || ((t) == TSDB_DATA_TYPE_NCHAR) || ((t) == TSDB_DATA_TYPE_JSON))
#define IS_STR_DATA_TYPE(t) (((t) == TSDB_DATA_TYPE_VARCHAR) || ((t) == TSDB_DATA_TYPE_NCHAR))
static
FORCE_INLINE
char
*
udfColDataGetData
(
const
SUdfColumn
*
pColumn
,
int32_t
row
)
{
static
FORCE_INLINE
char
*
udfColDataGetData
(
const
SUdfColumn
*
pColumn
,
int32_t
row
)
{
if
(
IS_VAR_DATA_TYPE
(
pColumn
->
colMeta
.
type
))
{
return
pColumn
->
colData
.
varLenCol
.
payload
+
pColumn
->
colData
.
varLenCol
.
varOffsets
[
row
];
}
else
{
...
...
@@ -125,13 +124,13 @@ static FORCE_INLINE char* udfColDataGetData(const SUdfColumn* pColumn, int32_t r
}
}
static
FORCE_INLINE
bool
udfColDataIsNull
(
const
SUdfColumn
*
pColumn
,
int32_t
row
)
{
static
FORCE_INLINE
bool
udfColDataIsNull
(
const
SUdfColumn
*
pColumn
,
int32_t
row
)
{
if
(
IS_VAR_DATA_TYPE
(
pColumn
->
colMeta
.
type
))
{
if
(
pColumn
->
colMeta
.
type
==
TSDB_DATA_TYPE_JSON
)
{
if
(
udfColDataIsNull_var
(
pColumn
,
row
))
{
return
true
;
}
char
*
data
=
udfColDataGetData
(
pColumn
,
row
);
char
*
data
=
udfColDataGetData
(
pColumn
,
row
);
return
(
*
data
==
TSDB_DATA_TYPE_NULL
);
}
else
{
return
udfColDataIsNull_var
(
pColumn
,
row
);
...
...
@@ -141,29 +140,29 @@ static FORCE_INLINE bool udfColDataIsNull(const SUdfColumn* pColumn, int32_t row
}
}
static
FORCE_INLINE
int32_t
udfColEnsureCapacity
(
SUdfColumn
*
pColumn
,
int32_t
newCapacity
)
{
static
FORCE_INLINE
int32_t
udfColEnsureCapacity
(
SUdfColumn
*
pColumn
,
int32_t
newCapacity
)
{
SUdfColumnMeta
*
meta
=
&
pColumn
->
colMeta
;
SUdfColumnData
*
data
=
&
pColumn
->
colData
;
if
(
newCapacity
==
0
||
newCapacity
<=
data
->
rowsAlloc
)
{
if
(
newCapacity
==
0
||
newCapacity
<=
data
->
rowsAlloc
)
{
return
TSDB_CODE_SUCCESS
;
}
int
allocCapacity
=
(
data
->
rowsAlloc
<
8
)
?
8
:
data
->
rowsAlloc
;
int
allocCapacity
=
(
data
->
rowsAlloc
<
8
)
?
8
:
data
->
rowsAlloc
;
while
(
allocCapacity
<
newCapacity
)
{
allocCapacity
*=
UDF_MEMORY_EXP_GROWTH
;
}
if
(
IS_VAR_DATA_TYPE
(
meta
->
type
))
{
char
*
tmp
=
(
char
*
)
realloc
(
data
->
varLenCol
.
varOffsets
,
sizeof
(
int32_t
)
*
allocCapacity
);
char
*
tmp
=
(
char
*
)
realloc
(
data
->
varLenCol
.
varOffsets
,
sizeof
(
int32_t
)
*
allocCapacity
);
if
(
tmp
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
data
->
varLenCol
.
varOffsets
=
(
int32_t
*
)
tmp
;
data
->
varLenCol
.
varOffsets
=
(
int32_t
*
)
tmp
;
data
->
varLenCol
.
varOffsetsLen
=
sizeof
(
int32_t
)
*
allocCapacity
;
// for payload, add data in udfColDataAppend
}
else
{
char
*
tmp
=
(
char
*
)
realloc
(
data
->
fixLenCol
.
nullBitmap
,
BitmapLen
(
allocCapacity
));
char
*
tmp
=
(
char
*
)
realloc
(
data
->
fixLenCol
.
nullBitmap
,
BitmapLen
(
allocCapacity
));
if
(
tmp
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
...
...
@@ -173,13 +172,13 @@ static FORCE_INLINE int32_t udfColEnsureCapacity(SUdfColumn* pColumn, int32_t ne
return
TSDB_CODE_SUCCESS
;
}
tmp
=
(
char
*
)
realloc
(
data
->
fixLenCol
.
data
,
allocCapacity
*
meta
->
bytes
);
tmp
=
(
char
*
)
realloc
(
data
->
fixLenCol
.
data
,
allocCapacity
*
meta
->
bytes
);
if
(
tmp
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
data
->
fixLenCol
.
data
=
tmp
;
data
->
fixLenCol
.
dataLen
=
allocCapacity
*
meta
->
bytes
;
data
->
fixLenCol
.
dataLen
=
allocCapacity
*
meta
->
bytes
;
}
data
->
rowsAlloc
=
allocCapacity
;
...
...
@@ -187,8 +186,8 @@ static FORCE_INLINE int32_t udfColEnsureCapacity(SUdfColumn* pColumn, int32_t ne
return
TSDB_CODE_SUCCESS
;
}
static
FORCE_INLINE
void
udfColDataSetNull
(
SUdfColumn
*
pColumn
,
int32_t
row
)
{
udfColEnsureCapacity
(
pColumn
,
row
+
1
);
static
FORCE_INLINE
void
udfColDataSetNull
(
SUdfColumn
*
pColumn
,
int32_t
row
)
{
udfColEnsureCapacity
(
pColumn
,
row
+
1
);
if
(
IS_VAR_DATA_TYPE
(
pColumn
->
colMeta
.
type
))
{
udfColDataSetNull_var
(
pColumn
,
row
);
}
else
{
...
...
@@ -197,10 +196,10 @@ static FORCE_INLINE void udfColDataSetNull(SUdfColumn* pColumn, int32_t row) {
pColumn
->
hasNull
=
true
;
}
static
FORCE_INLINE
int32_t
udfColDataSet
(
SUdfColumn
*
pColumn
,
uint32_t
currentRow
,
const
char
*
pData
,
bool
isNull
)
{
static
FORCE_INLINE
int32_t
udfColDataSet
(
SUdfColumn
*
pColumn
,
uint32_t
currentRow
,
const
char
*
pData
,
bool
isNull
)
{
SUdfColumnMeta
*
meta
=
&
pColumn
->
colMeta
;
SUdfColumnData
*
data
=
&
pColumn
->
colData
;
udfColEnsureCapacity
(
pColumn
,
currentRow
+
1
);
udfColEnsureCapacity
(
pColumn
,
currentRow
+
1
);
bool
isVarCol
=
IS_VAR_DATA_TYPE
(
meta
->
type
);
if
(
isNull
)
{
udfColDataSetNull
(
pColumn
,
currentRow
);
...
...
@@ -233,7 +232,7 @@ static FORCE_INLINE int32_t udfColDataSet(SUdfColumn* pColumn, uint32_t currentR
newSize
=
newSize
*
UDF_MEMORY_EXP_GROWTH
;
}
char
*
buf
=
(
char
*
)
realloc
(
data
->
varLenCol
.
payload
,
newSize
);
char
*
buf
=
(
char
*
)
realloc
(
data
->
varLenCol
.
payload
,
newSize
);
if
(
buf
==
NULL
)
{
return
TSDB_CODE_OUT_OF_MEMORY
;
}
...
...
@@ -249,11 +248,11 @@ static FORCE_INLINE int32_t udfColDataSet(SUdfColumn* pColumn, uint32_t currentR
data
->
varLenCol
.
payloadLen
+=
dataLen
;
}
}
data
->
numOfRows
=
(
currentRow
+
1
>
data
->
numOfRows
)
?
(
currentRow
+
1
)
:
data
->
numOfRows
;
data
->
numOfRows
=
(
currentRow
+
1
>
data
->
numOfRows
)
?
(
currentRow
+
1
)
:
data
->
numOfRows
;
return
0
;
}
typedef
int32_t
(
*
TUdfScalarProcFunc
)(
SUdfDataBlock
*
block
,
SUdfColumn
*
resultCol
);
typedef
int32_t
(
*
TUdfScalarProcFunc
)(
SUdfDataBlock
*
block
,
SUdfColumn
*
resultCol
);
typedef
int32_t
(
*
TUdfAggStartFunc
)(
SUdfInterBuf
*
buf
);
typedef
int32_t
(
*
TUdfAggProcessFunc
)(
SUdfDataBlock
*
block
,
SUdfInterBuf
*
interBuf
,
SUdfInterBuf
*
newInterBuf
);
...
...
include/libs/function/tudf.h
浏览文件 @
4cc94968
...
...
@@ -24,12 +24,12 @@
#define alloc alloc
#include <taosudf.h>
#include <stdint.h>
#include <stdbool.h>
#include "tmsg.h"
#include "tcommon.h"
#include <stdint.h>
#include "function.h"
#include "tcommon.h"
#include "tdatablock.h"
#include "tmsg.h"
#ifdef __cplusplus
extern
"C"
{
...
...
@@ -43,8 +43,7 @@ extern "C" {
#endif
#define UDF_DNODE_ID_ENV_NAME "DNODE_ID"
//low level APIs
// low level APIs
/**
* setup udf
* @param udf, in
...
...
@@ -62,7 +61,8 @@ int32_t doCallUdfAggProcess(UdfcFuncHandle handle, SSDataBlock *block, SUdfInter
int32_t
doCallUdfAggFinalize
(
UdfcFuncHandle
handle
,
SUdfInterBuf
*
interBuf
,
SUdfInterBuf
*
resultData
);
// input: interbuf1, interbuf2
// output: resultBuf
int32_t
doCallUdfAggMerge
(
UdfcFuncHandle
handle
,
SUdfInterBuf
*
interBuf1
,
SUdfInterBuf
*
interBuf2
,
SUdfInterBuf
*
resultBuf
);
int32_t
doCallUdfAggMerge
(
UdfcFuncHandle
handle
,
SUdfInterBuf
*
interBuf1
,
SUdfInterBuf
*
interBuf2
,
SUdfInterBuf
*
resultBuf
);
// input: block
// output: resultData
int32_t
doCallUdfScalarFunc
(
UdfcFuncHandle
handle
,
SScalarParam
*
input
,
int32_t
numOfCols
,
SScalarParam
*
output
);
...
...
@@ -75,11 +75,11 @@ int32_t doTeardownUdf(UdfcFuncHandle handle);
void
freeUdfInterBuf
(
SUdfInterBuf
*
buf
);
//high level APIs
bool
udfAggGetEnv
(
struct
SFunctionNode
*
pFunc
,
SFuncExecEnv
*
pEnv
);
bool
udfAggInit
(
struct
SqlFunctionCtx
*
pCtx
,
struct
SResultRowEntryInfo
*
pResultCellInfo
);
//
high level APIs
bool
udfAggGetEnv
(
struct
SFunctionNode
*
pFunc
,
SFuncExecEnv
*
pEnv
);
bool
udfAggInit
(
struct
SqlFunctionCtx
*
pCtx
,
struct
SResultRowEntryInfo
*
pResultCellInfo
);
int32_t
udfAggProcess
(
struct
SqlFunctionCtx
*
pCtx
);
int32_t
udfAggFinalize
(
struct
SqlFunctionCtx
*
pCtx
,
SSDataBlock
*
pBlock
);
int32_t
udfAggFinalize
(
struct
SqlFunctionCtx
*
pCtx
,
SSDataBlock
*
pBlock
);
int32_t
callUdfScalarFunc
(
char
*
udfName
,
SScalarParam
*
input
,
int32_t
numOfCols
,
SScalarParam
*
output
);
...
...
include/libs/monitor/monitor.h
浏览文件 @
4cc94968
...
...
@@ -227,7 +227,6 @@ int32_t tDeserializeSMonMloadInfo(void *buf, int32_t bufLen, SMonMloadInfo *pInf
int32_t
tSerializeSQnodeLoad
(
void
*
buf
,
int32_t
bufLen
,
SQnodeLoad
*
pInfo
);
int32_t
tDeserializeSQnodeLoad
(
void
*
buf
,
int32_t
bufLen
,
SQnodeLoad
*
pInfo
);
typedef
struct
{
const
char
*
server
;
uint16_t
port
;
...
...
include/libs/qcom/query.h
浏览文件 @
4cc94968
...
...
@@ -61,7 +61,6 @@ typedef struct STableComInfo {
int32_t
rowSize
;
// row size of the schema
}
STableComInfo
;
typedef
struct
SIndexMeta
{
#if defined(WINDOWS) || defined(_TD_DARWIN_64)
size_t
avoidCompilationErrors
;
...
...
@@ -70,11 +69,11 @@ typedef struct SIndexMeta {
}
SIndexMeta
;
typedef
struct
SExecResult
{
int32_t
code
;
uint64_t
numOfRows
;
uint64_t
numOfBytes
;
int32_t
msgType
;
void
*
res
;
int32_t
code
;
uint64_t
numOfRows
;
uint64_t
numOfBytes
;
int32_t
msgType
;
void
*
res
;
}
SExecResult
;
typedef
struct
STbVerInfo
{
...
...
@@ -166,7 +165,7 @@ typedef struct SRequestConnInfo {
SEpSet
mgmtEps
;
}
SRequestConnInfo
;
typedef
void
(
*
__freeFunc
)(
void
*
param
);
typedef
void
(
*
__freeFunc
)(
void
*
param
);
typedef
struct
SMsgSendInfo
{
__async_send_cb_fn_t
fp
;
// async callback function
...
...
@@ -218,7 +217,7 @@ void initQueryModuleMsgHandle();
const
SSchema
*
tGetTbnameColumnSchema
();
bool
tIsValidSchema
(
struct
SSchema
*
pSchema
,
int32_t
numOfCols
,
int32_t
numOfTags
);
int32_t
queryCreateCTableMetaFromMsg
(
STableMetaRsp
*
msg
,
SCTableMeta
*
pMeta
);
int32_t
queryCreateCTableMetaFromMsg
(
STableMetaRsp
*
msg
,
SCTableMeta
*
pMeta
);
int32_t
queryCreateTableMetaFromMsg
(
STableMetaRsp
*
msg
,
bool
isSuperTable
,
STableMeta
**
pMeta
);
char
*
jobTaskStatusStr
(
int32_t
status
);
...
...
@@ -250,64 +249,66 @@ extern int32_t (*queryProcessMsgRsp[TDMT_MAX])(void* output, char* msg, int32_t
#define NEED_CLIENT_HANDLE_ERROR(_code) \
(NEED_CLIENT_RM_TBLMETA_ERROR(_code) || NEED_CLIENT_REFRESH_VG_ERROR(_code) || \
NEED_CLIENT_REFRESH_TBLMETA_ERROR(_code))
#define NEED_REDIRECT_ERROR(_code)
\
((_code) == TSDB_CODE_RPC_REDIRECT || (_code) == TSDB_CODE_RPC_NETWORK_UNAVAIL ||
\
(_code) == TSDB_CODE_NODE_NOT_DEPLOYED || (_code) == TSDB_CODE_SYN_NOT_LEADER ||
\
#define NEED_REDIRECT_ERROR(_code) \
((_code) == TSDB_CODE_RPC_REDIRECT || (_code) == TSDB_CODE_RPC_NETWORK_UNAVAIL || \
(_code) == TSDB_CODE_NODE_NOT_DEPLOYED || (_code) == TSDB_CODE_SYN_NOT_LEADER || \
(_code) == TSDB_CODE_APP_NOT_READY || (_code) == TSDB_CODE_RPC_BROKEN_LINK)
#define NEED_CLIENT_RM_TBLMETA_REQ(_type) \
((_type) == TDMT_VND_CREATE_TABLE || (_type) == TDMT_MND_CREATE_STB || (_type) == TDMT_VND_DROP_TABLE || \
(_type) == TDMT_MND_DROP_STB)
#define NEED_SCHEDULER_REDIRECT_ERROR(_code)
\
((_code) == TSDB_CODE_RPC_REDIRECT || (_code) == TSDB_CODE_NODE_NOT_DEPLOYED ||
\
#define NEED_SCHEDULER_REDIRECT_ERROR(_code) \
((_code) == TSDB_CODE_RPC_REDIRECT || (_code) == TSDB_CODE_NODE_NOT_DEPLOYED || \
(_code) == TSDB_CODE_SYN_NOT_LEADER || (_code) == TSDB_CODE_APP_NOT_READY)
#define REQUEST_TOTAL_EXEC_TIMES 2
#define IS_SYS_DBNAME(_dbname) (((*(_dbname) == 'i') && (0 == strcmp(_dbname, TSDB_INFORMATION_SCHEMA_DB))) || ((*(_dbname) == 'p') && (0 == strcmp(_dbname, TSDB_PERFORMANCE_SCHEMA_DB))))
#define IS_SYS_DBNAME(_dbname) \
(((*(_dbname) == 'i') && (0 == strcmp(_dbname, TSDB_INFORMATION_SCHEMA_DB))) || \
((*(_dbname) == 'p') && (0 == strcmp(_dbname, TSDB_PERFORMANCE_SCHEMA_DB))))
#define qFatal(...)
\
do {
\
if (qDebugFlag & DEBUG_FATAL) {
\
#define qFatal(...) \
do { \
if (qDebugFlag & DEBUG_FATAL) { \
taosPrintLog("QRY FATAL ", DEBUG_FATAL, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define qError(...)
\
do {
\
if (qDebugFlag & DEBUG_ERROR) {
\
#define qError(...) \
do { \
if (qDebugFlag & DEBUG_ERROR) { \
taosPrintLog("QRY ERROR ", DEBUG_ERROR, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define qWarn(...)
\
do {
\
if (qDebugFlag & DEBUG_WARN) {
\
#define qWarn(...) \
do { \
if (qDebugFlag & DEBUG_WARN) { \
taosPrintLog("QRY WARN ", DEBUG_WARN, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define qInfo(...)
\
do {
\
if (qDebugFlag & DEBUG_INFO) {
\
#define qInfo(...) \
do { \
if (qDebugFlag & DEBUG_INFO) { \
taosPrintLog("QRY ", DEBUG_INFO, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define qDebug(...)
\
do {
\
if (qDebugFlag & DEBUG_DEBUG) {
\
#define qDebug(...) \
do { \
if (qDebugFlag & DEBUG_DEBUG) { \
taosPrintLog("QRY ", DEBUG_DEBUG, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define qTrace(...)
\
do {
\
if (qDebugFlag & DEBUG_TRACE) {
\
#define qTrace(...) \
do { \
if (qDebugFlag & DEBUG_TRACE) { \
taosPrintLog("QRY ", DEBUG_TRACE, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define qDebugL(...)
\
do {
\
if (qDebugFlag & DEBUG_DEBUG) {
\
#define qDebugL(...) \
do { \
if (qDebugFlag & DEBUG_DEBUG) { \
taosPrintLongString("QRY ", DEBUG_DEBUG, qDebugFlag, __VA_ARGS__); \
}
\
} \
} while (0)
#define QRY_ERR_RET(c) \
...
...
include/libs/qworker/qworker.h
浏览文件 @
4cc94968
...
...
@@ -72,7 +72,6 @@ typedef struct SQWMsg {
SRpcHandleInfo
connInfo
;
}
SQWMsg
;
int32_t
qWorkerInit
(
int8_t
nodeType
,
int32_t
nodeId
,
void
**
qWorkerMgmt
,
const
SMsgCb
*
pMsgCb
);
int32_t
qWorkerAbortPreprocessQueryMsg
(
void
*
qWorkerMgmt
,
SRpcMsg
*
pMsg
);
...
...
@@ -95,13 +94,15 @@ int32_t qWorkerProcessHbMsg(void *node, void *qWorkerMgmt, SRpcMsg *pMsg, int64_
int32_t
qWorkerProcessDeleteMsg
(
void
*
node
,
void
*
qWorkerMgmt
,
SRpcMsg
*
pMsg
,
SDeleteRes
*
pRes
);
void
qWorkerDestroy
(
void
**
qWorkerMgmt
);
void
qWorkerDestroy
(
void
**
qWorkerMgmt
);
int32_t
qWorkerGetStat
(
SReadHandle
*
handle
,
void
*
qWorkerMgmt
,
SQWorkerStat
*
pStat
);
int32_t
qWorkerProcessLocalQuery
(
void
*
pMgmt
,
uint64_t
sId
,
uint64_t
qId
,
uint64_t
tId
,
int64_t
rId
,
int32_t
eId
,
SQWMsg
*
qwMsg
,
SArray
*
explainRes
);
int32_t
qWorkerProcessLocalQuery
(
void
*
pMgmt
,
uint64_t
sId
,
uint64_t
qId
,
uint64_t
tId
,
int64_t
rId
,
int32_t
eId
,
SQWMsg
*
qwMsg
,
SArray
*
explainRes
);
int32_t
qWorkerProcessLocalFetch
(
void
*
pMgmt
,
uint64_t
sId
,
uint64_t
qId
,
uint64_t
tId
,
int64_t
rId
,
int32_t
eId
,
void
**
pRsp
,
SArray
*
explainRes
);
int32_t
qWorkerProcessLocalFetch
(
void
*
pMgmt
,
uint64_t
sId
,
uint64_t
qId
,
uint64_t
tId
,
int64_t
rId
,
int32_t
eId
,
void
**
pRsp
,
SArray
*
explainRes
);
#ifdef __cplusplus
}
...
...
include/libs/scalar/filter.h
浏览文件 @
4cc94968
...
...
@@ -31,9 +31,9 @@ enum {
FLT_OPTION_NEED_UNIQE
=
4
,
};
#define FILTER_RESULT_ALL_QUALIFIED
0x1
#define FILTER_RESULT_NONE_QUALIFIED
0x2
#define FILTER_RESULT_PARTIAL_QUALIFIED
0x3
#define FILTER_RESULT_ALL_QUALIFIED 0x1
#define FILTER_RESULT_NONE_QUALIFIED 0x2
#define FILTER_RESULT_PARTIAL_QUALIFIED 0x3
typedef
struct
SFilterColumnParam
{
int32_t
numOfCols
;
...
...
@@ -41,7 +41,8 @@ typedef struct SFilterColumnParam {
}
SFilterColumnParam
;
extern
int32_t
filterInitFromNode
(
SNode
*
pNode
,
SFilterInfo
**
pinfo
,
uint32_t
options
);
extern
bool
filterExecute
(
SFilterInfo
*
info
,
SSDataBlock
*
pSrc
,
SColumnInfoData
**
p
,
SColumnDataAgg
*
statis
,
int16_t
numOfCols
,
int32_t
*
pFilterResStatus
);
extern
bool
filterExecute
(
SFilterInfo
*
info
,
SSDataBlock
*
pSrc
,
SColumnInfoData
**
p
,
SColumnDataAgg
*
statis
,
int16_t
numOfCols
,
int32_t
*
pFilterResStatus
);
extern
int32_t
filterSetDataFromSlotId
(
SFilterInfo
*
info
,
void
*
param
);
extern
int32_t
filterSetDataFromColId
(
SFilterInfo
*
info
,
void
*
param
);
extern
int32_t
filterGetTimeRange
(
SNode
*
pNode
,
STimeWindow
*
win
,
bool
*
isStrict
);
...
...
include/libs/scheduler/scheduler.h
浏览文件 @
4cc94968
...
...
@@ -26,18 +26,18 @@ extern "C" {
extern
tsem_t
schdRspSem
;
typedef
struct
SQueryProfileSummary
{
int64_t
startTs
;
// Object created and added into the message queue
int64_t
endTs
;
// the timestamp when the task is completed
int64_t
cputime
;
// total cpu cost, not execute elapsed time
int64_t
startTs
;
// Object created and added into the message queue
int64_t
endTs
;
// the timestamp when the task is completed
int64_t
cputime
;
// total cpu cost, not execute elapsed time
int64_t
loadRemoteDataDuration
;
// remote io time
int64_t
loadNativeDataDuration
;
// native disk io time
int64_t
loadRemoteDataDuration
;
// remote io time
int64_t
loadNativeDataDuration
;
// native disk io time
uint64_t
loadNativeData
;
// blocks + SMA + header files
uint64_t
loadRemoteData
;
// remote data acquired by exchange operator.
uint64_t
loadNativeData
;
// blocks + SMA + header files
uint64_t
loadRemoteData
;
// remote data acquired by exchange operator.
uint64_t
waitDuration
;
// the time to waiting to be scheduled in queue does matter, so we need to record it
int64_t
addQTs
;
// the time to be added into the message queue, used to calculate the waiting duration in queue.
uint64_t
waitDuration
;
// the time to waiting to be scheduled in queue does matter, so we need to record it
int64_t
addQTs
;
// the time to be added into the message queue, used to calculate the waiting duration in queue.
uint64_t
totalRows
;
uint64_t
loadRows
;
...
...
@@ -45,16 +45,16 @@ typedef struct SQueryProfileSummary {
uint32_t
loadBlocks
;
uint32_t
loadBlockAgg
;
uint32_t
skipBlocks
;
uint64_t
resultSize
;
// generated result size in Kb.
uint64_t
resultSize
;
// generated result size in Kb.
}
SQueryProfileSummary
;
typedef
struct
STaskInfo
{
SQueryNodeAddr
addr
;
SSubQueryMsg
*
msg
;
SSubQueryMsg
*
msg
;
}
STaskInfo
;
typedef
struct
SSchdFetchParam
{
void
**
pData
;
void
**
pData
;
int32_t
*
code
;
}
SSchdFetchParam
;
...
...
@@ -63,35 +63,34 @@ typedef void (*schedulerFetchFp)(void* pResult, void* param, int32_t code);
typedef
bool
(
*
schedulerChkKillFp
)(
void
*
param
);
typedef
struct
SSchedulerReq
{
bool
syncReq
;
bool
localReq
;
SRequestConnInfo
*
pConn
;
SArray
*
pNodeList
;
SQueryPlan
*
pDag
;
int64_t
allocatorRefId
;
const
char
*
sql
;
int64_t
startTs
;
schedulerExecFp
execFp
;
schedulerFetchFp
fetchFp
;
void
*
cbParam
;
schedulerChkKillFp
chkKillFp
;
void
*
chkKillParam
;
SExecResult
*
pExecRes
;
void
**
pFetchRes
;
bool
syncReq
;
bool
localReq
;
SRequestConnInfo
*
pConn
;
SArray
*
pNodeList
;
SQueryPlan
*
pDag
;
int64_t
allocatorRefId
;
const
char
*
sql
;
int64_t
startTs
;
schedulerExecFp
execFp
;
schedulerFetchFp
fetchFp
;
void
*
cbParam
;
schedulerChkKillFp
chkKillFp
;
void
*
chkKillParam
;
SExecResult
*
pExecRes
;
void
**
pFetchRes
;
}
SSchedulerReq
;
int32_t
schedulerInit
(
void
);
int32_t
schedulerExecJob
(
SSchedulerReq
*
pReq
,
int64_t
*
pJob
);
int32_t
schedulerExecJob
(
SSchedulerReq
*
pReq
,
int64_t
*
pJob
);
int32_t
schedulerFetchRows
(
int64_t
jobId
,
SSchedulerReq
*
pReq
);
int32_t
schedulerFetchRows
(
int64_t
jobId
,
SSchedulerReq
*
pReq
);
void
schedulerFetchRowsA
(
int64_t
job
,
schedulerFetchFp
fp
,
void
*
param
);
int32_t
schedulerGetTasksStatus
(
int64_t
job
,
SArray
*
pSub
);
int32_t
schedulerGetTasksStatus
(
int64_t
job
,
SArray
*
pSub
);
void
schedulerStopQueryHb
(
void
*
pTrans
);
void
schedulerStopQueryHb
(
void
*
pTrans
);
int32_t
schedulerUpdatePolicy
(
int32_t
policy
);
int32_t
schedulerEnableReSchedule
(
bool
enableResche
);
...
...
@@ -101,7 +100,7 @@ int32_t schedulerEnableReSchedule(bool enableResche);
* @param pJob
* @return
*/
//int32_t scheduleCancelJob(void *pJob);
//
int32_t scheduleCancelJob(void *pJob);
/**
* Free the query job
...
...
include/libs/sync/sync.h
浏览文件 @
4cc94968
...
...
@@ -132,7 +132,7 @@ typedef struct SSyncFSM {
void
(
*
FpRollBackCb
)(
struct
SSyncFSM
*
pFsm
,
const
SRpcMsg
*
pMsg
,
SFsmCbMeta
cbMeta
);
void
(
*
FpRestoreFinishCb
)(
struct
SSyncFSM
*
pFsm
);
void
(
*
FpReConfigCb
)(
struct
SSyncFSM
*
pFsm
,
const
SRpcMsg
*
pMsg
,
SReConfigCbMeta
*
cbMeta
);
void
(
*
FpReConfigCb
)(
struct
SSyncFSM
*
pFsm
,
const
SRpcMsg
*
pMsg
,
SReConfigCbMeta
*
cbMeta
);
void
(
*
FpLeaderTransferCb
)(
struct
SSyncFSM
*
pFsm
,
const
SRpcMsg
*
pMsg
,
SFsmCbMeta
cbMeta
);
void
(
*
FpBecomeLeaderCb
)(
struct
SSyncFSM
*
pFsm
);
...
...
include/libs/tfs/tfs.h
浏览文件 @
4cc94968
...
...
@@ -16,15 +16,15 @@
#ifndef _TD_TFS_H_
#define _TD_TFS_H_
#include "tdef.h"
#include "monitor.h"
#include "tdef.h"
#ifdef __cplusplus
extern
"C"
{
#endif
/* ------------------------ TYPES EXPOSED ------------------------ */
typedef
struct
STfs
STfs
;
typedef
struct
STfs
STfs
;
typedef
struct
STfsDir
STfsDir
;
typedef
struct
{
...
...
include/os/os.h
浏览文件 @
4cc94968
...
...
@@ -26,33 +26,33 @@ extern "C" {
#include <regex.h>
#if !defined(WINDOWS)
#include <unistd.h>
#include <dirent.h>
#include <libgen.h>
#include <sched.h>
#include <unistd.h>
#include <wordexp.h>
#include <libgen.h>
#include <sys/utsname.h>
#include <sys/param.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/shm.h>
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <sys/time.h>
#include <sys/types.h>
#include <termios.h>
#include <sys/statvfs.h>
#include <sys/shm.h>
#include <sys/utsname.h>
#include <sys/wait.h>
#include <termios.h>
#if defined(DARWIN)
#else
#include <sys/prctl.h>
#include <argp.h>
#include <sys/prctl.h>
#endif
#else
#ifndef __func__
#define __func__ __FUNCTION__
#define __func__ __FUNCTION__
#endif
#include <malloc.h>
#include <time.h>
...
...
@@ -82,11 +82,13 @@ extern "C" {
#include <wchar.h>
#include <wctype.h>
#include "taoserror.h"
#include "osThread.h"
#include "osAtomic.h"
#include "osDef.h"
#include "osDir.h"
#include "osEndian.h"
#include "osEnv.h"
#include "osFile.h"
#include "osLocale.h"
#include "osLz4.h"
...
...
@@ -94,10 +96,9 @@ extern "C" {
#include "osMemory.h"
#include "osProc.h"
#include "osRand.h"
#include "osThread.h"
#include "osSemaphore.h"
#include "osSignal.h"
#include "osShm.h"
#include "osSignal.h"
#include "osSleep.h"
#include "osSocket.h"
#include "osString.h"
...
...
@@ -106,7 +107,7 @@ extern "C" {
#include "osTime.h"
#include "osTimer.h"
#include "osTimezone.h"
#include "
osEnv
.h"
#include "
taoserror
.h"
#ifdef __cplusplus
}
...
...
include/os/osDef.h
浏览文件 @
4cc94968
...
...
@@ -21,105 +21,104 @@ extern "C" {
#endif
#if defined(_TD_DARWIN_64)
// specific
// specific
#ifndef __COMPAR_FN_T
#define __COMPAR_FN_T
typedef
int
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
typedef
int
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
#endif
// for send function in tsocket.c
#if defined(MSG_NOSIGNAL)
#undef MSG_NOSIGNAL
#endif
// for send function in tsocket.c
#if defined(MSG_NOSIGNAL)
#undef MSG_NOSIGNAL
#endif
#define MSG_NOSIGNAL
0
#define MSG_NOSIGNAL
0
#define SO_NO_CHECK
0x1234
#define SOL_TCP
0x1234
#define TCP_KEEPIDLE
0x1234
#define SO_NO_CHECK
0x1234
#define SOL_TCP
0x1234
#define TCP_KEEPIDLE
0x1234
#ifndef PTHREAD_MUTEX_RECURSIVE_NP
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#endif
#ifndef PTHREAD_MUTEX_RECURSIVE_NP
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#endif
#endif
#if defined(_ALPINE)
#ifndef __COMPAR_FN_T
#define __COMPAR_FN_T
typedef
int
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
typedef
int
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
#endif
void
error
(
int
,
int
,
const
char
*
);
#ifndef PTHREAD_MUTEX_RECURSIVE_NP
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#endif
void
error
(
int
,
int
,
const
char
*
);
#ifndef PTHREAD_MUTEX_RECURSIVE_NP
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#endif
#endif
#if defined(WINDOWS)
char
*
stpcpy
(
char
*
dest
,
const
char
*
src
);
char
*
stpncpy
(
char
*
dest
,
const
char
*
src
,
int
n
);
char
*
stpcpy
(
char
*
dest
,
const
char
*
src
);
char
*
stpncpy
(
char
*
dest
,
const
char
*
src
,
int
n
);
// specific
// specific
#ifndef __COMPAR_FN_T
#define __COMPAR_FN_T
typedef
int
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
#endif
#define ssize_t int
#define _SSIZE_T_
#define bzero(ptr, size) memset((ptr), 0, (size))
#define strcasecmp
_stricmp
#define strncasecmp
_strnicmp
#define wcsncasecmp
_wcsnicmp
#define strtok_r
strtok_s
// #define snprintf _snprintf
#define in_addr_t unsigned long
typedef
int
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
#endif
#define ssize_t int
#define _SSIZE_T_
#define bzero(ptr, size) memset((ptr), 0, (size))
#define strcasecmp
_stricmp
#define strncasecmp
_strnicmp
#define wcsncasecmp
_wcsnicmp
#define strtok_r
strtok_s
// #define snprintf _snprintf
#define in_addr_t unsigned long
// #define socklen_t int
char
*
strsep
(
char
**
stringp
,
const
char
*
delim
);
char
*
getpass
(
const
char
*
prefix
);
char
*
strndup
(
const
char
*
s
,
int
n
);
// for send function in tsocket.c
#define MSG_NOSIGNAL
0
#define SO_NO_CHECK
0x1234
#define SOL_TCP
0x1234
#define SHUT_RDWR
SD_BOTH
#define SHUT_RD
SD_RECEIVE
#define SHUT_WR
SD_SEND
#define LOCK_EX 1
#define LOCK_NB 2
#define LOCK_UN 3
#ifndef PATH_MAX
#define PATH_MAX 256
#endif
typedef
struct
{
int
we_wordc
;
char
*
we_wordv
[
1
];
int
we_offs
;
char
wordPos
[
1025
];
}
wordexp_t
;
int
wordexp
(
char
*
words
,
wordexp_t
*
pwordexp
,
int
flags
);
void
wordfree
(
wordexp_t
*
pwordexp
);
#define openlog(a, b, c)
#define closelog()
#define LOG_ERR
0
#define LOG_INFO 1
void
syslog
(
int
unused
,
const
char
*
format
,
...);
#endif // WINDOWS
char
*
strsep
(
char
**
stringp
,
const
char
*
delim
);
char
*
getpass
(
const
char
*
prefix
);
char
*
strndup
(
const
char
*
s
,
int
n
);
// for send function in tsocket.c
#define MSG_NOSIGNAL
0
#define SO_NO_CHECK
0x1234
#define SOL_TCP
0x1234
#define SHUT_RDWR
SD_BOTH
#define SHUT_RD
SD_RECEIVE
#define SHUT_WR
SD_SEND
#define LOCK_EX 1
#define LOCK_NB 2
#define LOCK_UN 3
#ifndef PATH_MAX
#define PATH_MAX 256
#endif
typedef
struct
{
int
we_wordc
;
char
*
we_wordv
[
1
];
int
we_offs
;
char
wordPos
[
1025
];
}
wordexp_t
;
int
wordexp
(
char
*
words
,
wordexp_t
*
pwordexp
,
int
flags
);
void
wordfree
(
wordexp_t
*
pwordexp
);
#define openlog(a, b, c)
#define closelog()
#define LOG_ERR
0
#define LOG_INFO 1
void
syslog
(
int
unused
,
const
char
*
format
,
...);
#endif
// WINDOWS
#ifndef WINDOWS
#ifndef O_BINARY
#define O_BINARY 0
#endif
#ifndef O_BINARY
#define O_BINARY 0
#endif
#endif
#define POINTER_SHIFT(p, b) ((void *)((char *)(p) + (b)))
#define POINTER_DISTANCE(p1, p2) ((char *)(p1) - (char *)(p2))
#define POINTER_SHIFT(p, b)
((void *)((char *)(p) + (b)))
#define POINTER_DISTANCE(p1, p2) ((char *)(p1) - (char *)(p2))
#ifndef NDEBUG
#define ASSERT(x) assert(x)
...
...
@@ -141,7 +140,7 @@ extern "C" {
#if defined(__GNUC__)
#define UNUSED_PARAM(x) _UNUSED##x __attribute__((unused))
#define UNUSED_FUNC __attribute__((unused))
#define UNUSED_FUNC
__attribute__((unused))
#else
#define UNUSED_PARAM(x) x
#define UNUSED_FUNC
...
...
@@ -169,16 +168,22 @@ extern "C" {
} \
} while (0)
#define DEFAULT_DOUBLE_COMP(x, y) \
do { \
if (isnan(x) && isnan(y)) { return 0; } \
if (isnan(x)) { return -1; } \
if (isnan(y)) { return 1; } \
if ((x) == (y)) { \
return 0; \
} else { \
return (x) < (y) ? -1 : 1; \
} \
#define DEFAULT_DOUBLE_COMP(x, y) \
do { \
if (isnan(x) && isnan(y)) { \
return 0; \
} \
if (isnan(x)) { \
return -1; \
} \
if (isnan(y)) { \
return 1; \
} \
if ((x) == (y)) { \
return 0; \
} else { \
return (x) < (y) ? -1 : 1; \
} \
} while (0)
#define DEFAULT_FLOAT_COMP(x, y) DEFAULT_DOUBLE_COMP(x, y)
...
...
@@ -190,43 +195,49 @@ extern "C" {
#undef threadlocal
#ifdef _ISOC11_SOURCE
#define threadlocal _Thread_local
#define threadlocal _Thread_local
#elif defined(__APPLE__)
#define threadlocal __thread
#define threadlocal __thread
#elif defined(__GNUC__) && !defined(threadlocal)
#define threadlocal __thread
#define threadlocal __thread
#else
#define threadlocal __declspec( thread
)
#define threadlocal __declspec(thread
)
#endif
#ifdef WINDOWS
#define PRIzu "ld"
#define PRIzu "ld"
#else
#define PRIzu "zu"
#define PRIzu "zu"
#endif
#if !defined(WINDOWS)
#if defined(_TD_DARWIN_64)
// MacOS
#if !defined(_GNU_SOURCE)
#define setThreadName(name) do { pthread_setname_np((name)); } while (0)
#else
// pthread_setname_np not defined
#define setThreadName(name)
#endif
#else
// Linux, length of name must <= 16 (the last '\0' included)
#define setThreadName(name) do { prctl(PR_SET_NAME, (name)); } while (0)
#endif
#if defined(_TD_DARWIN_64)
// MacOS
#if !defined(_GNU_SOURCE)
#define setThreadName(name) \
do { \
pthread_setname_np((name)); \
} while (0)
#else
// pthread_setname_np not defined
#define setThreadName(name)
#endif
#else
// Linux, length of name must <= 16 (the last '\0' included)
#define setThreadName(name) \
do { \
prctl(PR_SET_NAME, (name)); \
} while (0)
#endif
#else
// Windows
#define setThreadName(name)
// Windows
#define setThreadName(name)
#endif
#if defined(_WIN32)
#define TD_DIRSEP
"\\"
#define TD_DIRSEP
"\\"
#else
#define TD_DIRSEP
"/"
#define TD_DIRSEP
"/"
#endif
#define TD_LOCALE_LEN 64
...
...
include/os/osDir.h
浏览文件 @
4cc94968
...
...
@@ -19,12 +19,12 @@
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define opendir
OPENDIR_FUNC_TAOS_FORBID
#define readdir
READDIR_FUNC_TAOS_FORBID
#define closedir CLOSEDIR_FUNC_TAOS_FORBID
#define dirname
DIRNAME_FUNC_TAOS_FORBID
#undef basename
#define basename BASENAME_FUNC_TAOS_FORBID
#define opendir
OPENDIR_FUNC_TAOS_FORBID
#define readdir
READDIR_FUNC_TAOS_FORBID
#define closedir CLOSEDIR_FUNC_TAOS_FORBID
#define dirname
DIRNAME_FUNC_TAOS_FORBID
#undef basename
#define basename BASENAME_FUNC_TAOS_FORBID
#endif
#ifdef __cplusplus
...
...
@@ -32,26 +32,25 @@ extern "C" {
#endif
#ifdef WINDOWS
#define TD_TMP_DIR_PATH "C:\\Windows\\Temp\\"
#define TD_CFG_DIR_PATH "C:\\TDengine\\cfg\\"
#define TD_TMP_DIR_PATH
"C:\\Windows\\Temp\\"
#define TD_CFG_DIR_PATH
"C:\\TDengine\\cfg\\"
#define TD_DATA_DIR_PATH "C:\\TDengine\\data\\"
#define TD_LOG_DIR_PATH "C:\\TDengine\\log\\"
#define TD_LOG_DIR_PATH
"C:\\TDengine\\log\\"
#elif defined(_TD_DARWIN_64)
#define TD_TMP_DIR_PATH "/tmp/taosd/"
#define TD_CFG_DIR_PATH "/etc/taos/"
#define TD_TMP_DIR_PATH
"/tmp/taosd/"
#define TD_CFG_DIR_PATH
"/etc/taos/"
#define TD_DATA_DIR_PATH "/var/lib/taos/"
#define TD_LOG_DIR_PATH "/var/log/taos/"
#define TD_LOG_DIR_PATH
"/var/log/taos/"
#else
#define TD_TMP_DIR_PATH "/tmp/"
#define TD_CFG_DIR_PATH "/etc/taos/"
#define TD_TMP_DIR_PATH
"/tmp/"
#define TD_CFG_DIR_PATH
"/etc/taos/"
#define TD_DATA_DIR_PATH "/var/lib/taos/"
#define TD_LOG_DIR_PATH "/var/log/taos/"
#define TD_LOG_DIR_PATH
"/var/log/taos/"
#endif
typedef
struct
TdDir
*
TdDirPtr
;
typedef
struct
TdDir
*
TdDirPtr
;
typedef
struct
TdDirEntry
*
TdDirEntryPtr
;
void
taosRemoveDir
(
const
char
*
dirname
);
bool
taosDirExist
(
const
char
*
dirname
);
int32_t
taosMkDir
(
const
char
*
dirname
);
...
...
@@ -61,13 +60,13 @@ void taosRemoveOldFiles(const char *dirname, int32_t keepDays);
int32_t
taosExpandDir
(
const
char
*
dirname
,
char
*
outname
,
int32_t
maxlen
);
int32_t
taosRealPath
(
char
*
dirname
,
char
*
realPath
,
int32_t
maxlen
);
bool
taosIsDir
(
const
char
*
dirname
);
char
*
taosDirName
(
char
*
dirname
);
char
*
taosDirEntryBaseName
(
char
*
dirname
);
char
*
taosDirName
(
char
*
dirname
);
char
*
taosDirEntryBaseName
(
char
*
dirname
);
TdDirPtr
taosOpenDir
(
const
char
*
dirname
);
TdDirEntryPtr
taosReadDir
(
TdDirPtr
pDir
);
bool
taosDirEntryIsDir
(
TdDirEntryPtr
pDirEntry
);
char
*
taosGetDirEntryName
(
TdDirEntryPtr
pDirEntry
);
char
*
taosGetDirEntryName
(
TdDirEntryPtr
pDirEntry
);
int32_t
taosCloseDir
(
TdDirPtr
*
ppDir
);
#ifdef __cplusplus
...
...
include/os/osEndian.h
浏览文件 @
4cc94968
...
...
@@ -24,7 +24,7 @@ typedef enum { TD_LITTLE_ENDIAN = 0, TD_BIG_ENDIAN } td_endian_t;
static
const
int32_t
endian_test_var
=
1
;
#define IS_LITTLE_ENDIAN() (*(uint8_t *)(&endian_test_var) != 0)
#define TD_RT_ENDIAN() (IS_LITTLE_ENDIAN() ? TD_LITTLE_ENDIAN : TD_BIG_ENDIAN)
#define TD_RT_ENDIAN()
(IS_LITTLE_ENDIAN() ? TD_LITTLE_ENDIAN : TD_BIG_ENDIAN)
#ifdef __cplusplus
}
...
...
include/os/osEnv.h
浏览文件 @
4cc94968
...
...
@@ -34,7 +34,7 @@ extern int64_t tsOpenMax;
extern
int64_t
tsStreamMax
;
extern
float
tsNumOfCores
;
extern
int64_t
tsTotalMemoryKB
;
extern
char
*
tsProcPath
;
extern
char
*
tsProcPath
;
extern
char
configDir
[];
extern
char
tsDataDir
[];
...
...
include/os/osEok.h
浏览文件 @
4cc94968
...
...
@@ -24,58 +24,54 @@ extern "C" {
#ifdef __APPLE__
enum
EPOLL_EVENTS
{
EPOLLIN
=
0x001
,
enum
EPOLL_EVENTS
{
EPOLLIN
=
0x001
,
#define EPOLLIN EPOLLIN
EPOLLPRI
=
0x002
,
EPOLLPRI
=
0x002
,
#define EPOLLPRI EPOLLPRI
EPOLLOUT
=
0x004
,
EPOLLOUT
=
0x004
,
#define EPOLLOUT EPOLLOUT
EPOLLRDNORM
=
0x040
,
EPOLLRDNORM
=
0x040
,
#define EPOLLRDNORM EPOLLRDNORM
EPOLLRDBAND
=
0x080
,
EPOLLRDBAND
=
0x080
,
#define EPOLLRDBAND EPOLLRDBAND
EPOLLWRNORM
=
0x100
,
EPOLLWRNORM
=
0x100
,
#define EPOLLWRNORM EPOLLWRNORM
EPOLLWRBAND
=
0x200
,
EPOLLWRBAND
=
0x200
,
#define EPOLLWRBAND EPOLLWRBAND
EPOLLMSG
=
0x400
,
EPOLLMSG
=
0x400
,
#define EPOLLMSG EPOLLMSG
EPOLLERR
=
0x008
,
EPOLLERR
=
0x008
,
#define EPOLLERR EPOLLERR
EPOLLHUP
=
0x010
,
EPOLLHUP
=
0x010
,
#define EPOLLHUP EPOLLHUP
EPOLLRDHUP
=
0x2000
,
EPOLLRDHUP
=
0x2000
,
#define EPOLLRDHUP EPOLLRDHUP
EPOLLEXCLUSIVE
=
1u
<<
28
,
EPOLLEXCLUSIVE
=
1u
<<
28
,
#define EPOLLEXCLUSIVE EPOLLEXCLUSIVE
EPOLLWAKEUP
=
1u
<<
29
,
EPOLLWAKEUP
=
1u
<<
29
,
#define EPOLLWAKEUP EPOLLWAKEUP
EPOLLONESHOT
=
1u
<<
30
,
EPOLLONESHOT
=
1u
<<
30
,
#define EPOLLONESHOT EPOLLONESHOT
EPOLLET
=
1u
<<
31
EPOLLET
=
1u
<<
31
#define EPOLLET EPOLLET
};
};
/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl(). */
#define EPOLL_CTL_ADD 1
/* Add a file descriptor to the interface. */
#define EPOLL_CTL_DEL 2
/* Remove a file descriptor from the interface. */
#define EPOLL_CTL_MOD 3
/* Change file descriptor epoll_event structure. */
typedef
union
epoll_data
{
void
*
ptr
;
int
fd
;
typedef
union
epoll_data
{
void
*
ptr
;
int
fd
;
uint32_t
u32
;
uint64_t
u64
;
}
epoll_data_t
;
struct
epoll_event
{
uint32_t
events
;
/* Epoll events */
epoll_data_t
data
;
/* User data variable */
struct
epoll_event
{
uint32_t
events
;
/* Epoll events */
epoll_data_t
data
;
/* User data variable */
};
int
epoll_create
(
int
size
);
...
...
@@ -83,11 +79,10 @@ int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
int
epoll_wait
(
int
epfd
,
struct
epoll_event
*
events
,
int
maxevents
,
int
timeout
);
int
epoll_close
(
int
epfd
);
#endif // __APPLE__
#endif
// __APPLE__
#ifdef __cplusplus
}
#endif
#endif // _eok_h_fd274616_996c_400e_9023_ae70be881fa3_
#endif // _eok_h_fd274616_996c_400e_9023_ae70be881fa3_
include/os/osLocale.h
浏览文件 @
4cc94968
...
...
@@ -25,7 +25,7 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define setlocale SETLOCALE_FUNC_TAOS_FORBID
#define setlocale SETLOCALE_FUNC_TAOS_FORBID
#endif
char
*
taosCharsetReplace
(
char
*
charsetstr
);
...
...
include/os/osLz4.h
浏览文件 @
4cc94968
...
...
@@ -21,25 +21,25 @@ extern "C" {
#endif
#ifdef WINDOWS
int32_t
BUILDIN_CLZL
(
uint64_t
val
);
int32_t
BUILDIN_CLZ
(
uint32_t
val
);
int32_t
BUILDIN_CTZL
(
uint64_t
val
);
int32_t
BUILDIN_CTZ
(
uint32_t
val
);
#elif defined
(_TD_LINUX_32)
#define BUILDIN_CLZL(val) __builtin_clzll(val)
#define BUILDIN_CTZL(val) __builtin_ctzll(val)
#define BUILDIN_CLZ(val)
__builtin_clz(val)
#define BUILDIN_CTZ(val)
__builtin_ctz(val)
#elif defined
(_TD_ARM_32)
#define BUILDIN_CLZL(val) __builtin_clzll(val)
#define BUILDIN_CTZL(val) __builtin_ctzll(val)
#define BUILDIN_CLZ(val)
__builtin_clz(val)
#define BUILDIN_CTZ(val)
__builtin_ctz(val)
int32_t
BUILDIN_CLZL
(
uint64_t
val
);
int32_t
BUILDIN_CLZ
(
uint32_t
val
);
int32_t
BUILDIN_CTZL
(
uint64_t
val
);
int32_t
BUILDIN_CTZ
(
uint32_t
val
);
#elif defined(_TD_LINUX_32)
#define BUILDIN_CLZL(val) __builtin_clzll(val)
#define BUILDIN_CTZL(val) __builtin_ctzll(val)
#define BUILDIN_CLZ(val)
__builtin_clz(val)
#define BUILDIN_CTZ(val)
__builtin_ctz(val)
#elif defined(_TD_ARM_32)
#define BUILDIN_CLZL(val) __builtin_clzll(val)
#define BUILDIN_CTZL(val) __builtin_ctzll(val)
#define BUILDIN_CLZ(val)
__builtin_clz(val)
#define BUILDIN_CTZ(val)
__builtin_ctz(val)
#else
#define BUILDIN_CLZL(val) __builtin_clzl(val)
#define BUILDIN_CTZL(val) __builtin_ctzl(val)
#define BUILDIN_CLZ(val)
__builtin_clz(val)
#define BUILDIN_CTZ(val)
__builtin_ctz(val)
#define BUILDIN_CLZL(val) __builtin_clzl(val)
#define BUILDIN_CTZL(val) __builtin_ctzl(val)
#define BUILDIN_CLZ(val)
__builtin_clz(val)
#define BUILDIN_CTZ(val)
__builtin_ctz(val)
#endif
#ifdef __cplusplus
...
...
include/os/osMath.h
浏览文件 @
4cc94968
...
...
@@ -23,40 +23,40 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following sectio
#ifndef ALLOW_FORBID_FUNC
#define qsort
QSORT_FUNC_TAOS_FORBID
#define qsort QSORT_FUNC_TAOS_FORBID
#endif
#define TPOW2(x) ((x) * (x))
#define TABS(x) ((x) > 0 ? (x) : -(x))
#define TABS(x)
((x) > 0 ? (x) : -(x))
#define TSWAP(a, b)
\
do {
\
char *__tmp = alloca(sizeof(a));
\
memcpy(__tmp, &(a), sizeof(a));
\
memcpy(&(a), &(b), sizeof(a));
\
memcpy(&(b), __tmp, sizeof(a));
\
#define TSWAP(a, b) \
do { \
char *__tmp = alloca(sizeof(a)); \
memcpy(__tmp, &(a), sizeof(a)); \
memcpy(&(a), &(b), sizeof(a)); \
memcpy(&(b), __tmp, sizeof(a)); \
} while (0)
#ifdef WINDOWS
#define TMAX(a, b)
(((a) > (b)) ? (a) : (b))
#define TMIN(a, b)
(((a) < (b)) ? (a) : (b))
#define TRANGE(aa, bb, cc) ((aa) = TMAX((aa), (bb)),
(aa) = TMIN((aa), (cc)))
#define TMAX(a, b)
(((a) > (b)) ? (a) : (b))
#define TMIN(a, b)
(((a) < (b)) ? (a) : (b))
#define TRANGE(aa, bb, cc) ((aa) = TMAX((aa), (bb)),
(aa) = TMIN((aa), (cc)))
#else
#define TMAX(a, b)
\
({
\
__typeof(a) __a = (a);
\
__typeof(b) __b = (b);
\
(__a > __b) ? __a : __b;
\
})
#define TMAX(a, b)
\
({
\
__typeof(a) __a = (a);
\
__typeof(b) __b = (b);
\
(__a > __b) ? __a : __b;
\
})
#define TMIN(a, b)
\
({
\
__typeof(a) __a = (a);
\
__typeof(b) __b = (b);
\
(__a < __b) ? __a : __b;
\
#define TMIN(a, b) \
({ \
__typeof(a) __a = (a); \
__typeof(b) __b = (b); \
(__a < __b) ? __a : __b; \
})
#define TRANGE(a, b, c) \
...
...
@@ -71,7 +71,7 @@ extern "C" {
typedef
int32_t
(
*
__compar_fn_t
)(
const
void
*
,
const
void
*
);
#endif
void
taosSort
(
void
*
arr
,
int64_t
sz
,
int64_t
width
,
__compar_fn_t
compar
);
void
taosSort
(
void
*
arr
,
int64_t
sz
,
int64_t
width
,
__compar_fn_t
compar
);
#ifdef __cplusplus
}
...
...
include/os/osMemory.h
浏览文件 @
4cc94968
...
...
@@ -23,19 +23,19 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following sectio
#ifndef ALLOW_FORBID_FUNC
#define malloc
MALLOC_FUNC_TAOS_FORBID
#define calloc
CALLOC_FUNC_TAOS_FORBID
#define realloc REALLOC_FUNC_TAOS_FORBID
#define free
FREE_FUNC_TAOS_FORBID
#define malloc
MALLOC_FUNC_TAOS_FORBID
#define calloc
CALLOC_FUNC_TAOS_FORBID
#define realloc REALLOC_FUNC_TAOS_FORBID
#define free
FREE_FUNC_TAOS_FORBID
#endif
void
*
taosMemoryMalloc
(
int32_t
size
);
void
*
taosMemoryCalloc
(
int32_t
num
,
int32_t
size
);
void
*
taosMemoryRealloc
(
void
*
ptr
,
int32_t
size
);
void
*
taosMemoryStrDup
(
const
char
*
ptr
);
void
taosMemoryFree
(
void
*
ptr
);
void
*
taosMemoryMalloc
(
int32_t
size
);
void
*
taosMemoryCalloc
(
int32_t
num
,
int32_t
size
);
void
*
taosMemoryRealloc
(
void
*
ptr
,
int32_t
size
);
void
*
taosMemoryStrDup
(
const
char
*
ptr
);
void
taosMemoryFree
(
void
*
ptr
);
int32_t
taosMemorySize
(
void
*
ptr
);
void
taosPrintBackTrace
();
void
taosPrintBackTrace
();
#define taosMemoryFreeClear(ptr) \
do { \
...
...
include/os/osRand.h
浏览文件 @
4cc94968
...
...
@@ -23,14 +23,14 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define rand
RAND_FUNC_TAOS_FORBID
#define srand
SRAND_FUNC_TAOS_FORBID
#define rand_r RANDR_FUNC_TAOS_FORBID
#define rand
RAND_FUNC_TAOS_FORBID
#define srand
SRAND_FUNC_TAOS_FORBID
#define rand_r RANDR_FUNC_TAOS_FORBID
#endif
void
taosSeedRand
(
uint32_t
seed
);
void
taosSeedRand
(
uint32_t
seed
);
uint32_t
taosRand
(
void
);
uint32_t
taosRandR
(
uint32_t
*
pSeed
);
uint32_t
taosRandR
(
uint32_t
*
pSeed
);
void
taosRandStr
(
char
*
str
,
int32_t
size
);
uint32_t
taosSafeRand
(
void
);
...
...
include/os/osShm.h
浏览文件 @
4cc94968
...
...
@@ -23,10 +23,10 @@ extern "C" {
typedef
struct
{
int32_t
id
;
int32_t
size
;
void
*
ptr
;
void
*
ptr
;
}
SShm
;
int32_t
taosCreateShm
(
SShm
*
pShm
,
int32_t
key
,
int32_t
shmsize
)
;
int32_t
taosCreateShm
(
SShm
*
pShm
,
int32_t
key
,
int32_t
shmsize
);
void
taosDropShm
(
SShm
*
pShm
);
int32_t
taosAttachShm
(
SShm
*
pShm
);
...
...
include/os/osSignal.h
浏览文件 @
4cc94968
...
...
@@ -21,27 +21,27 @@ extern "C" {
#endif
#ifndef SIGALRM
#define SIGALRM 1234
#define SIGALRM 1234
#endif
#ifndef SIGHUP
#define SIGHUP 1230
#define SIGHUP 1230
#endif
#ifndef SIGCHLD
#define SIGCHLD 1234
#define SIGCHLD 1234
#endif
#ifndef SIGUSR1
#define SIGUSR1 1234
#define SIGUSR1 1234
#endif
#ifndef SIGUSR2
#define SIGUSR2 1234
#define SIGUSR2 1234
#endif
#ifndef SIGBREAK
#define SIGBREAK 1234
#define SIGBREAK 1234
#endif
#ifdef WINDOWS
...
...
@@ -59,4 +59,4 @@ void taosKillChildOnParentStopped();
}
#endif
#endif
/*_TD_OS_SIGNAL_H_*/
#endif
/*_TD_OS_SIGNAL_H_*/
include/os/osSleep.h
浏览文件 @
4cc94968
...
...
@@ -23,10 +23,10 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define Sleep
SLEEP_FUNC_TAOS_FORBID
#define sleep
SLEEP_FUNC_TAOS_FORBID
#define usleep
USLEEP_FUNC_TAOS_FORBID
#define nanosleep NANOSLEEP_FUNC_TAOS_FORBID
#define Sleep
SLEEP_FUNC_TAOS_FORBID
#define sleep
SLEEP_FUNC_TAOS_FORBID
#define usleep
USLEEP_FUNC_TAOS_FORBID
#define nanosleep NANOSLEEP_FUNC_TAOS_FORBID
#endif
void
taosSsleep
(
int32_t
s
);
...
...
include/os/osSocket.h
浏览文件 @
4cc94968
...
...
@@ -75,7 +75,7 @@ extern "C" {
typedef
int
socklen_t
;
#define TAOS_EPOLL_WAIT_TIME 100
typedef
SOCKET
eventfd_t
;
#define eventfd(a, b)
-1
#define eventfd(a, b) -1
#ifndef EPOLLWAKEUP
#define EPOLLWAKEUP (1u << 29)
#endif
...
...
@@ -119,8 +119,8 @@ typedef int32_t SocketFd;
typedef
SocketFd
EpollFd
;
typedef
struct
TdSocketServer
*
TdSocketServerPtr
;
typedef
struct
TdSocket
*
TdSocketPtr
;
typedef
struct
TdEpoll
*
TdEpollPtr
;
typedef
struct
TdSocket
*
TdSocketPtr
;
typedef
struct
TdEpoll
*
TdEpollPtr
;
int32_t
taosSendto
(
TdSocketPtr
pSocket
,
void
*
msg
,
int
len
,
unsigned
int
flags
,
const
struct
sockaddr
*
to
,
int
tolen
);
int32_t
taosWriteSocket
(
TdSocketPtr
pSocket
,
void
*
msg
,
int
len
);
...
...
include/os/osString.h
浏览文件 @
4cc94968
...
...
@@ -26,37 +26,37 @@ typedef int32_t TdUcs4;
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define iconv_open
ICONV_OPEN_FUNC_TAOS_FORBID
#define iconv_close ICONV_CLOSE_FUNC_TAOS_FORBID
#define iconv
ICONV_FUNC_TAOS_FORBID
#define wcwidth
WCWIDTH_FUNC_TAOS_FORBID
#define wcswidth
WCSWIDTH_FUNC_TAOS_FORBID
#define mbtowc
MBTOWC_FUNC_TAOS_FORBID
#define mbstowcs
MBSTOWCS_FUNC_TAOS_FORBID
#define wctomb
WCTOMB_FUNC_TAOS_FORBID
#define wcstombs
WCSTOMBS_FUNC_TAOS_FORBID
#define wcsncpy
WCSNCPY_FUNC_TAOS_FORBID
#define wchar_t
WCHAR_T_TYPE_TAOS_FORBID
#define strcasestr
STR_CASE_STR_FORBID
#define strtoll
STR_TO_LL_FUNC_TAOS_FORBID
#define strtoull
STR_TO_ULL_FUNC_TAOS_FORBID
#define strtol
STR_TO_L_FUNC_TAOS_FORBID
#define strtoul
STR_TO_UL_FUNC_TAOS_FORBID
#define strtod
STR_TO_LD_FUNC_TAOS_FORBID
#define strtold
STR_TO_D_FUNC_TAOS_FORBID
#define strtof
STR_TO_F_FUNC_TAOS_FORBID
#define iconv_open
ICONV_OPEN_FUNC_TAOS_FORBID
#define iconv_close ICONV_CLOSE_FUNC_TAOS_FORBID
#define iconv
ICONV_FUNC_TAOS_FORBID
#define wcwidth
WCWIDTH_FUNC_TAOS_FORBID
#define wcswidth
WCSWIDTH_FUNC_TAOS_FORBID
#define mbtowc
MBTOWC_FUNC_TAOS_FORBID
#define mbstowcs
MBSTOWCS_FUNC_TAOS_FORBID
#define wctomb
WCTOMB_FUNC_TAOS_FORBID
#define wcstombs
WCSTOMBS_FUNC_TAOS_FORBID
#define wcsncpy
WCSNCPY_FUNC_TAOS_FORBID
#define wchar_t
WCHAR_T_TYPE_TAOS_FORBID
#define strcasestr
STR_CASE_STR_FORBID
#define strtoll
STR_TO_LL_FUNC_TAOS_FORBID
#define strtoull
STR_TO_ULL_FUNC_TAOS_FORBID
#define strtol
STR_TO_L_FUNC_TAOS_FORBID
#define strtoul
STR_TO_UL_FUNC_TAOS_FORBID
#define strtod
STR_TO_LD_FUNC_TAOS_FORBID
#define strtold
STR_TO_D_FUNC_TAOS_FORBID
#define strtof
STR_TO_F_FUNC_TAOS_FORBID
#endif
#ifdef WINDOWS
#define tstrdup(str) _strdup(str)
#define tstrdup(str) _strdup(str)
#else
#define tstrdup(str) strdup(str)
#define tstrdup(str) strdup(str)
#endif
#define tstrncpy(dst, src, size) \
do {
\
strncpy((dst), (src), (size));
\
(dst)[(size)-1] = 0;
\
#define tstrncpy(dst, src, size)
\
do { \
strncpy((dst), (src), (size)); \
(dst)[(size)-1] = 0; \
} while (0)
int32_t
taosUcs4len
(
TdUcs4
*
ucs4
);
...
...
@@ -67,7 +67,7 @@ void taosConvDestroy();
int32_t
taosUcs4ToMbs
(
TdUcs4
*
ucs4
,
int32_t
ucs4_max_len
,
char
*
mbs
);
bool
taosMbsToUcs4
(
const
char
*
mbs
,
size_t
mbs_len
,
TdUcs4
*
ucs4
,
int32_t
ucs4_max_len
,
int32_t
*
len
);
int32_t
tasoUcs4Compare
(
TdUcs4
*
f1_ucs4
,
TdUcs4
*
f2_ucs4
,
int32_t
bytes
);
TdUcs4
*
tasoUcs4Copy
(
TdUcs4
*
target_ucs4
,
TdUcs4
*
source_ucs4
,
int32_t
len_ucs4
);
TdUcs4
*
tasoUcs4Copy
(
TdUcs4
*
target_ucs4
,
TdUcs4
*
source_ucs4
,
int32_t
len_ucs4
);
bool
taosValidateEncodec
(
const
char
*
encodec
);
int32_t
taosHexEncode
(
const
unsigned
char
*
src
,
char
*
dst
,
int32_t
len
);
int32_t
taosHexDecode
(
const
char
*
src
,
char
*
dst
,
int32_t
len
);
...
...
@@ -80,16 +80,16 @@ int32_t taosWcharToMb(char *pStr, TdWchar wchar);
char
*
taosStrCaseStr
(
const
char
*
str
,
const
char
*
pattern
);
int64_t
taosStr2Int64
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint64_t
taosStr2UInt64
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
int32_t
taosStr2Int32
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint32_t
taosStr2UInt32
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
int16_t
taosStr2Int16
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint16_t
taosStr2UInt16
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
int8_t
taosStr2Int8
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint8_t
taosStr2UInt8
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
double
taosStr2Double
(
const
char
*
str
,
char
**
pEnd
);
float
taosStr2Float
(
const
char
*
str
,
char
**
pEnd
);
int64_t
taosStr2Int64
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint64_t
taosStr2UInt64
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
int32_t
taosStr2Int32
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint32_t
taosStr2UInt32
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
int16_t
taosStr2Int16
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint16_t
taosStr2UInt16
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
int8_t
taosStr2Int8
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
uint8_t
taosStr2UInt8
(
const
char
*
str
,
char
**
pEnd
,
int32_t
radix
);
double
taosStr2Double
(
const
char
*
str
,
char
**
pEnd
);
float
taosStr2Float
(
const
char
*
str
,
char
**
pEnd
);
#ifdef __cplusplus
}
...
...
include/os/osSysinfo.h
浏览文件 @
4cc94968
...
...
@@ -54,10 +54,10 @@ void taosSetCoreDump(bool enable);
#if !defined(LINUX)
#define _UTSNAME_LENGTH 65
#define _UTSNAME_LENGTH
65
#define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH
#endif // WINDOWS
#endif
// WINDOWS
typedef
struct
{
char
sysname
[
_UTSNAME_MACHINE_LENGTH
];
...
...
@@ -68,7 +68,7 @@ typedef struct {
}
SysNameInfo
;
SysNameInfo
taosGetSysNameInfo
();
bool
taosCheckCurrentInDll
();
bool
taosCheckCurrentInDll
();
#ifdef __cplusplus
}
...
...
include/os/osSystem.h
浏览文件 @
4cc94968
...
...
@@ -23,16 +23,16 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define popen
POPEN_FUNC_TAOS_FORBID
#define pclose
PCLOSE_FUNC_TAOS_FORBID
#define tcsetattr TCSETATTR_FUNC_TAOS_FORBID
#define tcgetattr TCGETATTR_FUNC_TAOS_FORBID
#define popen
POPEN_FUNC_TAOS_FORBID
#define pclose
PCLOSE_FUNC_TAOS_FORBID
#define tcsetattr TCSETATTR_FUNC_TAOS_FORBID
#define tcgetattr TCGETATTR_FUNC_TAOS_FORBID
#endif
typedef
struct
TdCmd
*
TdCmdPtr
;
typedef
struct
TdCmd
*
TdCmdPtr
;
TdCmdPtr
taosOpenCmd
(
const
char
*
cmd
);
int64_t
taosGetsCmd
(
TdCmdPtr
pCmd
,
int32_t
maxSize
,
char
*
__restrict
buf
);
int64_t
taosGetsCmd
(
TdCmdPtr
pCmd
,
int32_t
maxSize
,
char
*
__restrict
buf
);
int64_t
taosGetLineCmd
(
TdCmdPtr
pCmd
,
char
**
__restrict
ptrBuf
);
int32_t
taosEOFCmd
(
TdCmdPtr
pCmd
);
int64_t
taosCloseCmd
(
TdCmdPtr
*
ppCmd
);
...
...
include/os/osThread.h
浏览文件 @
4cc94968
此差异已折叠。
点击以展开。
include/os/osTimer.h
浏览文件 @
4cc94968
...
...
@@ -23,22 +23,22 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define timer_create
TIMER_CREATE_FUNC_TAOS_FORBID
#define timer_settime TIMER_SETTIME_FUNC_TAOS_FORBID
#define timer_delete
TIMER_DELETE_FUNC_TAOS_FORBID
#define timeSetEvent
TIMESETEVENT_SETTIME_FUNC_TAOS_FORBID
#define timeKillEvent TIMEKILLEVENT_SETTIME_FUNC_TAOS_FORBID
#define timer_create
TIMER_CREATE_FUNC_TAOS_FORBID
#define timer_settime TIMER_SETTIME_FUNC_TAOS_FORBID
#define timer_delete
TIMER_DELETE_FUNC_TAOS_FORBID
#define timeSetEvent
TIMESETEVENT_SETTIME_FUNC_TAOS_FORBID
#define timeKillEvent TIMEKILLEVENT_SETTIME_FUNC_TAOS_FORBID
#endif
#define MSECONDS_PER_TICK 5
int32_t
taosInitTimer
(
void
(
*
callback
)(
int32_t
),
int32_t
ms
);
void
taosUninitTimer
();
int64_t
taosGetMonotonicMs
();
int32_t
taosInitTimer
(
void
(
*
callback
)(
int32_t
),
int32_t
ms
);
void
taosUninitTimer
();
int64_t
taosGetMonotonicMs
();
const
char
*
taosMonotonicInit
();
#ifdef __cplusplus
}
#endif
#endif
/*_TD_OS_TIMER_H_*/
#endif
/*_TD_OS_TIMER_H_*/
include/os/osTimezone.h
浏览文件 @
4cc94968
...
...
@@ -23,36 +23,35 @@ extern "C" {
// If the error is in a third-party library, place this header file under the third-party library header file.
// When you want to use this feature, you should find or add the same function in the following section.
#ifndef ALLOW_FORBID_FUNC
#define tzset TZSET_FUNC_TAOS_FORBID
#define tzset TZSET_FUNC_TAOS_FORBID
#endif
enum
TdTimezone
{
TdWestZone12
=-
12
,
TdWestZone11
,
TdWestZone10
,
TdWestZone9
,
TdWestZone8
,
TdWestZone7
,
TdWestZone6
,
TdWestZone5
,
TdWestZone4
,
TdWestZone3
,
TdWestZone2
,
TdWestZone1
,
TdZeroZone
,
TdEastZone1
,
TdEastZone2
,
TdEastZone3
,
TdEastZone4
,
TdEastZone5
,
TdEastZone6
,
TdEastZone7
,
TdEastZone8
,
TdEastZone9
,
TdEastZone10
,
TdEastZone11
,
TdEastZone12
enum
TdTimezone
{
TdWestZone12
=
-
12
,
TdWestZone11
,
TdWestZone10
,
TdWestZone9
,
TdWestZone8
,
TdWestZone7
,
TdWestZone6
,
TdWestZone5
,
TdWestZone4
,
TdWestZone3
,
TdWestZone2
,
TdWestZone1
,
TdZeroZone
,
TdEastZone1
,
TdEastZone2
,
TdEastZone3
,
TdEastZone4
,
TdEastZone5
,
TdEastZone6
,
TdEastZone7
,
TdEastZone8
,
TdEastZone9
,
TdEastZone10
,
TdEastZone11
,
TdEastZone12
};
void
taosGetSystemTimezone
(
char
*
outTimezone
,
enum
TdTimezone
*
tsTimezone
);
...
...
include/util/tbloomfilter.h
浏览文件 @
4cc94968
...
...
@@ -25,26 +25,25 @@ extern "C" {
#endif
typedef
struct
SBloomFilter
{
uint32_t
hashFunctions
;
uint64_t
expectedEntries
;
uint64_t
numUnits
;
uint64_t
numBits
;
uint64_t
size
;
uint32_t
hashFunctions
;
uint64_t
expectedEntries
;
uint64_t
numUnits
;
uint64_t
numBits
;
uint64_t
size
;
_hash_fn_t
hashFn1
;
_hash_fn_t
hashFn2
;
void
*
buffer
;
double
errorRate
;
void
*
buffer
;
double
errorRate
;
}
SBloomFilter
;
SBloomFilter
*
tBloomFilterInit
(
uint64_t
expectedEntries
,
double
errorRate
);
int32_t
tBloomFilterPut
(
SBloomFilter
*
pBF
,
const
void
*
keyBuf
,
uint32_t
len
);
int32_t
tBloomFilterNoContain
(
const
SBloomFilter
*
pBF
,
const
void
*
keyBuf
,
uint32_t
len
);
void
tBloomFilterDestroy
(
SBloomFilter
*
pBF
);
void
tBloomFilterDump
(
const
SBloomFilter
*
pBF
);
bool
tBloomFilterIsFull
(
const
SBloomFilter
*
pBF
);
int32_t
tBloomFilterEncode
(
const
SBloomFilter
*
pBF
,
SEncoder
*
pEncoder
);
SBloomFilter
*
tBloomFilterDecode
(
SDecoder
*
pDecoder
);
int32_t
tBloomFilterPut
(
SBloomFilter
*
pBF
,
const
void
*
keyBuf
,
uint32_t
len
);
int32_t
tBloomFilterNoContain
(
const
SBloomFilter
*
pBF
,
const
void
*
keyBuf
,
uint32_t
len
);
void
tBloomFilterDestroy
(
SBloomFilter
*
pBF
);
void
tBloomFilterDump
(
const
SBloomFilter
*
pBF
);
bool
tBloomFilterIsFull
(
const
SBloomFilter
*
pBF
);
int32_t
tBloomFilterEncode
(
const
SBloomFilter
*
pBF
,
SEncoder
*
pEncoder
);
SBloomFilter
*
tBloomFilterDecode
(
SDecoder
*
pDecoder
);
#ifdef __cplusplus
}
...
...
include/util/tconfig.h
浏览文件 @
4cc94968
...
...
@@ -105,11 +105,11 @@ int32_t cfgAddTimezone(SConfig *pCfg, const char *name, const char *defaultVal);
const
char
*
cfgStypeStr
(
ECfgSrcType
type
);
const
char
*
cfgDtypeStr
(
ECfgDataType
type
);
void
cfgDumpItemValue
(
SConfigItem
*
pItem
,
char
*
buf
,
int32_t
bufSize
,
int32_t
*
pLen
);
void
cfgDumpItemValue
(
SConfigItem
*
pItem
,
char
*
buf
,
int32_t
bufSize
,
int32_t
*
pLen
);
void
cfgDumpCfg
(
SConfig
*
pCfg
,
bool
tsc
,
bool
dump
);
int32_t
cfgGetApollUrl
(
const
char
**
envCmd
,
const
char
*
envFile
,
char
*
apolloUrl
);
int32_t
cfgGetApollUrl
(
const
char
**
envCmd
,
const
char
*
envFile
,
char
*
apolloUrl
);
#ifdef __cplusplus
}
...
...
include/util/tcrc32c.h
浏览文件 @
4cc94968
/*
Copyright (c) 2013 - 2014, 2016 Mark Adler, Robert Vazan, Max Vysokikh
Copyright (c) 2013 - 2014, 2016 Mark Adler, Robert Vazan, Max Vysokikh
This software is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
This software is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#ifndef _TD_UTIL_CRC32_H_
#define _TD_UTIL_CRC32_H_
...
...
@@ -41,4 +41,4 @@ void taosResolveCRC();
}
#endif
#endif
/*_TD_UTIL_CRC32_H_*/
#endif
/*_TD_UTIL_CRC32_H_*/
include/util/tdigest.h
浏览文件 @
4cc94968
...
...
@@ -23,49 +23,50 @@
#define TDIGEST_H
#ifndef M_PI
#define M_PI
3.14159265358979323846264338327950288
/* pi */
#define M_PI
3.14159265358979323846264338327950288
/* pi */
#endif
#define DOUBLE_MAX 1.79e+308
#define ADDITION_CENTROID_NUM 2
#define COMPRESSION 300
#define ADDITION_CENTROID_NUM
2
#define COMPRESSION
300
#define GET_CENTROID(compression) (ceil(compression * M_PI / 2) + 1 + ADDITION_CENTROID_NUM)
#define GET_THRESHOLD(compression) (7.5 + 0.37 * compression - 2e-4 * pow(compression, 2))
#define TDIGEST_SIZE(compression) (sizeof(TDigest) + sizeof(SCentroid)*GET_CENTROID(compression) + sizeof(SPt)*GET_THRESHOLD(compression))
#define TDIGEST_SIZE(compression) \
(sizeof(TDigest) + sizeof(SCentroid) * GET_CENTROID(compression) + sizeof(SPt) * GET_THRESHOLD(compression))
typedef
struct
SCentroid
{
double
mean
;
int64_t
weight
;
}
SCentroid
;
double
mean
;
int64_t
weight
;
}
SCentroid
;
typedef
struct
SPt
{
double
value
;
int64_t
weight
;
}
SPt
;
double
value
;
int64_t
weight
;
}
SPt
;
typedef
struct
TDigest
{
double
compression
;
int32_t
threshold
;
int64_t
size
;
double
compression
;
int32_t
threshold
;
int64_t
size
;
int64_t
total_weight
;
double
min
;
double
max
;
int64_t
total_weight
;
double
min
;
double
max
;
int32_t
num_buffered_pts
;
SPt
*
buffered_pts
;
int32_t
num_buffered_pts
;
SPt
*
buffered_pts
;
int32_t
num_centroids
;
SCentroid
*
centroids
;
}
TDigest
;
int32_t
num_centroids
;
SCentroid
*
centroids
;
}
TDigest
;
TDigest
*
tdigestNewFrom
(
void
*
pBuf
,
int32_t
compression
);
void
tdigestAdd
(
TDigest
*
t
,
double
x
,
int64_t
w
);
void
tdigestMerge
(
TDigest
*
t1
,
TDigest
*
t2
);
double
tdigestQuantile
(
TDigest
*
t
,
double
q
);
void
tdigestCompress
(
TDigest
*
t
);
void
tdigestFreeFrom
(
TDigest
*
t
);
void
tdigestAutoFill
(
TDigest
*
t
,
int32_t
compression
);
TDigest
*
tdigestNewFrom
(
void
*
pBuf
,
int32_t
compression
);
void
tdigestAdd
(
TDigest
*
t
,
double
x
,
int64_t
w
);
void
tdigestMerge
(
TDigest
*
t1
,
TDigest
*
t2
);
double
tdigestQuantile
(
TDigest
*
t
,
double
q
);
void
tdigestCompress
(
TDigest
*
t
);
void
tdigestFreeFrom
(
TDigest
*
t
);
void
tdigestAutoFill
(
TDigest
*
t
,
int32_t
compression
);
#endif
/* TDIGEST_H */
include/util/thash.h
浏览文件 @
4cc94968
...
...
@@ -29,7 +29,7 @@ typedef void (*_hash_before_fn_t)(void *);
typedef
void
(
*
_hash_free_fn_t
)(
void
*
);
#define HASH_KEY_ALREADY_EXISTS (-2)
#define HASH_NODE_EXIST(code) (code == HASH_KEY_ALREADY_EXISTS)
#define HASH_NODE_EXIST(code)
(code == HASH_KEY_ALREADY_EXISTS)
/**
* murmur hash algorithm
...
...
@@ -50,7 +50,7 @@ uint64_t MurmurHash3_64(const char *key, uint32_t len);
uint32_t
taosIntHash_32
(
const
char
*
key
,
uint32_t
len
);
uint32_t
taosIntHash_64
(
const
char
*
key
,
uint32_t
len
);
_hash_fn_t
taosGetDefaultHashFunction
(
int32_t
type
);
_hash_fn_t
taosGetDefaultHashFunction
(
int32_t
type
);
_equal_fn_t
taosGetDefaultEqualFunction
(
int32_t
type
);
typedef
enum
SHashLockTypeE
{
...
...
@@ -59,7 +59,7 @@ typedef enum SHashLockTypeE {
}
SHashLockTypeE
;
typedef
struct
SHashNode
SHashNode
;
typedef
struct
SHashObj
SHashObj
;
typedef
struct
SHashObj
SHashObj
;
/**
* init the hash table
...
...
@@ -118,7 +118,7 @@ int32_t taosHashGetDup(SHashObj *pHashObj, const void *key, size_t keyLen, void
* @param size
* @return
*/
int32_t
taosHashGetDup_m
(
SHashObj
*
pHashObj
,
const
void
*
key
,
size_t
keyLen
,
void
**
destBuf
,
int32_t
*
size
);
int32_t
taosHashGetDup_m
(
SHashObj
*
pHashObj
,
const
void
*
key
,
size_t
keyLen
,
void
**
destBuf
,
int32_t
*
size
);
/**
* remove item with the specified key
...
...
@@ -169,13 +169,13 @@ void *taosHashIterate(SHashObj *pHashObj, void *p);
*/
void
taosHashCancelIterate
(
SHashObj
*
pHashObj
,
void
*
p
);
/**
* Get the corresponding key information for a given data in hash table
* @param data
* @param keyLen
* @return
*/
void
*
taosHashGetKey
(
void
*
data
,
size_t
*
keyLen
);
/**
* Get the corresponding key information for a given data in hash table
* @param data
* @param keyLen
* @return
*/
void
*
taosHashGetKey
(
void
*
data
,
size_t
*
keyLen
);
/**
* return the payload data with the specified key(reference number added)
...
...
include/util/tidpool.h
浏览文件 @
4cc94968
...
...
@@ -23,10 +23,10 @@ extern "C" {
#endif
typedef
struct
{
int32_t
maxId
;
int32_t
numOfFree
;
int32_t
freeSlot
;
bool
*
freeList
;
int32_t
maxId
;
int32_t
numOfFree
;
int32_t
freeSlot
;
bool
*
freeList
;
TdThreadMutex
mutex
;
}
id_pool_t
;
...
...
include/util/tlrucache.h
浏览文件 @
4cc94968
...
...
@@ -28,37 +28,34 @@ typedef void (*_taos_lru_deleter_t)(const void *key, size_t keyLen, void *value)
typedef
struct
LRUHandle
LRUHandle
;
typedef
enum
{
TAOS_LRU_PRIORITY_HIGH
,
TAOS_LRU_PRIORITY_LOW
}
LRUPriority
;
typedef
enum
{
TAOS_LRU_PRIORITY_HIGH
,
TAOS_LRU_PRIORITY_LOW
}
LRUPriority
;
typedef
enum
{
TAOS_LRU_STATUS_OK
,
TAOS_LRU_STATUS_FAIL
,
TAOS_LRU_STATUS_INCOMPLETE
,
TAOS_LRU_STATUS_OK_OVERWRITTEN
}
LRUStatus
;
SLRUCache
*
taosLRUCacheInit
(
size_t
capacity
,
int
numShardBits
,
double
highPriPoolRatio
);
void
taosLRUCacheCleanup
(
SLRUCache
*
cache
);
LRUStatus
taosLRUCacheInsert
(
SLRUCache
*
cache
,
const
void
*
key
,
size_t
keyLen
,
void
*
value
,
size_t
charge
,
_taos_lru_deleter_t
deleter
,
LRUHandle
**
handle
,
LRUPriority
priority
);
LRUHandle
*
taosLRUCacheLookup
(
SLRUCache
*
cache
,
const
void
*
key
,
size_t
keyLen
);
void
taosLRUCacheErase
(
SLRUCache
*
cache
,
const
void
*
key
,
size_t
keyLen
);
SLRUCache
*
taosLRUCacheInit
(
size_t
capacity
,
int
numShardBits
,
double
highPriPoolRatio
);
void
taosLRUCacheCleanup
(
SLRUCache
*
cache
);
LRUStatus
taosLRUCacheInsert
(
SLRUCache
*
cache
,
const
void
*
key
,
size_t
keyLen
,
void
*
value
,
size_t
charge
,
_taos_lru_deleter_t
deleter
,
LRUHandle
**
handle
,
LRUPriority
priority
);
LRUHandle
*
taosLRUCacheLookup
(
SLRUCache
*
cache
,
const
void
*
key
,
size_t
keyLen
);
void
taosLRUCacheErase
(
SLRUCache
*
cache
,
const
void
*
key
,
size_t
keyLen
);
void
taosLRUCacheEraseUnrefEntries
(
SLRUCache
*
cache
);
bool
taosLRUCacheRef
(
SLRUCache
*
cache
,
LRUHandle
*
handle
);
bool
taosLRUCacheRelease
(
SLRUCache
*
cache
,
LRUHandle
*
handle
,
bool
eraseIfLastRef
);
void
*
taosLRUCacheValue
(
SLRUCache
*
cache
,
LRUHandle
*
handle
);
void
*
taosLRUCacheValue
(
SLRUCache
*
cache
,
LRUHandle
*
handle
);
size_t
taosLRUCacheGetUsage
(
SLRUCache
*
cache
);
size_t
taosLRUCacheGetPinnedUsage
(
SLRUCache
*
cache
);
void
taosLRUCacheSetCapacity
(
SLRUCache
*
cache
,
size_t
capacity
);
void
taosLRUCacheSetCapacity
(
SLRUCache
*
cache
,
size_t
capacity
);
size_t
taosLRUCacheGetCapacity
(
SLRUCache
*
cache
);
void
taosLRUCacheSetStrictCapacity
(
SLRUCache
*
cache
,
bool
strict
);
...
...
include/util/tpagedbuf.h
浏览文件 @
4cc94968
...
...
@@ -53,7 +53,8 @@ typedef struct SDiskbasedBufStatis {
* @param handle
* @return
*/
int32_t
createDiskbasedBuf
(
SDiskbasedBuf
**
pBuf
,
int32_t
pagesize
,
int32_t
inMemBufSize
,
const
char
*
id
,
const
char
*
dir
);
int32_t
createDiskbasedBuf
(
SDiskbasedBuf
**
pBuf
,
int32_t
pagesize
,
int32_t
inMemBufSize
,
const
char
*
id
,
const
char
*
dir
);
/**
*
...
...
@@ -158,7 +159,7 @@ void setBufPageCompressOnDisk(SDiskbasedBuf* pBuf, bool comp);
* @param pBuf
* @param pageId
*/
void
dBufSetBufPageRecycled
(
SDiskbasedBuf
*
pBuf
,
void
*
pPage
);
void
dBufSetBufPageRecycled
(
SDiskbasedBuf
*
pBuf
,
void
*
pPage
);
/**
* Print the statistics when closing this buffer
...
...
include/util/tscalablebf.h
浏览文件 @
4cc94968
...
...
@@ -23,18 +23,17 @@ extern "C" {
#endif
typedef
struct
SScalableBf
{
SArray
*
bfArray
;
// array of bloom filters
SArray
*
bfArray
;
// array of bloom filters
uint32_t
growth
;
uint64_t
numBits
;
}
SScalableBf
;
SScalableBf
*
tScalableBfInit
(
uint64_t
expectedEntries
,
double
errorRate
);
int32_t
tScalableBfPut
(
SScalableBf
*
pSBf
,
const
void
*
keyBuf
,
uint32_t
len
);
int32_t
tScalableBfNoContain
(
const
SScalableBf
*
pSBf
,
const
void
*
keyBuf
,
uint32_t
len
);
void
tScalableBfDestroy
(
SScalableBf
*
pSBf
);
int32_t
tScalableBfEncode
(
const
SScalableBf
*
pSBf
,
SEncoder
*
pEncoder
);
SScalableBf
*
tScalableBfDecode
(
SDecoder
*
pDecoder
);
int32_t
tScalableBfPut
(
SScalableBf
*
pSBf
,
const
void
*
keyBuf
,
uint32_t
len
);
int32_t
tScalableBfNoContain
(
const
SScalableBf
*
pSBf
,
const
void
*
keyBuf
,
uint32_t
len
);
void
tScalableBfDestroy
(
SScalableBf
*
pSBf
);
int32_t
tScalableBfEncode
(
const
SScalableBf
*
pSBf
,
SEncoder
*
pEncoder
);
SScalableBf
*
tScalableBfDecode
(
SDecoder
*
pDecoder
);
#ifdef __cplusplus
}
...
...
include/util/tthread.h
浏览文件 @
4cc94968
...
...
@@ -23,10 +23,10 @@ extern "C" {
#endif
TdThread
*
taosCreateThread
(
void
*
(
*
__start_routine
)(
void
*
),
void
*
param
);
bool
taosDestroyThread
(
TdThread
*
pthread
);
bool
taosThreadRunning
(
TdThread
*
pthread
);
bool
taosDestroyThread
(
TdThread
*
pthread
);
bool
taosThreadRunning
(
TdThread
*
pthread
);
typedef
void
*
(
*
ThreadFp
)(
void
*
param
);
typedef
void
*
(
*
ThreadFp
)(
void
*
param
);
#ifdef __cplusplus
}
...
...
include/util/tutil.h
浏览文件 @
4cc94968
...
...
@@ -19,8 +19,8 @@
#include "os.h"
#include "tcrc32c.h"
#include "tdef.h"
#include "tmd5.h"
#include "thash.h"
#include "tmd5.h"
#ifdef __cplusplus
extern
"C"
{
...
...
@@ -71,7 +71,7 @@ static FORCE_INLINE void taosEncryptPass_c(uint8_t *inBuf, size_t len, char *tar
}
static
FORCE_INLINE
int32_t
taosGetTbHashVal
(
const
char
*
tbname
,
int32_t
tblen
,
int32_t
method
,
int32_t
prefix
,
int32_t
suffix
)
{
int32_t
suffix
)
{
if
(
prefix
==
0
&&
suffix
==
0
)
{
return
MurmurHash3_32
(
tbname
,
tblen
);
}
else
{
...
...
tools/scripts/codeFormat.sh
0 → 100644
浏览文件 @
4cc94968
#!/bin/bash
PRJ_ROOT_DIR
=
$(
readlink
-f
--
"
$(
dirname
$0
)
/../.."
)
FORMAT_BIN
=
clang-format-14
ORIGIN_DIR
=
$(
pwd
)
cd
${
PRJ_ROOT_DIR
}
FORMAT_DIR_LIST
=(
"include"
# "source"
)
for
d
in
${
FORMAT_DIR_LIST
[@]
}
;
do
for
f
in
$(
find
${
PRJ_ROOT_DIR
}
/
$d
/
-regex
'.*\.\(cpp\|hpp\|c\|h\)'
)
;
do
${
FORMAT_BIN
}
-i
$f
done
done
cd
${
ORIGIN_DIR
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录