Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
6dcc58aa
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6dcc58aa
编写于
9月 28, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
9月 28, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3707 from taosdata/feature/os
Feature/os
上级
ad4ba3a7
05687d1e
变更
31
显示空白变更内容
内联
并排
Showing
31 changed file
with
184 addition
and
65 deletion
+184
-65
cmake/define.inc
cmake/define.inc
+15
-5
cmake/version.inc
cmake/version.inc
+6
-0
src/client/src/TSDBJNIConnector.c
src/client/src/TSDBJNIConnector.c
+5
-5
src/client/src/tscServer.c
src/client/src/tscServer.c
+2
-2
src/client/src/tscStream.c
src/client/src/tscStream.c
+2
-2
src/common/src/tdataformat.c
src/common/src/tdataformat.c
+4
-4
src/common/src/ttypes.c
src/common/src/ttypes.c
+4
-4
src/common/src/tvariant.c
src/common/src/tvariant.c
+8
-8
src/connector/go
src/connector/go
+1
-1
src/inc/taosdef.h
src/inc/taosdef.h
+1
-1
src/os/inc/os.h
src/os/inc/os.h
+6
-2
src/os/inc/osArm32.h
src/os/inc/osArm32.h
+90
-0
src/os/inc/osNingsi.h
src/os/inc/osNingsi.h
+0
-2
src/os/inc/osWindows.h
src/os/inc/osWindows.h
+1
-3
src/os/src/detail/CMakeLists.txt
src/os/src/detail/CMakeLists.txt
+4
-0
src/os/src/detail/osSysinfo.c
src/os/src/detail/osSysinfo.c
+0
-1
src/os/src/linux/ningsi.c
src/os/src/linux/ningsi.c
+1
-1
src/plugins/http/src/httpContext.c
src/plugins/http/src/httpContext.c
+6
-5
src/plugins/http/src/httpGcJson.c
src/plugins/http/src/httpGcJson.c
+1
-1
src/plugins/http/src/httpJson.c
src/plugins/http/src/httpJson.c
+5
-5
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+2
-2
src/rpc/src/rpcMain.c
src/rpc/src/rpcMain.c
+1
-1
src/rpc/src/rpcUdp.c
src/rpc/src/rpcUdp.c
+1
-1
src/sync/src/syncRetrieve.c
src/sync/src/syncRetrieve.c
+1
-1
src/sync/test/syncServer.c
src/sync/test/syncServer.c
+1
-1
src/util/inc/tcache.h
src/util/inc/tcache.h
+8
-0
src/util/src/hash.c
src/util/src/hash.c
+1
-1
src/wal/test/waltest.c
src/wal/test/waltest.c
+2
-2
tests/comparisonTest/tdengine/tdengineTest.c
tests/comparisonTest/tdengine/tdengineTest.c
+1
-1
tests/examples/c/demo.c
tests/examples/c/demo.c
+2
-1
tests/tsim/src/simExe.c
tests/tsim/src/simExe.c
+2
-2
未找到文件。
cmake/define.inc
浏览文件 @
6dcc58aa
...
...
@@ -48,6 +48,7 @@ ENDIF ()
IF
(
TD_LINUX_64
)
ADD_DEFINITIONS
(
-
D_M_X64
)
ADD_DEFINITIONS
(
-
D_TD_LINUX_64
)
MESSAGE
(
STATUS
"linux64 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g3 -gdwarf-2 -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
ADD_DEFINITIONS
(
-
DUSE_LIBICONV
)
ENDIF
()
...
...
@@ -55,30 +56,35 @@ ENDIF ()
IF
(
TD_LINUX_32
)
ADD_DEFINITIONS
(
-
D_TD_LINUX_32
)
ADD_DEFINITIONS
(
-
DUSE_LIBICONV
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g -fsigned-char -munaligned-access -fpack-struct=8 -latomic -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
MESSAGE
(
STATUS
"linux32 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g -fsigned-char -munaligned-access -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
ENDIF
()
IF
(
TD_ARM_64
)
ADD_DEFINITIONS
(
-
D_M_X64
)
ADD_DEFINITIONS
(
-
D_TD_ARM_64
_
)
ADD_DEFINITIONS
(
-
D_TD_ARM_64
)
ADD_DEFINITIONS
(
-
D_TD_ARM_
)
ADD_DEFINITIONS
(
-
DUSE_LIBICONV
)
MESSAGE
(
STATUS
"arm64 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g -fsigned-char -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
ENDIF
()
IF
(
TD_ARM_32
)
ADD_DEFINITIONS
(
-
D_TD_ARM_32
_
)
ADD_DEFINITIONS
(
-
D_TD_ARM_32
)
ADD_DEFINITIONS
(
-
D_TD_ARM_
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g -fsigned-char -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
MESSAGE
(
STATUS
"arm32 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g -fsigned-char -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -Wno-incompatible-pointer-types "
)
ENDIF
()
IF
(
TD_MIPS_64
)
ADD_DEFINITIONS
(
-
D_TD_MIPS_64_
)
MESSAGE
(
STATUS
"mips64 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g3 -gdwarf-2 -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
ENDIF
()
IF
(
TD_MIPS_32
)
ADD_DEFINITIONS
(
-
D_TD_MIPS_32_
)
MESSAGE
(
STATUS
"mips32 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -fPIC -g3 -gdwarf-2 -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
ENDIF
()
...
...
@@ -86,6 +92,7 @@ IF (TD_APLHINE)
SET
(
COMMON_FLAGS
"${COMMON_FLAGS} -largp"
)
link_libraries
(
/
usr
/
lib
/
libargp
.
a
)
ADD_DEFINITIONS
(
-
D_ALPINE
)
MESSAGE
(
STATUS
"aplhine is defined"
)
ENDIF
()
IF
(
TD_LINUX
)
...
...
@@ -95,7 +102,7 @@ IF (TD_LINUX)
ADD_DEFINITIONS
(
-
D_REENTRANT
-
D__USE_POSIX
-
D_LIBC_REENTRANT
)
IF
(
TD_NINGSI_60
)
ADD_DEFINITIONS
(
-
D_TD_NINGSI_60
_
)
ADD_DEFINITIONS
(
-
D_TD_NINGSI_60
)
MESSAGE
(
STATUS
"set ningsi macro to true"
)
ENDIF
()
...
...
@@ -118,6 +125,7 @@ IF (TD_DARWIN_64)
ADD_DEFINITIONS
(
-
DDARWIN
)
ADD_DEFINITIONS
(
-
D_REENTRANT
-
D__USE_POSIX
-
D_LIBC_REENTRANT
)
ADD_DEFINITIONS
(
-
DUSE_LIBICONV
)
MESSAGE
(
STATUS
"darwin64 is defined"
)
SET
(
COMMON_FLAGS
"-std=gnu99 -Wall -Werror -Wno-missing-braces -fPIC -g -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE"
)
SET
(
DEBUG_FLAGS
"-O0 -DDEBUG"
)
SET
(
RELEASE_FLAGS
"-O0"
)
...
...
@@ -147,11 +155,13 @@ IF (TD_WINDOWS_64)
ADD_DEFINITIONS
(
-
D_M_X64
)
ADD_DEFINITIONS
(
-
D_TD_WINDOWS_64
)
ADD_DEFINITIONS
(
-
DUSE_LIBICONV
)
MESSAGE
(
STATUS
"windows64 is defined"
)
ENDIF
()
IF
(
TD_WINDOWS_32
)
ADD_DEFINITIONS
(
-
D_TD_WINDOWS_32
)
ADD_DEFINITIONS
(
-
DUSE_LIBICONV
)
MESSAGE
(
STATUS
"windows32 is defined"
)
ENDIF
()
INCLUDE_DIRECTORIES
(
$
{
TD_COMMUNITY_DIR
}
/
src
/
inc
)
...
...
cmake/version.inc
浏览文件 @
6dcc58aa
...
...
@@ -42,6 +42,12 @@ IF (DEFINED CPUTYPE)
ELSE
()
IF
(
TD_WINDOWS_32
)
SET
(
TD_VER_CPUTYPE
"x86"
)
ELSEIF
(
TD_LINUX_32
)
SET
(
TD_VER_CPUTYPE
"x86"
)
ELSEIF
(
TD_ARM_32
)
SET
(
TD_VER_CPUTYPE
"x86"
)
ELSEIF
(
TD_MIPS_32
)
SET
(
TD_VER_CPUTYPE
"x86"
)
ELSE
()
SET
(
TD_VER_CPUTYPE
"x64"
)
ENDIF
()
...
...
src/client/src/TSDBJNIConnector.c
浏览文件 @
6dcc58aa
...
...
@@ -149,7 +149,7 @@ JNIEXPORT void JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_initImp(JNIEnv *e
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setOptions
(
JNIEnv
*
env
,
jobject
jobj
,
jint
optionIndex
,
jstring
optionValue
)
{
if
(
optionValue
==
NULL
)
{
jniDebug
(
"option index:%d value is null"
,
optionIndex
);
jniDebug
(
"option index:%d value is null"
,
(
int32_t
)
optionIndex
);
return
0
;
}
...
...
@@ -183,7 +183,7 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_setOptions(JNIEnv
}
(
*
env
)
->
ReleaseStringUTFChars
(
env
,
optionValue
,
tz1
);
}
else
{
jniError
(
"option index:%d is not found"
,
optionIndex
);
jniError
(
"option index:%d is not found"
,
(
int32_t
)
optionIndex
);
}
return
res
;
...
...
@@ -227,10 +227,10 @@ JNIEXPORT jlong JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_connectImp(JNIEn
ret
=
(
jlong
)
taos_connect
((
char
*
)
host
,
(
char
*
)
user
,
(
char
*
)
pass
,
(
char
*
)
dbname
,
(
uint16_t
)
jport
);
if
(
ret
==
0
)
{
jniError
(
"jobj:%p, conn:%p, connect to database failed, host=%s, user=%s, dbname=%s, port=%d"
,
jobj
,
(
void
*
)
ret
,
(
char
*
)
host
,
(
char
*
)
user
,
(
char
*
)
dbname
,
jport
);
(
char
*
)
host
,
(
char
*
)
user
,
(
char
*
)
dbname
,
(
int32_t
)
jport
);
}
else
{
jniDebug
(
"jobj:%p, conn:%p, connect to database succeed, host=%s, user=%s, dbname=%s, port=%d"
,
jobj
,
(
void
*
)
ret
,
(
char
*
)
host
,
(
char
*
)
user
,
(
char
*
)
dbname
,
jport
);
(
char
*
)
host
,
(
char
*
)
user
,
(
char
*
)
dbname
,
(
int32_t
)
jport
);
}
if
(
host
!=
NULL
)
(
*
env
)
->
ReleaseStringUTFChars
(
env
,
jhost
,
host
);
...
...
@@ -385,7 +385,7 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_getAffectedRowsIm
}
jint
ret
=
taos_affected_rows
((
SSqlObj
*
)
res
);
jniDebug
(
"jobj:%p, conn:%p, sql:%p, res: %p, affect rows:%d"
,
jobj
,
tscon
,
(
void
*
)
con
,
(
void
*
)
res
,
ret
);
jniDebug
(
"jobj:%p, conn:%p, sql:%p, res: %p, affect rows:%d"
,
jobj
,
tscon
,
(
void
*
)
con
,
(
void
*
)
res
,
(
int32_t
)
ret
);
return
ret
;
}
...
...
src/client/src/tscServer.c
浏览文件 @
6dcc58aa
...
...
@@ -642,14 +642,14 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
size_t
numOfSrcCols
=
taosArrayGetSize
(
pQueryInfo
->
colList
);
if
(
numOfSrcCols
<=
0
&&
!
tscQueryTags
(
pQueryInfo
))
{
tscError
(
"%p illegal value of numOfCols in query msg: %"
PRIu64
", table cols:%d"
,
pSql
,
numOfSrcCols
,
tscError
(
"%p illegal value of numOfCols in query msg: %"
PRIu64
", table cols:%d"
,
pSql
,
(
uint64_t
)
numOfSrcCols
,
tscGetNumOfColumns
(
pTableMeta
));
return
TSDB_CODE_TSC_INVALID_SQL
;
}
if
(
pQueryInfo
->
interval
.
interval
<
0
)
{
tscError
(
"%p illegal value of aggregation time interval in query msg: %
ld"
,
pSql
,
pQueryInfo
->
interval
.
interval
);
tscError
(
"%p illegal value of aggregation time interval in query msg: %
"
PRId64
,
pSql
,
(
int64_t
)
pQueryInfo
->
interval
.
interval
);
return
TSDB_CODE_TSC_INVALID_SQL
;
}
...
...
src/client/src/tscStream.c
浏览文件 @
6dcc58aa
...
...
@@ -398,8 +398,8 @@ static void tscSetSlidingWindowInfo(SSqlObj *pSql, SSqlStream *pStream) {
SQueryInfo
*
pQueryInfo
=
tscGetQueryInfoDetail
(
&
pSql
->
cmd
,
0
);
if
(
pQueryInfo
->
interval
.
intervalUnit
!=
'n'
&&
pQueryInfo
->
interval
.
intervalUnit
!=
'y'
&&
pQueryInfo
->
interval
.
interval
<
minIntervalTime
)
{
tscWarn
(
"%p stream:%p, original sample interval:%
ld
too small, reset to:%"
PRId64
,
pSql
,
pStream
,
pQueryInfo
->
interval
.
interval
,
minIntervalTime
);
tscWarn
(
"%p stream:%p, original sample interval:%
"
PRId64
"
too small, reset to:%"
PRId64
,
pSql
,
pStream
,
(
int64_t
)
pQueryInfo
->
interval
.
interval
,
minIntervalTime
);
pQueryInfo
->
interval
.
interval
=
minIntervalTime
;
}
...
...
src/common/src/tdataformat.c
浏览文件 @
6dcc58aa
...
...
@@ -313,13 +313,13 @@ void dataColSetOffset(SDataCol *pCol, int nEle) {
SDataCols
*
tdNewDataCols
(
int
maxRowSize
,
int
maxCols
,
int
maxRows
)
{
SDataCols
*
pCols
=
(
SDataCols
*
)
calloc
(
1
,
sizeof
(
SDataCols
));
if
(
pCols
==
NULL
)
{
uDebug
(
"malloc failure, size:%"
PRId64
" failed, reason:%s"
,
sizeof
(
SDataCols
),
strerror
(
errno
));
uDebug
(
"malloc failure, size:%"
PRId64
" failed, reason:%s"
,
(
int64_t
)
sizeof
(
SDataCols
),
strerror
(
errno
));
return
NULL
;
}
pCols
->
cols
=
(
SDataCol
*
)
calloc
(
maxCols
,
sizeof
(
SDataCol
));
if
(
pCols
->
cols
==
NULL
)
{
uDebug
(
"malloc failure, size:%"
PRId64
" failed, reason:%s"
,
sizeof
(
SDataCol
)
*
maxCols
,
strerror
(
errno
));
uDebug
(
"malloc failure, size:%"
PRId64
" failed, reason:%s"
,
(
int64_t
)
sizeof
(
SDataCol
)
*
maxCols
,
strerror
(
errno
));
tdFreeDataCols
(
pCols
);
return
NULL
;
}
...
...
@@ -331,7 +331,7 @@ SDataCols *tdNewDataCols(int maxRowSize, int maxCols, int maxRows) {
pCols
->
buf
=
malloc
(
pCols
->
bufSize
);
if
(
pCols
->
buf
==
NULL
)
{
uDebug
(
"malloc failure, size:%"
PRId64
" failed, reason:%s"
,
sizeof
(
SDataCol
)
*
maxCols
,
strerror
(
errno
));
uDebug
(
"malloc failure, size:%"
PRId64
" failed, reason:%s"
,
(
int64_t
)
sizeof
(
SDataCol
)
*
maxCols
,
strerror
(
errno
));
tdFreeDataCols
(
pCols
);
return
NULL
;
}
...
...
src/common/src/ttypes.c
浏览文件 @
6dcc58aa
...
...
@@ -235,7 +235,7 @@ static void getStatics_f(const TSKEY *primaryKey, const void *pData, int32_t num
double
csum
=
0
;
csum
=
GET_DOUBLE_VAL
(
sum
);
csum
+=
dsum
;
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
SET_DOUBLE_VAL_ALIGN
(
sum
,
&
csum
);
SET_DOUBLE_VAL_ALIGN
(
max
,
&
fmax
);
SET_DOUBLE_VAL_ALIGN
(
min
,
&
fmin
);
...
...
@@ -282,7 +282,7 @@ static void getStatics_d(const TSKEY *primaryKey, const void *pData, int32_t num
csum
+=
dsum
;
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
SET_DOUBLE_VAL_ALIGN
(
sum
,
&
csum
);
SET_DOUBLE_VAL_ALIGN
(
max
,
&
dmax
);
SET_DOUBLE_VAL_ALIGN
(
min
,
&
dmin
);
...
...
@@ -494,7 +494,7 @@ void assignVal(char *val, const char *src, int32_t len, int32_t type) {
break
;
}
case
TSDB_DATA_TYPE_FLOAT
:
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
float
fv
=
GET_FLOAT_VAL
(
src
);
SET_FLOAT_VAL_ALIGN
(
val
,
&
fv
);
#else
...
...
@@ -503,7 +503,7 @@ void assignVal(char *val, const char *src, int32_t len, int32_t type) {
break
;
};
case
TSDB_DATA_TYPE_DOUBLE
:
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
double
dv
=
GET_DOUBLE_VAL
(
src
);
SET_DOUBLE_VAL_ALIGN
(
val
,
&
dv
);
#else
...
...
src/common/src/tvariant.c
浏览文件 @
6dcc58aa
...
...
@@ -709,7 +709,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
return
-
1
;
}
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
//memcpy(&payload, &value, sizeof(float));
float
fv
=
(
float
)
value
;
SET_FLOAT_VAL_ALIGN
(
payload
,
&
fv
);
...
...
@@ -718,7 +718,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
#endif
}
}
else
if
(
pVariant
->
nType
>=
TSDB_DATA_TYPE_BOOL
&&
pVariant
->
nType
<=
TSDB_DATA_TYPE_BIGINT
)
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
//memcpy(&payload, &pVariant->i64Key, sizeof(float));
float
fv
=
(
float
)
pVariant
->
i64Key
;
SET_FLOAT_VAL_ALIGN
(
payload
,
&
fv
);
...
...
@@ -726,7 +726,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
*
((
float
*
)
payload
)
=
(
float
)
pVariant
->
i64Key
;
#endif
}
else
if
(
pVariant
->
nType
==
TSDB_DATA_TYPE_DOUBLE
||
pVariant
->
nType
==
TSDB_DATA_TYPE_FLOAT
)
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
//memcpy(&payload, &pVariant->dKey, sizeof(float));
float
fv
=
(
float
)
pVariant
->
dKey
;
SET_FLOAT_VAL_ALIGN
(
payload
,
&
fv
);
...
...
@@ -738,7 +738,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
return
0
;
}
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
float
fv
=
GET_FLOAT_VAL
(
payload
);
if
(
isinf
(
fv
)
||
isnan
(
fv
)
||
fv
>
FLT_MAX
||
fv
<
-
FLT_MAX
)
{
return
-
1
;
...
...
@@ -765,21 +765,21 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
return
-
1
;
}
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
SET_DOUBLE_VAL_ALIGN
(
payload
,
&
value
);
#else
*
((
double
*
)
payload
)
=
value
;
#endif
}
}
else
if
(
pVariant
->
nType
>=
TSDB_DATA_TYPE_BOOL
&&
pVariant
->
nType
<=
TSDB_DATA_TYPE_BIGINT
)
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
double
dv
=
(
double
)(
pVariant
->
i64Key
);
SET_DOUBLE_VAL_ALIGN
(
payload
,
&
dv
);
#else
*
((
double
*
)
payload
)
=
(
double
)
pVariant
->
i64Key
;
#endif
}
else
if
(
pVariant
->
nType
==
TSDB_DATA_TYPE_DOUBLE
||
pVariant
->
nType
==
TSDB_DATA_TYPE_FLOAT
)
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
double
dv
=
(
double
)(
pVariant
->
dKey
);
SET_DOUBLE_VAL_ALIGN
(
payload
,
&
dv
);
#else
...
...
@@ -790,7 +790,7 @@ int32_t tVariantDump(tVariant *pVariant, char *payload, int16_t type, bool inclu
return
0
;
}
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
double
dv
=
GET_DOUBLE_VAL
(
payload
);
if
(
isinf
(
dv
)
||
isnan
(
dv
)
||
dv
>
DBL_MAX
||
dv
<
-
DBL_MAX
)
{
return
-
1
;
...
...
go
@
06ec30a0
比较
8d7bf743
...
06ec30a0
Subproject commit
8d7bf743852897110cbdcc7c4322cd7a74d4167b
Subproject commit
06ec30a0f1762e8169bf6b9045c82bcaa52bcdf0
src/inc/taosdef.h
浏览文件 @
6dcc58aa
...
...
@@ -131,7 +131,7 @@ do { \
#define GET_INT16_VAL(x) (*(int16_t *)(x))
#define GET_INT32_VAL(x) (*(int32_t *)(x))
#define GET_INT64_VAL(x) (*(int64_t *)(x))
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
#define GET_FLOAT_VAL(x) taos_align_get_float(x)
#define GET_DOUBLE_VAL(x) taos_align_get_double(x)
...
...
src/os/inc/os.h
浏览文件 @
6dcc58aa
...
...
@@ -24,10 +24,14 @@ extern "C" {
#include "osDarwin.h"
#endif
#ifdef _TD_ARM_64
_
#ifdef _TD_ARM_64
#include "osArm64.h"
#endif
#ifdef _TD_ARM_32
#include "osArm32.h"
#endif
#ifdef _TD_LINUX_64
#include "osLinux64.h"
#endif
...
...
@@ -40,7 +44,7 @@ extern "C" {
#include "osAlpine.h"
#endif
#ifdef _TD_NINGSI_60
_
#ifdef _TD_NINGSI_60
#include "osNingsi.h"
#endif
...
...
src/os/inc/osArm32.h
0 → 100644
浏览文件 @
6dcc58aa
/*
* 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_OS_ARM32_H
#define TDENGINE_OS_ARM32_H
#ifdef __cplusplus
extern
"C"
{
#endif
#include <stdio.h>
#include <stdlib.h>
#include <argp.h>
#include <arpa/inet.h>
#include <assert.h>
#include <ctype.h>
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <float.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <limits.h>
#include <locale.h>
#include <math.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <pthread.h>
#include <pwd.h>
#include <regex.h>
#include <semaphore.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <strings.h>
#include <sys/epoll.h>
#include <sys/eventfd.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/sendfile.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/statvfs.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <sys/un.h>
#include <syslog.h>
#include <termios.h>
#include <unistd.h>
#include <wchar.h>
#include <wordexp.h>
#include <wctype.h>
#include <inttypes.h>
#include <fcntl.h>
#include <sys/utsname.h>
#include <sys/resource.h>
#include <error.h>
#define TAOS_OS_FUNC_LZ4
#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)
#ifdef __cplusplus
}
#endif
#endif
src/os/inc/osNingsi.h
浏览文件 @
6dcc58aa
...
...
@@ -129,8 +129,6 @@ void* atomic_exchange_ptr_impl( void **ptr, void *val );
#define atomic_fetch_xor_64(ptr, val) __sync_fetch_and_xor((ptr), (val))
#define atomic_fetch_xor_ptr(ptr, val) __sync_fetch_and_xor((ptr), (val))
#ifdef __cplusplus
}
#endif
...
...
src/os/inc/osWindows.h
浏览文件 @
6dcc58aa
...
...
@@ -51,8 +51,6 @@
extern
"C"
{
#endif
#define TAOS_OS_FUNC_ATOMIC
#define TAOS_OS_FUNC_LZ4
int32_t
BUILDIN_CLZL
(
uint64_t
val
);
int32_t
BUILDIN_CLZ
(
uint32_t
val
);
...
...
src/os/src/detail/CMakeLists.txt
浏览文件 @
6dcc58aa
...
...
@@ -9,3 +9,7 @@ SET_SOURCE_FILES_PROPERTIES(osCoredump.c PROPERTIES COMPILE_FLAGS -w)
ADD_LIBRARY
(
osdetail
${
SRC
}
)
TARGET_LINK_LIBRARIES
(
osdetail os
)
IF
(
TD_ARM_32 OR TD_LINUX_32
)
TARGET_LINK_LIBRARIES
(
osdetail atomic
)
ENDIF
()
src/os/src/detail/osSysinfo.c
浏览文件 @
6dcc58aa
...
...
@@ -569,7 +569,6 @@ int taosSystem(const char *cmd) {
}
}
int
_sysctl
(
struct
__sysctl_args
*
args
);
void
taosSetCoreDump
()
{
if
(
0
==
tsEnableCoreFile
)
{
return
;
...
...
src/os/src/linux/ningsi.c
浏览文件 @
6dcc58aa
...
...
@@ -16,7 +16,7 @@
#define _DEFAULT_SOURCE
#include "os.h"
#ifdef _TD_NINGSI_60
_
#ifdef _TD_NINGSI_60
void
*
atomic_exchange_ptr_impl
(
void
**
ptr
,
void
*
val
)
{
void
*
old
;
do
{
...
...
src/plugins/http/src/httpContext.c
浏览文件 @
6dcc58aa
...
...
@@ -67,7 +67,7 @@ static void httpDestroyContext(void *data) {
}
bool
httpInitContexts
()
{
tsHttpServer
.
contextCache
=
taosCacheInit
(
TSDB_
DATA_TYPE_BIGINT
,
2
,
true
,
httpDestroyContext
,
"restc"
);
tsHttpServer
.
contextCache
=
taosCacheInit
(
TSDB_
CACHE_PTR_KEY
,
2
,
true
,
httpDestroyContext
,
"restc"
);
if
(
tsHttpServer
.
contextCache
==
NULL
)
{
httpError
(
"failed to init context cache"
);
return
false
;
...
...
@@ -117,8 +117,9 @@ HttpContext *httpCreateContext(int32_t fd) {
pContext
->
state
=
HTTP_CONTEXT_STATE_READY
;
pContext
->
parser
=
httpCreateParser
(
pContext
);
uint64_t
handleVal
=
(
uint64_t
)
pContext
;
HttpContext
**
ppContext
=
taosCachePut
(
tsHttpServer
.
contextCache
,
&
handleVal
,
sizeof
(
int64_t
),
&
pContext
,
sizeof
(
int64_t
),
3000
);
TSDB_CACHE_PTR_TYPE
handleVal
=
(
TSDB_CACHE_PTR_TYPE
)
pContext
;
HttpContext
**
ppContext
=
taosCachePut
(
tsHttpServer
.
contextCache
,
&
handleVal
,
sizeof
(
TSDB_CACHE_PTR_TYPE
),
&
pContext
,
sizeof
(
TSDB_CACHE_PTR_TYPE
),
3000
);
pContext
->
ppContext
=
ppContext
;
httpDebug
(
"context:%p, fd:%d, is created, data:%p"
,
pContext
,
fd
,
ppContext
);
...
...
@@ -129,8 +130,8 @@ HttpContext *httpCreateContext(int32_t fd) {
}
HttpContext
*
httpGetContext
(
void
*
ptr
)
{
uint64_t
handleVal
=
(
uint64_t
)
ptr
;
HttpContext
**
ppContext
=
taosCacheAcquireByKey
(
tsHttpServer
.
contextCache
,
&
handleVal
,
sizeof
(
HttpContext
*
));
TSDB_CACHE_PTR_TYPE
handleVal
=
(
TSDB_CACHE_PTR_TYPE
)
ptr
;
HttpContext
**
ppContext
=
taosCacheAcquireByKey
(
tsHttpServer
.
contextCache
,
&
handleVal
,
sizeof
(
TSDB_CACHE_PTR_TYPE
));
if
(
ppContext
)
{
HttpContext
*
pContext
=
*
ppContext
;
...
...
src/plugins/http/src/httpGcJson.c
浏览文件 @
6dcc58aa
...
...
@@ -145,7 +145,7 @@ bool gcBuildQueryJson(HttpContext *pContext, HttpSqlCmd *cmd, TAOS_RES *result,
len
+=
snprintf
(
target
+
len
,
HTTP_GC_TARGET_SIZE
-
len
,
"%s:%d,"
,
fields
[
i
].
name
,
*
((
int32_t
*
)
row
[
i
]));
break
;
case
TSDB_DATA_TYPE_BIGINT
:
len
+=
snprintf
(
target
+
len
,
HTTP_GC_TARGET_SIZE
-
len
,
"%s:%
ld"
,
fields
[
i
].
name
,
*
((
int64_t
*
)
row
[
i
]));
len
+=
snprintf
(
target
+
len
,
HTTP_GC_TARGET_SIZE
-
len
,
"%s:%
"
PRId64
,
fields
[
i
].
name
,
*
((
int64_t
*
)
row
[
i
]));
break
;
case
TSDB_DATA_TYPE_FLOAT
:
len
+=
snprintf
(
target
+
len
,
HTTP_GC_TARGET_SIZE
-
len
,
"%s:%.5f"
,
fields
[
i
].
name
,
*
((
float
*
)
row
[
i
]));
...
...
src/plugins/http/src/httpJson.c
浏览文件 @
6dcc58aa
...
...
@@ -113,7 +113,7 @@ int32_t httpWriteJsonBufBody(JsonBuf* buf, bool isTheLast) {
httpTrace
(
"context:%p, fd:%d, no data need dump"
,
buf
->
pContext
,
buf
->
pContext
->
fd
);
return
0
;
// there is no data to dump.
}
else
{
int32_t
len
=
sprintf
(
sLen
,
"%
lx
\r\n
"
,
srcLen
);
int32_t
len
=
sprintf
(
sLen
,
"%
"
PRIx64
"
\r\n
"
,
srcLen
);
httpTrace
(
"context:%p, fd:%d, write body, chunkSize:%"
PRIu64
", response:
\n
%s"
,
buf
->
pContext
,
buf
->
pContext
->
fd
,
srcLen
,
buf
->
buf
);
httpWriteBufNoTrace
(
buf
->
pContext
,
sLen
,
len
);
...
...
@@ -267,9 +267,9 @@ void httpJsonTimestamp(JsonBuf* buf, int64_t t, bool us) {
ptm
=
localtime
(
&
tt
);
int32_t
length
=
(
int32_t
)
strftime
(
ts
,
35
,
"%Y-%m-%d %H:%M:%S"
,
ptm
);
if
(
us
)
{
length
+=
snprintf
(
ts
+
length
,
8
,
".%06
ld"
,
t
%
precision
);
length
+=
snprintf
(
ts
+
length
,
8
,
".%06
"
PRId64
,
t
%
precision
);
}
else
{
length
+=
snprintf
(
ts
+
length
,
5
,
".%03
ld"
,
t
%
precision
);
length
+=
snprintf
(
ts
+
length
,
5
,
".%03
"
PRId64
,
t
%
precision
);
}
httpJsonString
(
buf
,
ts
,
length
);
...
...
@@ -287,9 +287,9 @@ void httpJsonUtcTimestamp(JsonBuf* buf, int64_t t, bool us) {
ptm
=
localtime
(
&
tt
);
int32_t
length
=
(
int32_t
)
strftime
(
ts
,
40
,
"%Y-%m-%dT%H:%M:%S"
,
ptm
);
if
(
us
)
{
length
+=
snprintf
(
ts
+
length
,
8
,
".%06
ld"
,
t
%
precision
);
length
+=
snprintf
(
ts
+
length
,
8
,
".%06
"
PRId64
,
t
%
precision
);
}
else
{
length
+=
snprintf
(
ts
+
length
,
5
,
".%03
ld"
,
t
%
precision
);
length
+=
snprintf
(
ts
+
length
,
5
,
".%03
"
PRId64
,
t
%
precision
);
}
length
+=
(
int32_t
)
strftime
(
ts
+
length
,
40
-
length
,
"%z"
,
ptm
);
...
...
src/query/src/qExecutor.c
浏览文件 @
6dcc58aa
...
...
@@ -5050,8 +5050,8 @@ static void sequentialTableProcess(SQInfo *pQInfo) {
}
qDebug
(
"QInfo %p numOfTables:%"
PRIu64
", index:%d, numOfGroups:%"
PRIzu
", %"
PRId64
" points returned, total:%"
PRId64
", offset:%"
PRId64
,
pQInfo
,
pQInfo
->
tableqinfoGroupInfo
.
numOfTables
,
pQInfo
->
tableIndex
,
numOfGroups
,
pQuery
->
rec
.
rows
,
pQuery
->
rec
.
total
,
"QInfo %p numOfTables:%"
PRIu64
", index:%d, numOfGroups:%"
PRIzu
", %"
PRId64
" points returned, total:%"
PRId64
", offset:%"
PRId64
,
pQInfo
,
(
uint64_t
)
pQInfo
->
tableqinfoGroupInfo
.
numOfTables
,
pQInfo
->
tableIndex
,
numOfGroups
,
pQuery
->
rec
.
rows
,
pQuery
->
rec
.
total
,
pQuery
->
limit
.
offset
);
}
...
...
src/rpc/src/rpcMain.c
浏览文件 @
6dcc58aa
...
...
@@ -240,7 +240,7 @@ void *rpcOpen(const SRpcInit *pInit) {
size_t
size
=
sizeof
(
SRpcConn
)
*
pRpc
->
sessions
;
pRpc
->
connList
=
(
SRpcConn
*
)
calloc
(
1
,
size
);
if
(
pRpc
->
connList
==
NULL
)
{
tError
(
"%s failed to allocate memory for taos connections, size:%
ld"
,
pRpc
->
label
,
size
);
tError
(
"%s failed to allocate memory for taos connections, size:%
"
PRId64
,
pRpc
->
label
,
(
int64_t
)
size
);
rpcClose
(
pRpc
);
return
NULL
;
}
...
...
src/rpc/src/rpcUdp.c
浏览文件 @
6dcc58aa
...
...
@@ -211,7 +211,7 @@ static void *taosRecvUdpData(void *param) {
char
*
tmsg
=
malloc
(
dataLen
+
tsRpcOverhead
);
if
(
NULL
==
tmsg
)
{
tError
(
"%s failed to allocate memory, size:%
ld"
,
pConn
->
label
,
dataLen
);
tError
(
"%s failed to allocate memory, size:%
"
PRId64
,
pConn
->
label
,
(
int64_t
)
dataLen
);
continue
;
}
else
{
tDebug
(
"UDP malloc mem: %p"
,
tmsg
);
...
...
src/sync/src/syncRetrieve.c
浏览文件 @
6dcc58aa
...
...
@@ -325,7 +325,7 @@ static int syncProcessLastWal(SSyncPeer *pPeer, char *wname, uint32_t index) {
// if all data up to fversion is read out, it is over
if
(
pPeer
->
sversion
>=
fversion
&&
fversion
>
0
)
{
code
=
0
;
sDebug
(
"%s, data up to fversion:%
ld
has been read out, bytes:%d"
,
pPeer
->
id
,
fversion
,
bytes
);
sDebug
(
"%s, data up to fversion:%
"
PRId64
"
has been read out, bytes:%d"
,
pPeer
->
id
,
fversion
,
bytes
);
break
;
}
...
...
src/sync/test/syncServer.c
浏览文件 @
6dcc58aa
...
...
@@ -386,7 +386,7 @@ int main(int argc, char *argv[]) {
printf
(
" [-m msgSize]: message body size, default is:%d
\n
"
,
msgSize
);
printf
(
" [-o compSize]: compression message size, default is:%d
\n
"
,
tsCompressMsgSize
);
printf
(
" [-w write]: write received data to file(0, 1, 2), default is:%d
\n
"
,
commit
);
printf
(
" [-v version]: initial node version, default is:%
ld
\n
"
,
syncInfo
.
version
);
printf
(
" [-v version]: initial node version, default is:%
"
PRId64
"
\n
"
,
syncInfo
.
version
);
printf
(
" [-r replica]: replicacation number, default is:%d
\n
"
,
pCfg
->
replica
);
printf
(
" [-q quorum]: quorum, default is:%d
\n
"
,
pCfg
->
quorum
);
printf
(
" [-d debugFlag]: debug flag, default:%d
\n
"
,
rpcDebugFlag
);
...
...
src/util/inc/tcache.h
浏览文件 @
6dcc58aa
...
...
@@ -24,6 +24,14 @@ extern "C" {
#include "tlockfree.h"
#include "hash.h"
#if defined(_TD_ARM_32)
#define TSDB_CACHE_PTR_KEY TSDB_DATA_TYPE_INT
#define TSDB_CACHE_PTR_TYPE int32_t
#else
#define TSDB_CACHE_PTR_KEY TSDB_DATA_TYPE_BIGINT
#define TSDB_CACHE_PTR_TYPE int64_t
#endif
typedef
void
(
*
__cache_free_fn_t
)(
void
*
);
typedef
struct
SCacheStatis
{
...
...
src/util/src/hash.c
浏览文件 @
6dcc58aa
...
...
@@ -738,7 +738,7 @@ void taosHashTableResize(SHashObj *pHashObj) {
int64_t
et
=
taosGetTimestampUs
();
uDebug
(
"hash table resize completed, new capacity:%
"
PRId64
", load factor:%f, elapsed time:%fms"
,
pHashObj
->
capacity
,
uDebug
(
"hash table resize completed, new capacity:%
d, load factor:%f, elapsed time:%fms"
,
(
int32_t
)
pHashObj
->
capacity
,
((
double
)
pHashObj
->
size
)
/
pHashObj
->
capacity
,
(
et
-
st
)
/
1000
.
0
);
}
...
...
src/wal/test/waltest.c
浏览文件 @
6dcc58aa
...
...
@@ -71,7 +71,7 @@ int main(int argc, char *argv[]) {
printf
(
" [-t total]: total wal files, default is:%d
\n
"
,
total
);
printf
(
" [-r rows]: rows of records per wal file, default is:%d
\n
"
,
rows
);
printf
(
" [-k keep]: keep the wal after closing, default is:%d
\n
"
,
keep
);
printf
(
" [-v version]: initial version, default is:%
ld
\n
"
,
ver
);
printf
(
" [-v version]: initial version, default is:%
"
PRId64
"
\n
"
,
ver
);
printf
(
" [-d debugFlag]: debug flag, default:%d
\n
"
,
dDebugFlag
);
printf
(
" [-h help]: print out this help
\n\n
"
);
exit
(
0
);
...
...
@@ -97,7 +97,7 @@ int main(int argc, char *argv[]) {
exit
(
-
1
);
}
printf
(
"version starts from:%
ld
\n
"
,
ver
);
printf
(
"version starts from:%
"
PRId64
"
\n
"
,
ver
);
int
contLen
=
sizeof
(
SWalHead
)
+
size
;
SWalHead
*
pHead
=
(
SWalHead
*
)
malloc
(
contLen
);
...
...
tests/comparisonTest/tdengine/tdengineTest.c
浏览文件 @
6dcc58aa
...
...
@@ -278,7 +278,7 @@ void writeData() {
free
(
threads
);
printf
(
"---- Spent %f seconds to insert %
ld
records, speed: %f Rows/Second
\n
"
,
seconds
,
statis
.
totalRows
,
rs
);
printf
(
"---- Spent %f seconds to insert %
"
PRId64
"
records, speed: %f Rows/Second
\n
"
,
seconds
,
statis
.
totalRows
,
rs
);
}
void
readDataImp
(
void
*
param
)
...
...
tests/examples/c/demo.c
浏览文件 @
6dcc58aa
...
...
@@ -19,6 +19,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <taos.h> // TAOS header file
int
main
(
int
argc
,
char
*
argv
[])
{
...
...
@@ -67,7 +68,7 @@ int main(int argc, char *argv[]) {
// insert 10 records
int
i
=
0
;
for
(
i
=
0
;
i
<
10
;
++
i
)
{
sprintf
(
qstr
,
"insert into m1 values (%
ld
, %d, %d, %d, %d, %f, %lf, '%s')"
,
1546300800000
+
i
*
1000
,
i
,
i
,
i
,
i
*
10000000
,
i
*
1
.
0
,
i
*
2
.
0
,
"hello"
);
sprintf
(
qstr
,
"insert into m1 values (%
"
PRId64
"
, %d, %d, %d, %d, %f, %lf, '%s')"
,
1546300800000
+
i
*
1000
,
i
,
i
,
i
,
i
*
10000000
,
i
*
1
.
0
,
i
*
2
.
0
,
"hello"
);
printf
(
"qstr: %s
\n
"
,
qstr
);
if
(
taos_query
(
taos
,
qstr
))
{
printf
(
"insert row: %i, reason:%s
\n
"
,
i
,
taos_errstr
(
taos
));
...
...
tests/tsim/src/simExe.c
浏览文件 @
6dcc58aa
...
...
@@ -751,7 +751,7 @@ bool simExecuteNativeSqlCommand(SScript *script, char *rest, bool isSlow) {
sprintf
(
value
,
"%"
PRId64
,
*
((
int64_t
*
)
row
[
i
]));
break
;
case
TSDB_DATA_TYPE_FLOAT
:{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
float
fv
=
0
;
*
(
int32_t
*
)(
&
fv
)
=
*
(
int32_t
*
)
row
[
i
];
sprintf
(
value
,
"%.5f"
,
fv
);
...
...
@@ -761,7 +761,7 @@ bool simExecuteNativeSqlCommand(SScript *script, char *rest, bool isSlow) {
}
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
{
#ifdef _TD_ARM_32
_
#ifdef _TD_ARM_32
double
dv
=
0
;
*
(
int64_t
*
)(
&
dv
)
=
*
(
int64_t
*
)
row
[
i
];
sprintf
(
value
,
"%.9lf"
,
dv
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录