Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
e5dce6e1
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看板
提交
e5dce6e1
编写于
2月 02, 2021
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' into feature/TD-1925_new
上级
db446349
fc429e12
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
161 addition
and
122 deletion
+161
-122
src/inc/tsdb.h
src/inc/tsdb.h
+2
-2
src/inc/tsync.h
src/inc/tsync.h
+2
-2
src/kit/shell/src/shellEngine.c
src/kit/shell/src/shellEngine.c
+1
-1
src/os/inc/osDarwin.h
src/os/inc/osDarwin.h
+2
-0
src/os/inc/osSemphone.h
src/os/inc/osSemphone.h
+15
-0
src/os/inc/osWindows.h
src/os/inc/osWindows.h
+5
-3
src/os/src/darwin/darwinSysInfo.c
src/os/src/darwin/darwinSysInfo.c
+14
-2
src/os/src/detail/osSysinfo.c
src/os/src/detail/osSysinfo.c
+4
-2
src/os/src/windows/wSysinfo.c
src/os/src/windows/wSysinfo.c
+12
-26
src/os/src/windows/wWordexp.c
src/os/src/windows/wWordexp.c
+14
-3
src/plugins/http/src/httpRestJson.c
src/plugins/http/src/httpRestJson.c
+1
-1
src/tfs/src/tdisk.c
src/tfs/src/tdisk.c
+9
-9
src/tfs/src/tfs.c
src/tfs/src/tfs.c
+25
-25
src/tsdb/inc/tsdbFile.h
src/tsdb/inc/tsdbFile.h
+2
-2
src/tsdb/src/tsdbCommit.c
src/tsdb/src/tsdbCommit.c
+10
-8
src/tsdb/src/tsdbFS.c
src/tsdb/src/tsdbFS.c
+10
-8
src/tsdb/src/tsdbReadImpl.c
src/tsdb/src/tsdbReadImpl.c
+2
-2
src/tsdb/src/tsdbSync.c
src/tsdb/src/tsdbSync.c
+11
-11
src/util/src/tsocket.c
src/util/src/tsocket.c
+1
-1
src/util/src/ttimer.c
src/util/src/ttimer.c
+6
-1
tests/pytest/pytest_1.sh
tests/pytest/pytest_1.sh
+1
-1
tests/pytest/pytest_2.sh
tests/pytest/pytest_2.sh
+8
-8
tests/script/general/http/restful_full.sim
tests/script/general/http/restful_full.sim
+4
-4
未找到文件。
src/inc/tsdb.h
浏览文件 @
e5dce6e1
...
...
@@ -352,8 +352,8 @@ void tsdbIncCommitRef(int vgId);
void
tsdbDecCommitRef
(
int
vgId
);
// For TSDB file sync
int
tsdbSyncSend
(
void
*
pRepo
,
int
socketFd
);
int
tsdbSyncRecv
(
void
*
pRepo
,
int
socketFd
);
int
tsdbSyncSend
(
void
*
pRepo
,
SOCKET
socketFd
);
int
tsdbSyncRecv
(
void
*
pRepo
,
SOCKET
socketFd
);
#ifdef __cplusplus
}
...
...
src/inc/tsync.h
浏览文件 @
e5dce6e1
...
...
@@ -79,8 +79,8 @@ typedef void (*FStopSyncFile)(int32_t vgId, uint64_t fversion);
// get file version
typedef
int32_t
(
*
FGetVersion
)(
int32_t
vgId
,
uint64_t
*
fver
,
uint64_t
*
vver
);
typedef
int32_t
(
*
FSendFile
)(
void
*
tsdb
,
int32_t
socketFd
);
typedef
int32_t
(
*
FRecvFile
)(
void
*
tsdb
,
int32_t
socketFd
);
typedef
int32_t
(
*
FSendFile
)(
void
*
tsdb
,
SOCKET
socketFd
);
typedef
int32_t
(
*
FRecvFile
)(
void
*
tsdb
,
SOCKET
socketFd
);
typedef
struct
{
int32_t
vgId
;
// vgroup ID
...
...
src/kit/shell/src/shellEngine.c
浏览文件 @
e5dce6e1
...
...
@@ -470,7 +470,7 @@ static int dumpResultToFile(const char* fname, TAOS_RES* tres) {
wordexp_t
full_path
;
if
(
wordexp
(
fname
,
&
full_path
,
0
)
!=
0
)
{
if
(
wordexp
(
(
char
*
)
fname
,
&
full_path
,
0
)
!=
0
)
{
fprintf
(
stderr
,
"ERROR: invalid file name: %s
\n
"
,
fname
);
return
-
1
;
}
...
...
src/os/inc/osDarwin.h
浏览文件 @
e5dce6e1
...
...
@@ -105,6 +105,8 @@ typedef int(*__compar_fn_t)(const void *, const void *);
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#endif
#define TAOS_OS_FUNC_PTHREAD_RWLOCK
int64_t
tsosStr2int64
(
char
*
str
);
#include "eok.h"
...
...
src/os/inc/osSemphone.h
浏览文件 @
e5dce6e1
...
...
@@ -28,6 +28,21 @@ extern "C" {
#define tsem_destroy sem_destroy
#endif
#ifdef TAOS_OS_FUNC_PTHREAD_RWLOCK
#define pthread_rwlock_t pthread_mutex_t
#define pthread_rwlock_init(lock, NULL) pthread_mutex_init(lock, NULL)
#define pthread_rwlock_destroy(lock) pthread_mutex_destroy(lock)
#define pthread_rwlock_wrlock(lock) pthread_mutex_lock(lock)
#define pthread_rwlock_rdlock(lock) pthread_mutex_lock(lock)
#define pthread_rwlock_unlock(lock) pthread_mutex_unlock(lock)
#define pthread_spinlock_t pthread_mutex_t
#define pthread_spin_init(lock, NULL) pthread_mutex_init(lock, NULL)
#define pthread_spin_destroy(lock) pthread_mutex_destroy(lock)
#define pthread_spin_lock(lock) pthread_mutex_lock(lock)
#define pthread_spin_unlock(lock) pthread_mutex_unlock(lock)
#endif
// TAOS_OS_FUNC_SEMPHONE_PTHREAD
bool
taosCheckPthreadValid
(
pthread_t
thread
);
int64_t
taosGetSelfPthreadId
();
...
...
src/os/inc/osWindows.h
浏览文件 @
e5dce6e1
...
...
@@ -201,13 +201,15 @@ int gettimeofday(struct timeval *ptv, void *pTimeZone);
typedef
struct
{
int
we_wordc
;
char
**
we_wordv
;
char
*
we_wordv
[
1
]
;
int
we_offs
;
char
wordPos
[
20
];
char
wordPos
[
1025
];
}
wordexp_t
;
int
wordexp
(
c
onst
c
har
*
words
,
wordexp_t
*
pwordexp
,
int
flags
);
int
wordexp
(
char
*
words
,
wordexp_t
*
pwordexp
,
int
flags
);
void
wordfree
(
wordexp_t
*
pwordexp
);
char
*
realpath
(
char
*
path
,
char
*
resolved_path
);
#define openlog(a, b, c)
#define closelog()
#define LOG_ERR 0
...
...
src/os/src/darwin/darwinSysInfo.c
浏览文件 @
e5dce6e1
...
...
@@ -18,6 +18,7 @@
#include "tconfig.h"
#include "tglobal.h"
#include "tulog.h"
#include "taoserror.h"
#include <errno.h>
#include <libproc.h>
...
...
@@ -70,8 +71,6 @@ void taosGetSystemInfo() {
taosGetSystemLocale
();
}
void
taosGetDisk
()
{}
bool
taosGetProcIO
(
float
*
readKB
,
float
*
writeKB
)
{
*
readKB
=
0
;
*
writeKB
=
0
;
...
...
@@ -106,6 +105,19 @@ int taosSystem(const char *cmd) {
void
taosSetCoreDump
()
{}
int32_t
taosGetDiskSize
(
char
*
dataDir
,
SysDiskSize
*
diskSize
)
{
struct
statvfs
info
;
if
(
statvfs
(
tsDataDir
,
&
info
))
{
uError
(
"failed to get disk size, dataDir:%s errno:%s"
,
tsDataDir
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
}
else
{
diskSize
->
tsize
=
info
.
f_blocks
*
info
.
f_frsize
;
diskSize
->
avail
=
info
.
f_bavail
*
info
.
f_frsize
;
return
0
;
}
}
char
cmdline
[
1024
];
char
*
taosGetCmdlineByPID
(
int
pid
)
{
...
...
src/os/src/detail/osSysinfo.c
浏览文件 @
e5dce6e1
...
...
@@ -18,6 +18,7 @@
#include "tconfig.h"
#include "tglobal.h"
#include "tulog.h"
#include "taoserror.h"
#ifndef TAOS_OS_FUNC_SYSINFO
...
...
@@ -320,11 +321,12 @@ int32_t taosGetDiskSize(char *dataDir, SysDiskSize *diskSize) {
struct
statvfs
info
;
if
(
statvfs
(
tsDataDir
,
&
info
))
{
uError
(
"failed to get disk size, dataDir:%s errno:%s"
,
tsDataDir
,
strerror
(
errno
));
return
false
;
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
}
else
{
diskSize
->
tsize
=
info
.
f_blocks
*
info
.
f_frsize
;
diskSize
->
avail
=
info
.
f_bavail
*
info
.
f_frsize
;
return
true
;
return
0
;
}
}
...
...
src/os/src/windows/wSysinfo.c
浏览文件 @
e5dce6e1
...
...
@@ -21,6 +21,7 @@
#include "ttimer.h"
#include "tulog.h"
#include "tutil.h"
#include "taoserror.h"
#if (_WIN64)
#include <iphlpapi.h>
#include <mswsock.h>
...
...
@@ -126,37 +127,22 @@ bool taosGetCpuUsage(float *sysCpuUsage, float *procCpuUsage) {
return
true
;
}
void
taosGetDisk
()
{
const
double
unit
=
1024
*
1024
*
1024
;
BOOL
fResult
;
int32_t
taosGetDiskSize
(
char
*
dataDir
,
SysDiskSize
*
diskSize
)
{
unsigned
_int64
i64FreeBytesToCaller
;
unsigned
_int64
i64TotalBytes
;
unsigned
_int64
i64FreeBytes
;
if
(
tscEmbedded
)
{
fResult
=
GetDiskFreeSpaceExA
(
tsDataDir
,
(
PULARGE_INTEGER
)
&
i64FreeBytesToCaller
,
(
PULARGE_INTEGER
)
&
i64TotalBytes
,
(
PULARGE_INTEGER
)
&
i64FreeBytes
);
if
(
fResult
)
{
tsTotalDataDirGB
=
(
float
)(
i64TotalBytes
/
unit
);
tsAvailDataDirGB
=
(
float
)(
i64FreeBytes
/
unit
);
}
}
fResult
=
GetDiskFreeSpaceExA
(
tsLogDir
,
(
PULARGE_INTEGER
)
&
i64FreeBytesToCaller
,
(
PULARGE_INTEGER
)
&
i64TotalBytes
,
(
PULARGE_INTEGER
)
&
i64FreeBytes
);
BOOL
fResult
=
GetDiskFreeSpaceExA
(
dataDir
,
(
PULARGE_INTEGER
)
&
i64FreeBytesToCaller
,
(
PULARGE_INTEGER
)
&
i64TotalBytes
,
(
PULARGE_INTEGER
)
&
i64FreeBytes
);
if
(
fResult
)
{
tsTotalLogDirGB
=
(
float
)(
i64TotalBytes
/
unit
);
tsAvailLogDirGB
=
(
float
)(
i64FreeBytes
/
unit
);
}
fResult
=
GetDiskFreeSpaceExA
(
tsTempDir
,
(
PULARGE_INTEGER
)
&
i64FreeBytesToCaller
,
(
PULARGE_INTEGER
)
&
i64TotalBytes
,
(
PULARGE_INTEGER
)
&
i64FreeBytes
);
if
(
fResult
)
{
tsTotalTmpDirGB
=
(
float
)(
i64TotalBytes
/
unit
);
tsAvailTmpDirectorySpace
=
(
float
)(
i64FreeBytes
/
unit
);
diskSize
->
tsize
=
(
int64_t
)(
i64TotalBytes
);
diskSize
->
avail
=
(
int64_t
)(
i64FreeBytes
);
return
0
;
}
else
{
uError
(
"failed to get disk size, dataDir:%s errno:%s"
,
tsDataDir
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
}
return
true
;
}
bool
taosGetBandSpeed
(
float
*
bandSpeedKb
)
{
...
...
@@ -207,7 +193,7 @@ void taosGetSystemInfo() {
tsTotalMemoryMB
=
taosGetTotalMemory
();
float
tmp1
,
tmp2
;
taosGetDisk
();
//
taosGetDisk();
taosGetBandSpeed
(
&
tmp1
);
taosGetCpuUsage
(
&
tmp1
,
&
tmp2
);
taosGetProcIO
(
&
tmp1
,
&
tmp2
);
...
...
src/os/src/windows/wWordexp.c
浏览文件 @
e5dce6e1
...
...
@@ -21,13 +21,24 @@
#include "tulog.h"
#include "tutil.h"
int
wordexp
(
c
onst
c
har
*
words
,
wordexp_t
*
pwordexp
,
int
flags
)
{
int
wordexp
(
char
*
words
,
wordexp_t
*
pwordexp
,
int
flags
)
{
pwordexp
->
we_offs
=
0
;
pwordexp
->
we_wordc
=
1
;
pwordexp
->
we_wordv
=
(
char
**
)(
pwordexp
->
wordPos
);
pwordexp
->
we_wordv
[
0
]
=
(
char
*
)
words
;
pwordexp
->
we_wordv
[
0
]
=
pwordexp
->
wordPos
;
memset
(
pwordexp
->
wordPos
,
0
,
1025
);
if
(
_fullpath
(
pwordexp
->
wordPos
,
words
,
1024
)
==
NULL
)
{
pwordexp
->
we_wordv
[
0
]
=
words
;
uError
(
"failed to parse relative path:%s to abs path"
,
words
);
return
-
1
;
}
uTrace
(
"parse relative path:%s to abs path:%s"
,
words
,
pwordexp
->
wordPos
);
return
0
;
}
void
wordfree
(
wordexp_t
*
pwordexp
)
{}
char
*
realpath
(
char
*
path
,
char
*
resolved_path
)
{
return
_fullpath
(
path
,
resolved_path
,
TSDB_FILENAME_LEN
-
1
);
}
\ No newline at end of file
src/plugins/http/src/httpRestJson.c
浏览文件 @
e5dce6e1
...
...
@@ -35,7 +35,7 @@ void restBuildSqlAffectRowsJson(HttpContext *pContext, HttpSqlCmd *cmd, int32_t
// data row array end
httpJsonToken
(
jsonBuf
,
JsonArrEnd
);
cmd
->
numOfRows
=
affect_rows
;
cmd
->
numOfRows
=
1
;
}
void
restStartSqlJson
(
HttpContext
*
pContext
,
HttpSqlCmd
*
cmd
,
TAOS_RES
*
result
)
{
...
...
src/tfs/src/tdisk.c
浏览文件 @
e5dce6e1
...
...
@@ -42,17 +42,17 @@ SDisk *tfsFreeDisk(SDisk *pDisk) {
int
tfsUpdateDiskInfo
(
SDisk
*
pDisk
)
{
ASSERT
(
pDisk
!=
NULL
);
struct
statvfs
dstat
;
if
(
statvfs
(
pDisk
->
dir
,
&
dstat
)
<
0
)
{
SysDiskSize
diskSize
=
{
0
};
int
code
=
taosGetDiskSize
(
pDisk
->
dir
,
&
diskSize
);
if
(
code
!=
0
)
{
fError
(
"failed to update disk information at level %d id %d dir %s since %s"
,
pDisk
->
level
,
pDisk
->
id
,
pDisk
->
dir
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
pDisk
->
dmeta
.
size
=
0
;
pDisk
->
dmeta
.
free
=
0
;
return
-
1
;
}
else
{
pDisk
->
dmeta
.
size
=
dstat
.
f_blocks
*
dstat
.
f_frsize
;
pDisk
->
dmeta
.
free
=
dstat
.
f_bavail
*
dstat
.
f_frsize
;
return
0
;
}
pDisk
->
dmeta
.
size
=
diskSize
.
tsize
;
pDisk
->
dmeta
.
free
=
diskSize
.
tsize
-
diskSize
.
avail
;
return
code
;
}
\ No newline at end of file
src/tfs/src/tfs.c
浏览文件 @
e5dce6e1
...
...
@@ -21,8 +21,7 @@
#include "tfs.h"
#include "tfsint.h"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-truncation"
#define TMPNAME_LEN (TSDB_FILENAME_LEN * 2 + 32)
typedef
struct
{
pthread_spinlock_t
lock
;
...
...
@@ -188,7 +187,10 @@ void tfsInitFile(TFILE *pf, int level, int id, const char *bname) {
pf
->
level
=
level
;
pf
->
id
=
id
;
strncpy
(
pf
->
rname
,
bname
,
TSDB_FILENAME_LEN
);
snprintf
(
pf
->
aname
,
TSDB_FILENAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
bname
);
char
tmpName
[
TMPNAME_LEN
]
=
{
0
};
snprintf
(
tmpName
,
TMPNAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
bname
);
tstrncpy
(
pf
->
aname
,
tmpName
,
TSDB_FILENAME_LEN
);
}
bool
tfsIsSameFile
(
const
TFILE
*
pf1
,
const
TFILE
*
pf2
)
{
...
...
@@ -241,9 +243,9 @@ void tfsdirname(const TFILE *pf, char *dest) {
// DIR APIs ====================================
int
tfsMkdirAt
(
const
char
*
rname
,
int
level
,
int
id
)
{
SDisk
*
pDisk
=
TFS_DISK_AT
(
level
,
id
);
char
aname
[
T
SDB_FILE
NAME_LEN
];
char
aname
[
T
MP
NAME_LEN
];
snprintf
(
aname
,
T
SDB_FILE
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
rname
);
snprintf
(
aname
,
T
MP
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
rname
);
if
(
taosMkDir
(
aname
,
0755
)
!=
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
return
-
1
;
...
...
@@ -289,14 +291,14 @@ int tfsMkdir(const char *rname) {
}
int
tfsRmdir
(
const
char
*
rname
)
{
char
aname
[
T
SDB_FILE
NAME_LEN
]
=
"
\0
"
;
char
aname
[
T
MP
NAME_LEN
]
=
"
\0
"
;
for
(
int
level
=
0
;
level
<
TFS_NLEVEL
();
level
++
)
{
STier
*
pTier
=
TFS_TIER_AT
(
level
);
for
(
int
id
=
0
;
id
<
TIER_NDISKS
(
pTier
);
id
++
)
{
SDisk
*
pDisk
=
DISK_AT_TIER
(
pTier
,
id
);
snprintf
(
aname
,
T
SDB_FILE
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
rname
);
snprintf
(
aname
,
T
MP
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
rname
);
taosRemoveDir
(
aname
);
}
...
...
@@ -306,16 +308,16 @@ int tfsRmdir(const char *rname) {
}
int
tfsRename
(
char
*
orname
,
char
*
nrname
)
{
char
oaname
[
T
SDB_FILE
NAME_LEN
]
=
"
\0
"
;
char
naname
[
T
SDB_FILE
NAME_LEN
]
=
"
\0
"
;
char
oaname
[
T
MP
NAME_LEN
]
=
"
\0
"
;
char
naname
[
T
MP
NAME_LEN
]
=
"
\0
"
;
for
(
int
level
=
0
;
level
<
pfs
->
nlevel
;
level
++
)
{
STier
*
pTier
=
TFS_TIER_AT
(
level
);
for
(
int
id
=
0
;
id
<
TIER_NDISKS
(
pTier
);
id
++
)
{
SDisk
*
pDisk
=
DISK_AT_TIER
(
pTier
,
id
);
snprintf
(
oaname
,
T
SDB_FILE
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
orname
);
snprintf
(
naname
,
T
SDB_FILE
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
nrname
);
snprintf
(
oaname
,
T
MP
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
orname
);
snprintf
(
naname
,
T
MP
NAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
nrname
);
taosRename
(
oaname
,
naname
);
}
...
...
@@ -353,7 +355,7 @@ TDIR *tfsOpendir(const char *rname) {
const
TFILE
*
tfsReaddir
(
TDIR
*
tdir
)
{
if
(
tdir
==
NULL
||
tdir
->
dir
==
NULL
)
return
NULL
;
char
bname
[
T
SDB_FILENAME_LEN
]
=
"
\0
"
;
char
bname
[
T
MPNAME_LEN
*
2
]
=
"
\0
"
;
while
(
true
)
{
struct
dirent
*
dp
=
NULL
;
...
...
@@ -362,7 +364,7 @@ const TFILE *tfsReaddir(TDIR *tdir) {
// Skip . and ..
if
(
strcmp
(
dp
->
d_name
,
"."
)
==
0
||
strcmp
(
dp
->
d_name
,
".."
)
==
0
)
continue
;
snprintf
(
bname
,
T
SDB_FILENAME_LEN
,
"%s/%s"
,
tdir
->
dirname
,
dp
->
d_name
);
snprintf
(
bname
,
T
MPNAME_LEN
*
2
,
"%s/%s"
,
tdir
->
dirname
,
dp
->
d_name
);
tfsInitFile
(
&
(
tdir
->
tfile
),
tdir
->
level
,
tdir
->
id
,
bname
);
return
&
(
tdir
->
tfile
);
}
...
...
@@ -524,7 +526,7 @@ static SDisk *tfsGetDiskByName(const char *dir) {
static
int
tfsOpendirImpl
(
TDIR
*
tdir
)
{
SDisk
*
pDisk
=
NULL
;
char
adir
[
T
SDB_FILENAME_LEN
]
=
"
\0
"
;
char
adir
[
T
MPNAME_LEN
*
2
]
=
"
\0
"
;
if
(
tdir
->
dir
!=
NULL
)
{
closedir
(
tdir
->
dir
);
...
...
@@ -538,7 +540,7 @@ static int tfsOpendirImpl(TDIR *tdir) {
tdir
->
level
=
DISK_LEVEL
(
pDisk
);
tdir
->
id
=
DISK_ID
(
pDisk
);
snprintf
(
adir
,
T
SDB_FILENAME_LEN
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
tdir
->
dirname
);
snprintf
(
adir
,
T
MPNAME_LEN
*
2
,
"%s/%s"
,
DISK_DIR
(
pDisk
),
tdir
->
dirname
);
tdir
->
dir
=
opendir
(
adir
);
if
(
tdir
->
dir
!=
NULL
)
break
;
}
...
...
@@ -582,19 +584,17 @@ void taosGetDisk() {
if
(
tscEmbedded
)
{
tfsUpdateInfo
(
&
fsMeta
);
tsTotalDataDirGB
=
(
float
)
fsMeta
.
tsize
/
unit
;
tsAvailDataDirGB
=
(
float
)
fsMeta
.
avail
/
unit
;
tsTotalDataDirGB
=
(
float
)
(
fsMeta
.
tsize
/
unit
)
;
tsAvailDataDirGB
=
(
float
)
(
fsMeta
.
avail
/
unit
)
;
}
if
(
taosGetDiskSize
(
tsLogDir
,
&
diskSize
))
{
tsTotalLogDirGB
=
(
float
)
diskSize
.
tsize
/
unit
;
tsAvailLogDirGB
=
(
float
)
diskSize
.
avail
/
unit
;
if
(
taosGetDiskSize
(
tsLogDir
,
&
diskSize
)
==
0
)
{
tsTotalLogDirGB
=
(
float
)
(
diskSize
.
tsize
/
unit
)
;
tsAvailLogDirGB
=
(
float
)
(
diskSize
.
avail
/
unit
)
;
}
if
(
taosGetDiskSize
(
"/tmp"
,
&
diskSize
))
{
tsTotalTmpDirGB
=
(
float
)
diskSize
.
tsize
/
unit
;
tsAvailTmpDirectorySpace
=
(
float
)
diskSize
.
avail
/
unit
;
if
(
taosGetDiskSize
(
"/tmp"
,
&
diskSize
)
==
0
)
{
tsTotalTmpDirGB
=
(
float
)
(
diskSize
.
tsize
/
unit
)
;
tsAvailTmpDirectorySpace
=
(
float
)
(
diskSize
.
avail
/
unit
)
;
}
}
#pragma GCC diagnostic pop
\ No newline at end of file
src/tsdb/inc/tsdbFile.h
浏览文件 @
e5dce6e1
...
...
@@ -133,7 +133,7 @@ static FORCE_INLINE int tsdbAppendMFile(SMFile* pMFile, void* buf, int64_t nbyte
pMFile
->
info
.
size
+=
nbyte
;
return
nbyte
;
return
(
int
)
nbyte
;
}
static
FORCE_INLINE
int
tsdbRemoveMFile
(
SMFile
*
pMFile
)
{
return
tfsremove
(
TSDB_FILE_F
(
pMFile
));
}
...
...
@@ -246,7 +246,7 @@ static FORCE_INLINE int tsdbAppendDFile(SDFile* pDFile, void* buf, int64_t nbyte
pDFile
->
info
.
size
+=
nbyte
;
return
nbyte
;
return
(
int
)
nbyte
;
}
static
FORCE_INLINE
int
tsdbRemoveDFile
(
SDFile
*
pDFile
)
{
return
tfsremove
(
TSDB_FILE_F
(
pDFile
));
}
...
...
src/tsdb/src/tsdbCommit.c
浏览文件 @
e5dce6e1
...
...
@@ -217,9 +217,9 @@ void tsdbGetRtnSnap(STsdbRepo *pRepo, SRtn *pRtn) {
maxKey
=
now
-
pCfg
->
keep1
*
tsMsPerDay
[
pCfg
->
precision
];
pRtn
->
minKey
=
minKey
;
pRtn
->
minFid
=
TSDB_KEY_FID
(
minKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
);
pRtn
->
midFid
=
TSDB_KEY_FID
(
midKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
);
pRtn
->
maxFid
=
TSDB_KEY_FID
(
maxKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
);
pRtn
->
minFid
=
(
int
)(
TSDB_KEY_FID
(
minKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
)
);
pRtn
->
midFid
=
(
int
)(
TSDB_KEY_FID
(
midKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
)
);
pRtn
->
maxFid
=
(
int
)(
TSDB_KEY_FID
(
maxKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
)
);
}
static
int
tsdbUpdateMetaRecord
(
STsdbFS
*
pfs
,
SMFile
*
pMFile
,
uint64_t
uid
,
void
*
cont
,
int
contLen
)
{
...
...
@@ -292,10 +292,12 @@ static int tsdbDropMetaRecord(STsdbFS *pfs, SMFile *pMFile, uint64_t uid) {
// =================== Commit Time-Series Data
static
int
tsdbCommitTSData
(
STsdbRepo
*
pRepo
)
{
SMemTable
*
pMem
=
pRepo
->
imem
;
SCommitH
commith
=
{
0
}
;
SCommitH
commith
;
SDFileSet
*
pSet
=
NULL
;
int
fid
;
memset
(
&
commith
,
0
,
sizeof
(
SMemTable
*
));
if
(
pMem
->
numOfRows
<=
0
)
{
// No memory data, just apply retention on each file on disk
if
(
tsdbApplyRtn
(
pRepo
)
<
0
)
{
...
...
@@ -591,7 +593,7 @@ static int tsdbNextCommitFid(SCommitH *pCommith) {
if
(
nextKey
==
TSDB_DATA_TIMESTAMP_NULL
)
{
continue
;
}
else
{
int
tfid
=
TSDB_KEY_FID
(
nextKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
);
int
tfid
=
(
int
)(
TSDB_KEY_FID
(
nextKey
,
pCfg
->
daysPerFile
,
pCfg
->
precision
)
);
if
(
fid
==
TSDB_IVLD_FID
||
fid
>
tfid
)
{
fid
=
tfid
;
}
...
...
@@ -887,7 +889,7 @@ static int tsdbWriteBlockInfo(SCommitH *pCommih) {
return
0
;
}
tlen
=
sizeof
(
SBlockInfo
)
+
sizeof
(
SBlock
)
*
(
nSupBlocks
+
nSubBlocks
)
+
sizeof
(
TSCKSUM
);
tlen
=
(
uint32_t
)(
sizeof
(
SBlockInfo
)
+
sizeof
(
SBlock
)
*
(
nSupBlocks
+
nSubBlocks
)
+
sizeof
(
TSCKSUM
)
);
// Write SBlockInfo part
if
(
tsdbMakeRoom
((
void
**
)(
&
(
TSDB_COMMIT_BUF
(
pCommih
))),
tlen
)
<
0
)
return
-
1
;
...
...
@@ -925,7 +927,7 @@ static int tsdbWriteBlockInfo(SCommitH *pCommih) {
blkIdx
.
uid
=
TABLE_UID
(
pTable
);
blkIdx
.
hasLast
=
pBlock
->
last
?
1
:
0
;
blkIdx
.
maxKey
=
pBlock
->
keyLast
;
blkIdx
.
numOfBlocks
=
nSupBlocks
;
blkIdx
.
numOfBlocks
=
(
uint32_t
)
nSupBlocks
;
blkIdx
.
len
=
tlen
;
blkIdx
.
offset
=
(
uint32_t
)
offset
;
...
...
@@ -976,7 +978,7 @@ static int tsdbWriteBlockIdx(SCommitH *pCommih) {
}
tsdbUpdateDFileMagic
(
pHeadf
,
POINTER_SHIFT
(
TSDB_COMMIT_BUF
(
pCommih
),
tlen
-
sizeof
(
TSCKSUM
)));
pHeadf
->
info
.
offset
=
offset
;
pHeadf
->
info
.
offset
=
(
uint32_t
)
offset
;
pHeadf
->
info
.
len
=
tlen
;
return
0
;
...
...
src/tsdb/src/tsdbFS.c
浏览文件 @
e5dce6e1
...
...
@@ -13,7 +13,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "os.h"
#include "tsdbint.h"
#include <regex.h>
typedef
enum
{
TSDB_TXN_TEMP_FILE
=
0
,
TSDB_TXN_CURR_FILE
}
TSDB_TXN_FILE_T
;
static
const
char
*
tsdbTxnFname
[]
=
{
"current.t"
,
"current"
};
...
...
@@ -162,7 +164,7 @@ static void tsdbSetStatusMFile(SFSStatus *pStatus, const SMFile *pMFile) {
ASSERT
(
pStatus
->
pmf
==
NULL
);
pStatus
->
pmf
=
&
(
pStatus
->
mf
);
tsdbInitMFileEx
(
pStatus
->
pmf
,
pMFile
);
tsdbInitMFileEx
(
pStatus
->
pmf
,
(
SMFile
*
)
pMFile
);
}
static
int
tsdbAddDFileSetToStatus
(
SFSStatus
*
pStatus
,
const
SDFileSet
*
pSet
)
{
...
...
@@ -482,7 +484,7 @@ void tsdbFSIterInit(SFSIter *pIter, STsdbFS *pfs, int direction) {
if
(
direction
==
TSDB_FS_ITER_FORWARD
)
{
pIter
->
index
=
0
;
}
else
{
pIter
->
index
=
size
-
1
;
pIter
->
index
=
(
int
)(
size
-
1
)
;
}
pIter
->
fid
=
((
SDFileSet
*
)
taosArrayGet
(
pfs
->
cstatus
->
df
,
pIter
->
index
))
->
fid
;
...
...
@@ -505,7 +507,7 @@ void tsdbFSIterSeek(SFSIter *pIter, int fid) {
pIter
->
index
=
-
1
;
pIter
->
fid
=
TSDB_IVLD_FID
;
}
else
{
pIter
->
index
=
TARRAY_ELEM_IDX
(
pfs
->
cstatus
->
df
,
ptr
);
pIter
->
index
=
(
int
)(
TARRAY_ELEM_IDX
(
pfs
->
cstatus
->
df
,
ptr
)
);
pIter
->
fid
=
((
SDFileSet
*
)
ptr
)
->
fid
;
}
}
...
...
@@ -590,7 +592,7 @@ static int tsdbOpenFSFromCurrent(STsdbRepo *pRepo) {
goto
_err
;
}
int
nread
=
taosRead
(
fd
,
buffer
,
TSDB_FILE_HEAD_SIZE
);
int
nread
=
(
int
)
taosRead
(
fd
,
buffer
,
TSDB_FILE_HEAD_SIZE
);
if
(
nread
<
0
)
{
tsdbError
(
"vgId:%d failed to read %d bytes from file %s since %s"
,
REPO_ID
(
pRepo
),
TSDB_FILENAME_LEN
,
current
,
strerror
(
errno
));
...
...
@@ -624,7 +626,7 @@ static int tsdbOpenFSFromCurrent(STsdbRepo *pRepo) {
goto
_err
;
}
nread
=
taosRead
(
fd
,
buffer
,
fsheader
.
len
);
nread
=
(
int
)
taosRead
(
fd
,
buffer
,
fsheader
.
len
);
if
(
nread
<
0
)
{
tsdbError
(
"vgId:%d failed to read file %s since %s"
,
REPO_ID
(
pRepo
),
current
,
strerror
(
errno
));
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -771,7 +773,7 @@ int tsdbLoadMetaCache(STsdbRepo *pRepo, bool recoverMeta) {
}
if
(
recoverMeta
)
{
pBuf
=
malloc
(
maxBufSize
);
pBuf
=
malloc
(
(
size_t
)
maxBufSize
);
if
(
pBuf
==
NULL
)
{
terrno
=
TSDB_CODE_TDB_OUT_OF_MEMORY
;
tsdbCloseMFile
(
pMFile
);
...
...
@@ -788,7 +790,7 @@ int tsdbLoadMetaCache(STsdbRepo *pRepo, bool recoverMeta) {
return
-
1
;
}
int
nread
=
tsdbReadMFile
(
pMFile
,
pBuf
,
pRecord
->
size
);
int
nread
=
(
int
)
tsdbReadMFile
(
pMFile
,
pBuf
,
pRecord
->
size
);
if
(
nread
<
0
)
{
tsdbError
(
"vgId:%d failed to read file %s since %s"
,
REPO_ID
(
pRepo
),
TSDB_FILE_FULL_NAME
(
pMFile
),
tstrerror
(
terrno
));
...
...
@@ -806,7 +808,7 @@ int tsdbLoadMetaCache(STsdbRepo *pRepo, bool recoverMeta) {
return
-
1
;
}
if
(
tsdbRestoreTable
(
pRepo
,
pBuf
,
pRecord
->
size
)
<
0
)
{
if
(
tsdbRestoreTable
(
pRepo
,
pBuf
,
(
int
)
pRecord
->
size
)
<
0
)
{
tsdbError
(
"vgId:%d failed to restore table, uid %"
PRId64
", since %s"
PRIu64
,
REPO_ID
(
pRepo
),
pRecord
->
uid
,
tstrerror
(
terrno
));
tfree
(
pBuf
);
...
...
src/tsdb/src/tsdbReadImpl.c
浏览文件 @
e5dce6e1
...
...
@@ -323,7 +323,7 @@ int tsdbLoadBlockStatis(SReadH *pReadh, SBlock *pBlock) {
return
-
1
;
}
if
(
!
taosCheckChecksumWhole
((
uint8_t
*
)(
pReadh
->
pBlkData
),
size
))
{
if
(
!
taosCheckChecksumWhole
((
uint8_t
*
)(
pReadh
->
pBlkData
),
(
uint32_t
)
size
))
{
terrno
=
TSDB_CODE_TDB_FILE_CORRUPTED
;
tsdbError
(
"vgId:%d block statis part in file %s is corrupted since wrong checksum, offset:%"
PRId64
" len :%"
PRIzu
,
TSDB_READ_REPO_ID
(
pReadh
),
TSDB_FILE_FULL_NAME
(
pDFile
),
(
int64_t
)
pBlock
->
offset
,
size
);
...
...
@@ -487,7 +487,7 @@ static int tsdbLoadBlockDataImpl(SReadH *pReadh, SBlock *pBlock, SDataCols *pDat
if
(
tsdbCheckAndDecodeColumnData
(
pDataCol
,
POINTER_SHIFT
(
pBlockData
,
tsize
+
toffset
),
tlen
,
pBlock
->
algorithm
,
pBlock
->
numOfRows
,
pDataCols
->
maxPoints
,
TSDB_READ_COMP_BUF
(
pReadh
),
taosTSizeof
(
TSDB_READ_COMP_BUF
(
pReadh
)))
<
0
)
{
(
int
)
taosTSizeof
(
TSDB_READ_COMP_BUF
(
pReadh
)))
<
0
)
{
tsdbError
(
"vgId:%d file %s is broken at column %d block offset %"
PRId64
" column offset %d"
,
TSDB_READ_REPO_ID
(
pReadh
),
TSDB_FILE_FULL_NAME
(
pDFile
),
tcolId
,
(
int64_t
)
pBlock
->
offset
,
toffset
);
return
-
1
;
...
...
src/tsdb/src/tsdbSync.c
浏览文件 @
e5dce6e1
...
...
@@ -22,7 +22,7 @@
typedef
struct
{
STsdbRepo
*
pRepo
;
SRtn
rtn
;
int32_t
socketFd
;
SOCKET
socketFd
;
void
*
pBuf
;
bool
mfChanged
;
SMFile
*
pmf
;
...
...
@@ -33,7 +33,7 @@ typedef struct {
#define SYNC_BUFFER(sh) ((sh)->pBuf)
static
void
tsdbInitSyncH
(
SSyncH
*
pSyncH
,
STsdbRepo
*
pRepo
,
int32_t
socketFd
);
static
void
tsdbInitSyncH
(
SSyncH
*
pSyncH
,
STsdbRepo
*
pRepo
,
SOCKET
socketFd
);
static
void
tsdbDestroySyncH
(
SSyncH
*
pSyncH
);
static
int32_t
tsdbSyncSendMeta
(
SSyncH
*
pSynch
);
static
int32_t
tsdbSyncRecvMeta
(
SSyncH
*
pSynch
);
...
...
@@ -49,7 +49,7 @@ static int32_t tsdbSendDFileSetInfo(SSyncH *pSynch, SDFileSet *pSet);
static
int32_t
tsdbRecvDFileSetInfo
(
SSyncH
*
pSynch
);
static
int
tsdbReload
(
STsdbRepo
*
pRepo
,
bool
isMfChanged
);
int32_t
tsdbSyncSend
(
void
*
tsdb
,
int32_t
socketFd
)
{
int32_t
tsdbSyncSend
(
void
*
tsdb
,
SOCKET
socketFd
)
{
STsdbRepo
*
pRepo
=
(
STsdbRepo
*
)
tsdb
;
SSyncH
synch
=
{
0
};
...
...
@@ -78,7 +78,7 @@ _err:
return
-
1
;
}
int32_t
tsdbSyncRecv
(
void
*
tsdb
,
int32_t
socketFd
)
{
int32_t
tsdbSyncRecv
(
void
*
tsdb
,
SOCKET
socketFd
)
{
STsdbRepo
*
pRepo
=
(
STsdbRepo
*
)
tsdb
;
SSyncH
synch
=
{
0
};
...
...
@@ -111,7 +111,7 @@ _err:
return
-
1
;
}
static
void
tsdbInitSyncH
(
SSyncH
*
pSyncH
,
STsdbRepo
*
pRepo
,
int32_t
socketFd
)
{
static
void
tsdbInitSyncH
(
SSyncH
*
pSyncH
,
STsdbRepo
*
pRepo
,
SOCKET
socketFd
)
{
pSyncH
->
pRepo
=
pRepo
;
pSyncH
->
socketFd
=
socketFd
;
tsdbGetRtnSnap
(
pRepo
,
&
(
pSyncH
->
rtn
));
...
...
@@ -149,10 +149,10 @@ static int32_t tsdbSyncSendMeta(SSyncH *pSynch) {
return
-
1
;
}
int32_t
writeLen
=
mf
.
info
.
size
;
int32_t
writeLen
=
(
int32_t
)
mf
.
info
.
size
;
tsdbInfo
(
"vgId:%d, metafile:%s will be sent, size:%d"
,
REPO_ID
(
pRepo
),
mf
.
f
.
aname
,
writeLen
);
int32_t
ret
=
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
0
,
writeLen
);
int32_t
ret
=
(
int32_t
)
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
0
,
writeLen
);
if
(
ret
!=
writeLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbError
(
"vgId:%d, failed to send metafile since %s, ret:%d writeLen:%d"
,
REPO_ID
(
pRepo
),
tstrerror
(
terrno
),
ret
,
...
...
@@ -213,7 +213,7 @@ static int32_t tsdbSyncRecvMeta(SSyncH *pSynch) {
tsdbInfo
(
"vgId:%d, metafile:%s is created"
,
REPO_ID
(
pRepo
),
mf
.
f
.
aname
);
int32_t
readLen
=
pSynch
->
pmf
->
info
.
size
;
int32_t
readLen
=
(
int32_t
)
pSynch
->
pmf
->
info
.
size
;
int32_t
ret
=
taosCopyFds
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
mf
),
readLen
);
if
(
ret
!=
readLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -458,7 +458,7 @@ static int32_t tsdbSyncRecvDFileSetArray(SSyncH *pSynch) {
tsdbInfo
(
"vgId:%d, file:%s will be received, osize:%"
PRIu64
" rsize:%"
PRIu64
,
REPO_ID
(
pRepo
),
pDFile
->
f
.
aname
,
pDFile
->
info
.
size
,
pRDFile
->
info
.
size
);
int32_t
writeLen
=
pRDFile
->
info
.
size
;
int32_t
writeLen
=
(
int32_t
)
pRDFile
->
info
.
size
;
int32_t
ret
=
taosCopyFds
(
pSynch
->
socketFd
,
pDFile
->
fd
,
writeLen
);
if
(
ret
!=
writeLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
@@ -570,10 +570,10 @@ static int32_t tsdbSyncSendDFileSet(SSyncH *pSynch, SDFileSet *pSet) {
return
-
1
;
}
int32_t
writeLen
=
df
.
info
.
size
;
int32_t
writeLen
=
(
int32_t
)
df
.
info
.
size
;
tsdbInfo
(
"vgId:%d, file:%s will be sent, size:%d"
,
REPO_ID
(
pRepo
),
df
.
f
.
aname
,
writeLen
);
int32_t
ret
=
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
df
),
0
,
writeLen
);
int32_t
ret
=
(
int32_t
)
taosSendFile
(
pSynch
->
socketFd
,
TSDB_FILE_FD
(
&
df
),
0
,
writeLen
);
if
(
ret
!=
writeLen
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
tsdbError
(
"vgId:%d, failed to send file:%s since %s, ret:%d writeLen:%d"
,
REPO_ID
(
pRepo
),
df
.
f
.
aname
,
...
...
src/util/src/tsocket.c
浏览文件 @
e5dce6e1
...
...
@@ -483,5 +483,5 @@ int32_t taosCopyFds(SOCKET sfd, int32_t dfd, int64_t len) {
leftLen
-=
readLen
;
}
return
len
;
return
(
int32_t
)
len
;
}
src/util/src/ttimer.c
浏览文件 @
e5dce6e1
...
...
@@ -188,7 +188,11 @@ static void removeTimer(uintptr_t id) {
}
static
int64_t
getMonotonicMs
(
void
)
{
#ifdef WINDOWS
return
(
int64_t
)
getMonotonicUs
()
/
1000
;
#else
return
taosGetTimestampMs
();
#endif
}
static
void
addToWheel
(
tmr_obj_t
*
timer
,
uint32_t
delay
)
{
...
...
@@ -537,7 +541,8 @@ static void taosTmrModuleInit(void) {
}
void
*
taosTmrInit
(
int
maxNumOfTmrs
,
int
resolution
,
int
longest
,
const
char
*
label
)
{
tmrInfo
(
"ttimer monotonic clock source:%s"
,
monotonicInit
());
const
char
*
ret
=
monotonicInit
();
tmrInfo
(
"ttimer monotonic clock source:%s"
,
ret
);
pthread_once
(
&
tmrModuleInit
,
taosTmrModuleInit
);
...
...
tests/pytest/pytest_1.sh
浏览文件 @
e5dce6e1
...
...
@@ -16,7 +16,7 @@ python3 ./test.py -f insert/nchar.py
python3 ./test.py
-f
insert/nchar-unicode.py
python3 ./test.py
-f
insert/multi.py
python3 ./test.py
-f
insert/randomNullCommit.py
python3 insert/retentionpolicy.py
#
python3 insert/retentionpolicy.py
python3 ./test.py
-f
insert/alterTableAndInsert.py
python3 ./test.py
-f
insert/insertIntoTwoTables.py
#python3 ./test.py -f insert/before_1970.py
...
...
tests/pytest/pytest_2.sh
浏览文件 @
e5dce6e1
# update
python3 ./test.py
-f
update/allow_update.py
#
python3 ./test.py -f update/allow_update.py
python3 ./test.py
-f
update/allow_update-0.py
python3 ./test.py
-f
update/append_commit_data.py
python3 ./test.py
-f
update/append_commit_last-0.py
python3 ./test.py
-f
update/append_commit_last.py
python3 ./test.py
-f
update/merge_commit_data.py
python3 ./test.py
-f
update/merge_commit_data-0.py
python3 ./test.py
-f
update/merge_commit_data2.py
python3 ./test.py
-f
update/merge_commit_data2_update0.py
python3 ./test.py
-f
update/merge_commit_last-0.py
python3 ./test.py
-f
update/merge_commit_last.py
python3 ./test.py
-f
update/bug_td2279.py
#
python3 ./test.py -f update/merge_commit_data.py
#
python3 ./test.py -f update/merge_commit_data-0.py
#
python3 ./test.py -f update/merge_commit_data2.py
#
python3 ./test.py -f update/merge_commit_data2_update0.py
#
python3 ./test.py -f update/merge_commit_last-0.py
#
python3 ./test.py -f update/merge_commit_last.py
#
python3 ./test.py -f update/bug_td2279.py
# wal
python3 ./test.py
-f
wal/addOldWalTest.py
...
...
tests/script/general/http/restful_full.sim
浏览文件 @
e5dce6e1
...
...
@@ -94,7 +94,7 @@ endi
system_content curl -H 'Authorization: Taosd /KfeAzX/f9na8qdtNZmtONryp201ma04bEl8LcvLUd7a8qdtNZmtONryp201ma04' -d 'create database d1' 127.0.0.1:7111/rest/sql
print 12-> $system_content
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
0
}@ then
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
1
}@ then
return -1
endi
...
...
@@ -160,7 +160,7 @@ endi
system_content curl -H 'Authorization: Taosd /KfeAzX/f9na8qdtNZmtONryp201ma04bEl8LcvLUd7a8qdtNZmtONryp201ma04' -d ' create table d1.t1 (ts timestamp, speed int)' 127.0.0.1:7111/rest/sql
print 22-> $system_content
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
0
}@ then
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
1
}@ then
return -1
endi
...
...
@@ -214,13 +214,13 @@ endi
system_content curl -H 'Authorization: Taosd /KfeAzX/f9na8qdtNZmtONryp201ma04bEl8LcvLUd7a8qdtNZmtONryp201ma04' -d 'create database d2' 127.0.0.1:7111/rest/sql
print 28-> $system_content
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
0
}@ then
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
1
}@ then
return -1
endi
system_content curl -H 'Authorization: Taosd /KfeAzX/f9na8qdtNZmtONryp201ma04bEl8LcvLUd7a8qdtNZmtONryp201ma04' -d ' create table d2.t1 (ts timestamp, speed int)' 127.0.0.1:7111/rest/sql
print 29-> $system_content
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
0
}@ then
if $system_content != @{"status":"succ","head":["affected_rows"],"data":[[0]],"rows":
1
}@ then
return -1
endi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录