Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
b194f47d
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看板
提交
b194f47d
编写于
6月 27, 2020
作者:
S
Steven Li
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/develop' into feature/crash_gen
上级
ef5be328
7747cd82
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
114 addition
and
40 deletion
+114
-40
src/connector/grafana/tdengine/package.json
src/connector/grafana/tdengine/package.json
+1
-1
src/connector/jdbc/CMakeLists.txt
src/connector/jdbc/CMakeLists.txt
+1
-1
src/connector/jdbc/pom.xml
src/connector/jdbc/pom.xml
+1
-1
src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java
src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java
+1
-1
src/connector/jdbc/src/test/java/TestTSDBSubscribe.java
src/connector/jdbc/src/test/java/TestTSDBSubscribe.java
+1
-1
src/connector/nodejs/package.json
src/connector/nodejs/package.json
+1
-1
src/connector/python/linux/python2/setup.py
src/connector/python/linux/python2/setup.py
+1
-1
src/connector/python/linux/python2/taos.egg-info/PKG-INFO
src/connector/python/linux/python2/taos.egg-info/PKG-INFO
+1
-1
src/connector/python/linux/python3/setup.py
src/connector/python/linux/python3/setup.py
+1
-1
src/connector/python/linux/python3/taos.egg-info/PKG-INFO
src/connector/python/linux/python3/taos.egg-info/PKG-INFO
+1
-1
src/connector/python/windows/python2/setup.py
src/connector/python/windows/python2/setup.py
+1
-1
src/connector/python/windows/python2/taos.egg-info/PKG-INFO
src/connector/python/windows/python2/taos.egg-info/PKG-INFO
+1
-1
src/connector/python/windows/python3/setup.py
src/connector/python/windows/python3/setup.py
+1
-1
src/connector/python/windows/python3/taos.egg-info/PKG-INFO
src/connector/python/windows/python3/taos.egg-info/PKG-INFO
+1
-1
src/dnode/src/dnodeVRead.c
src/dnode/src/dnodeVRead.c
+1
-0
src/dnode/src/dnodeVWrite.c
src/dnode/src/dnodeVWrite.c
+1
-0
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+4
-2
src/query/src/qtsbuf.c
src/query/src/qtsbuf.c
+1
-1
src/rpc/src/rpcMain.c
src/rpc/src/rpcMain.c
+2
-0
src/rpc/src/rpcTcp.c
src/rpc/src/rpcTcp.c
+2
-0
src/rpc/src/rpcUdp.c
src/rpc/src/rpcUdp.c
+2
-0
src/tsdb/src/tsdbMeta.c
src/tsdb/src/tsdbMeta.c
+86
-22
src/util/src/tkvstore.c
src/util/src/tkvstore.c
+1
-1
未找到文件。
src/connector/grafana/tdengine/package.json
浏览文件 @
b194f47d
{
"name"
:
"TDengine"
,
"private"
:
false
,
"version"
:
"
1
.0.0"
,
"version"
:
"
2
.0.0"
,
"description"
:
"grafana datasource plugin for tdengine"
,
"scripts"
:
{
"build"
:
"./node_modules/grunt-cli/bin/grunt"
,
...
...
src/connector/jdbc/CMakeLists.txt
浏览文件 @
b194f47d
...
...
@@ -8,7 +8,7 @@ IF (TD_MVN_INSTALLED)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
JDBC_CMD_NAME
}
POST_BUILD
COMMAND mvn -Dmaven.test.skip=true install -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-
1.0.3
-dist.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-
2.0.0
-dist.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND mvn -Dmaven.test.skip=true clean -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMENT
"build jdbc driver"
)
ADD_CUSTOM_TARGET
(
${
JDBC_TARGET_NAME
}
ALL WORKING_DIRECTORY
${
EXECUTABLE_OUTPUT_PATH
}
DEPENDS
${
JDBC_CMD_NAME
}
)
...
...
src/connector/jdbc/pom.xml
浏览文件 @
b194f47d
...
...
@@ -3,7 +3,7 @@
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
1.0.3
</version>
<version>
2.0.0
</version>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
<url>
https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc
</url>
...
...
src/connector/jdbc/src/test/java/TestAsyncTSDBSubscribe.java
浏览文件 @
b194f47d
...
...
@@ -8,7 +8,7 @@ import java.util.Properties;
public
class
TestAsyncTSDBSubscribe
{
public
static
void
main
(
String
[]
args
)
throws
SQLException
{
String
usage
=
"java -cp taos-jdbcdriver-
1.0.3
_dev-dist.jar com.taosdata.jdbc.TSDBSubscribe -db dbName -topic topicName "
+
String
usage
=
"java -cp taos-jdbcdriver-
2.0.0
_dev-dist.jar com.taosdata.jdbc.TSDBSubscribe -db dbName -topic topicName "
+
"-tname tableName -h host"
;
if
(
args
.
length
<
2
)
{
System
.
err
.
println
(
usage
);
...
...
src/connector/jdbc/src/test/java/TestTSDBSubscribe.java
浏览文件 @
b194f47d
...
...
@@ -10,7 +10,7 @@ import java.util.Properties;
public
class
TestTSDBSubscribe
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
String
usage
=
"java -cp taos-jdbcdriver-
1.0.3
_dev-dist.jar com.taosdata.jdbc.TSDBSubscribe -db dbName "
+
String
usage
=
"java -cp taos-jdbcdriver-
2.0.0
_dev-dist.jar com.taosdata.jdbc.TSDBSubscribe -db dbName "
+
"-topic topicName -tname tableName -h host"
;
if
(
args
.
length
<
2
)
{
System
.
err
.
println
(
usage
);
...
...
src/connector/nodejs/package.json
浏览文件 @
b194f47d
{
"name"
:
"td-connector"
,
"version"
:
"
1.6.1
"
,
"version"
:
"
2.0.0
"
,
"description"
:
"A Node.js connector for TDengine."
,
"main"
:
"tdengine.js"
,
"scripts"
:
{
...
...
src/connector/python/linux/python2/setup.py
浏览文件 @
b194f47d
...
...
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools
.
setup
(
name
=
"taos"
,
version
=
"
1.4.15
"
,
version
=
"
2.0.0
"
,
author
=
"Taosdata Inc."
,
author_email
=
"support@taosdata.com"
,
description
=
"TDengine python client package"
,
...
...
src/connector/python/linux/python2/taos.egg-info/PKG-INFO
浏览文件 @
b194f47d
Metadata-Version: 2.1
Name: taos
Version:
1.4.15
Version:
2.0.0
Summary: TDengine python client package
Home-page: https://github.com/pypa/sampleproject
Author: Taosdata Inc.
...
...
src/connector/python/linux/python3/setup.py
浏览文件 @
b194f47d
...
...
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools
.
setup
(
name
=
"taos"
,
version
=
"
1.4.15
"
,
version
=
"
2.0.0
"
,
author
=
"Taosdata Inc."
,
author_email
=
"support@taosdata.com"
,
description
=
"TDengine python client package"
,
...
...
src/connector/python/linux/python3/taos.egg-info/PKG-INFO
浏览文件 @
b194f47d
Metadata-Version: 2.1
Name: taos
Version:
1.4.15
Version:
2.0.0
Summary: TDengine python client package
Home-page: https://github.com/pypa/sampleproject
Author: Taosdata Inc.
...
...
src/connector/python/windows/python2/setup.py
浏览文件 @
b194f47d
...
...
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools
.
setup
(
name
=
"taos"
,
version
=
"
1.4.15
"
,
version
=
"
2.0.0
"
,
author
=
"Taosdata Inc."
,
author_email
=
"support@taosdata.com"
,
description
=
"TDengine python client package"
,
...
...
src/connector/python/windows/python2/taos.egg-info/PKG-INFO
浏览文件 @
b194f47d
Metadata-Version: 2.1
Name: taos
Version:
1.4.15
Version:
2.0.0
Summary: TDengine python client package
Home-page: https://github.com/pypa/sampleproject
Author: Taosdata Inc.
...
...
src/connector/python/windows/python3/setup.py
浏览文件 @
b194f47d
...
...
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools
.
setup
(
name
=
"taos"
,
version
=
"
1.4.15
"
,
version
=
"
2.0.0
"
,
author
=
"Taosdata Inc."
,
author_email
=
"support@taosdata.com"
,
description
=
"TDengine python client package"
,
...
...
src/connector/python/windows/python3/taos.egg-info/PKG-INFO
浏览文件 @
b194f47d
Metadata-Version: 2.1
Name: taos
Version:
1.4.15
Version:
2.0.0
Summary: TDengine python client package
Home-page: https://github.com/pypa/sampleproject
Author: Hongze Cheng
...
...
src/dnode/src/dnodeVRead.c
浏览文件 @
b194f47d
...
...
@@ -131,6 +131,7 @@ void dnodeDispatchToVnodeReadQueue(SRpcMsg *pMsg) {
.
msgType
=
0
};
rpcSendResponse
(
&
rpcRsp
);
rpcFreeCont
(
pMsg
->
pCont
);
}
}
...
...
src/dnode/src/dnodeVWrite.c
浏览文件 @
b194f47d
...
...
@@ -119,6 +119,7 @@ void dnodeDispatchToVnodeWriteQueue(SRpcMsg *pMsg) {
.
msgType
=
0
};
rpcSendResponse
(
&
rpcRsp
);
rpcFreeCont
(
pMsg
->
pCont
);
}
}
...
...
src/query/src/qExecutor.c
浏览文件 @
b194f47d
...
...
@@ -5858,11 +5858,13 @@ static int32_t doDumpQueryResult(SQInfo *pQInfo, char *data) {
int32_t
s
=
lseek
(
fd
,
0
,
SEEK_END
);
UNUSED
(
s
);
qTrace
(
"QInfo:%p ts comp data return, file:%s, size:%d"
,
pQInfo
,
pQuery
->
sdata
[
0
]
->
data
,
s
);
s
=
lseek
(
fd
,
0
,
SEEK_SET
);
if
(
s
>=
0
)
{
if
(
lseek
(
fd
,
0
,
SEEK_SET
)
>=
0
)
{
size_t
sz
=
read
(
fd
,
data
,
s
);
UNUSED
(
sz
);
}
else
{
// todo handle error
}
close
(
fd
);
unlink
(
pQuery
->
sdata
[
0
]
->
data
);
}
else
{
...
...
src/query/src/qtsbuf.c
浏览文件 @
b194f47d
...
...
@@ -884,7 +884,7 @@ void tsBufDisplay(STSBuf* pTSBuf) {
while
(
tsBufNextPos
(
pTSBuf
))
{
STSElem
elem
=
tsBufGetElem
(
pTSBuf
);
printf
(
"%d-%"
PRId64
"-%"
PRId64
"
\n
"
,
elem
.
vnode
,
*
(
int64_t
*
)
elem
.
tag
,
elem
.
ts
);
printf
(
"%d-%"
PRId64
"-%"
PRId64
"
\n
"
,
elem
.
vnode
,
elem
.
tag
,
elem
.
ts
);
}
pTSBuf
->
cur
.
order
=
old
;
...
...
src/rpc/src/rpcMain.c
浏览文件 @
b194f47d
...
...
@@ -331,6 +331,7 @@ void rpcFreeCont(void *cont) {
if
(
cont
)
{
char
*
temp
=
((
char
*
)
cont
)
-
sizeof
(
SRpcHead
)
-
sizeof
(
SRpcReqContext
);
free
(
temp
);
// tTrace("free mem: %p", temp);
}
}
...
...
@@ -540,6 +541,7 @@ static void rpcFreeMsg(void *msg) {
if
(
msg
)
{
char
*
temp
=
(
char
*
)
msg
-
sizeof
(
SRpcReqContext
);
free
(
temp
);
// tTrace("free mem: %p", temp);
}
}
...
...
src/rpc/src/rpcTcp.c
浏览文件 @
b194f47d
...
...
@@ -418,6 +418,8 @@ static int taosReadTcpData(SFdObj *pFdObj, SRecvInfo *pInfo) {
if
(
NULL
==
buffer
)
{
tError
(
"%s %p TCP malloc(size:%d) fail"
,
pThreadObj
->
label
,
pFdObj
->
thandle
,
msgLen
);
return
-
1
;
}
else
{
// tTrace("malloc mem: %p", buffer);
}
msg
=
buffer
+
tsRpcOverhead
;
...
...
src/rpc/src/rpcUdp.c
浏览文件 @
b194f47d
...
...
@@ -211,6 +211,8 @@ static void *taosRecvUdpData(void *param) {
if
(
NULL
==
tmsg
)
{
tError
(
"%s failed to allocate memory, size:%ld"
,
pConn
->
label
,
dataLen
);
continue
;
}
else
{
// tTrace("malloc mem: %p", tmsg);
}
tmsg
+=
tsRpcOverhead
;
// overhead for SRpcReqContext
...
...
src/tsdb/src/tsdbMeta.c
浏览文件 @
b194f47d
...
...
@@ -48,6 +48,8 @@ static int tsdbEncodeTable(void **buf, STable *pTable);
static
void
*
tsdbDecodeTable
(
void
*
buf
,
STable
**
pRTable
);
static
int
tsdbGetTableEncodeSize
(
int8_t
act
,
STable
*
pTable
);
static
void
*
tsdbInsertTableAct
(
STsdbRepo
*
pRepo
,
int8_t
act
,
void
*
buf
,
STable
*
pTable
);
static
int
tsdbRemoveTableFromStore
(
STsdbRepo
*
pRepo
,
STable
*
pTable
);
static
int
tsdbRmTableFromMeta
(
STsdbRepo
*
pRepo
,
STable
*
pTable
);
// ------------------ OUTER FUNCTIONS ------------------
int
tsdbCreateTable
(
TSDB_REPO_T
*
repo
,
STableCfg
*
pCfg
)
{
...
...
@@ -117,7 +119,7 @@ int tsdbDropTable(TSDB_REPO_T *repo, STableId tableId) {
STable
*
pTable
=
tsdbGetTableByUid
(
pMeta
,
uid
);
if
(
pTable
==
NULL
)
{
tsdbError
(
"vgId:%d failed to drop table since table not exists! tid:%d uid %"
PRI
d
64
,
REPO_ID
(
pRepo
),
tableId
.
tid
,
tsdbError
(
"vgId:%d failed to drop table since table not exists! tid:%d uid %"
PRI
u
64
,
REPO_ID
(
pRepo
),
tableId
.
tid
,
uid
);
terrno
=
TSDB_CODE_TDB_INVALID_TABLE_ID
;
return
-
1
;
...
...
@@ -132,30 +134,26 @@ int tsdbDropTable(TSDB_REPO_T *repo, STableId tableId) {
return
-
1
;
}
if
(
TABLE_TYPE
(
pTable
)
==
TSDB_STREAM_TABLE
)
{
if
(
pTable
->
cqhandle
)
pRepo
->
appH
.
cqDropFunc
(
pTable
->
cqhandle
);
// Write to KV store first
if
(
tsdbRemoveTableFromStore
(
pRepo
,
pTable
)
<
0
)
{
tsdbError
(
"vgId:%d failed to drop table %s since %s"
,
REPO_ID
(
pRepo
),
tbname
,
tstrerror
(
terrno
));
goto
_err
;
}
if
(
TABLE_TYPE
(
pTable
)
==
TSDB_SUPER_TABLE
)
{
SSkipListIterator
*
pIter
=
tSkipListCreateIter
(
pTable
->
pIndex
);
while
(
tSkipListIterNext
(
pIter
))
{
STable
*
tTable
=
*
(
STable
**
)
SL_GET_NODE_DATA
(
tSkipListIterGet
(
pIter
));
ASSERT
(
TABLE_TYPE
(
tTable
)
==
TSDB_CHILD_TABLE
);
int
tlen
=
tsdbGetTableEncodeSize
(
TSDB_DROP_META
,
tTable
);
void
*
buf
=
tsdbAllocBytes
(
pRepo
,
tlen
);
ASSERT
(
buf
!=
NULL
);
tsdbInsertTableAct
(
pRepo
,
TSDB_DROP_META
,
buf
,
tTable
);
tsdbRemoveTableFromMeta
(
pRepo
,
tTable
,
false
,
true
);
}
tSkipListDestroyIter
(
pIter
);
// Remove table from Meta
if
(
tsdbRmTableFromMeta
(
pRepo
,
pTable
)
<
0
)
{
tsdbError
(
"vgId:%d failed to drop table %s since %s"
,
REPO_ID
(
pRepo
),
tbname
,
tstrerror
(
terrno
));
goto
_err
;
}
tsdbRemoveTableFromMeta
(
pRepo
,
pTable
,
true
,
true
);
tsdbTrace
(
"vgId:%d, table %s is dropped! tid:%d, uid:%"
PRId64
,
pRepo
->
config
.
tsdbId
,
tbname
,
tid
,
uid
);
free
(
tbname
);
return
0
;
_err:
tfree
(
tbname
);
return
-
1
;
}
void
*
tsdbGetTableTagVal
(
const
void
*
pTable
,
int32_t
colId
,
int16_t
type
,
int16_t
bytes
)
{
...
...
@@ -555,15 +553,16 @@ int tsdbUnlockRepoMeta(STsdbRepo *pRepo) {
void
tsdbRefTable
(
STable
*
pTable
)
{
int16_t
ref
=
T_REF_INC
(
pTable
);
tsdbTrace
(
"ref table:%s, uid:%"
PRIu64
", tid:%d, ref:%d"
,
TABLE_CHAR_NAME
(
pTable
),
pTable
->
tableId
.
uid
,
pTable
->
tableId
.
tid
,
ref
);
UNUSED
(
ref
);
// tsdbTrace("ref table %"PRIu64", tid:%d, refCount:%d", TABLE_UID(pTable), TABLE_TID(pTable), ref);
}
void
tsdbUnRefTable
(
STable
*
pTable
)
{
int16_t
ref
=
T_REF_DEC
(
pTable
);
tsdbTrace
(
"unref table
:%s, uid:%"
PRIu64
", tid:%d, ref:%d"
,
TABLE_CHAR_NAME
(
pTable
),
pTable
->
tableId
.
uid
,
pTable
->
tableId
.
tid
,
ref
);
tsdbTrace
(
"unref table
uid:%"
PRIu64
", tid:%d, refCount:%d"
,
TABLE_UID
(
pTable
),
TABLE_TID
(
pTable
)
,
ref
);
if
(
ref
==
0
)
{
tsdbTrace
(
"destroy table:%s uid:%"
PRIu64
", tid:%d"
,
TABLE_CHAR_NAME
(
pTable
),
pTable
->
tableId
.
uid
,
pTable
->
tableId
.
tid
);
// tsdbTrace("destory table name:%s uid:%"PRIu64", tid:%d", TABLE_CHAR_NAME(pTable), TABLE_UID(pTable), TABLE_TID(pTable)
);
if
(
TABLE_TYPE
(
pTable
)
==
TSDB_CHILD_TABLE
)
{
tsdbUnRefTable
(
pTable
->
pSuper
);
...
...
@@ -1164,8 +1163,16 @@ static void *tsdbDecodeTable(void *buf, STable **pRTable) {
}
static
int
tsdbGetTableEncodeSize
(
int8_t
act
,
STable
*
pTable
)
{
int
tlen
=
sizeof
(
SListNode
)
+
sizeof
(
SActObj
);
if
(
act
==
TSDB_UPDATE_META
)
tlen
+=
(
sizeof
(
SActCont
)
+
tsdbEncodeTable
(
NULL
,
pTable
)
+
sizeof
(
TSCKSUM
));
int
tlen
=
0
;
if
(
act
==
TSDB_UPDATE_META
)
{
tlen
=
sizeof
(
SListNode
)
+
sizeof
(
SActObj
)
+
sizeof
(
SActCont
)
+
tsdbEncodeTable
(
NULL
,
pTable
)
+
sizeof
(
TSCKSUM
);
}
else
{
if
(
TABLE_TYPE
(
pTable
)
==
TSDB_SUPER_TABLE
)
{
tlen
=
(
sizeof
(
SListNode
)
+
sizeof
(
SActObj
))
*
(
tSkipListGetSize
(
pTable
->
pIndex
)
+
1
);
}
else
{
tlen
=
sizeof
(
SListNode
)
+
sizeof
(
SActObj
);
}
}
return
tlen
;
}
...
...
@@ -1190,4 +1197,61 @@ static void *tsdbInsertTableAct(STsdbRepo *pRepo, int8_t act, void *buf, STable
tdListAppendNode
(
pRepo
->
mem
->
actList
,
pNode
);
return
pBuf
;
}
static
int
tsdbRemoveTableFromStore
(
STsdbRepo
*
pRepo
,
STable
*
pTable
)
{
int
tlen
=
tsdbGetTableEncodeSize
(
TSDB_DROP_META
,
pTable
);
void
*
buf
=
tsdbAllocBytes
(
pRepo
,
tlen
);
ASSERT
(
buf
!=
NULL
);
void
*
pBuf
=
buf
;
if
(
TABLE_TYPE
(
pTable
)
==
TSDB_SUPER_TABLE
)
{
SSkipListIterator
*
pIter
=
tSkipListCreateIter
(
pTable
->
pIndex
);
if
(
pIter
==
NULL
)
{
terrno
=
TSDB_CODE_TDB_OUT_OF_MEMORY
;
return
-
1
;
}
while
(
tSkipListIterNext
(
pIter
))
{
STable
*
tTable
=
*
(
STable
**
)
SL_GET_NODE_DATA
(
tSkipListIterGet
(
pIter
));
ASSERT
(
TABLE_TYPE
(
tTable
)
==
TSDB_CHILD_TABLE
);
pBuf
=
tsdbInsertTableAct
(
pRepo
,
TSDB_DROP_META
,
pBuf
,
pTable
);
}
tSkipListDestroyIter
(
pIter
);
}
pBuf
=
tsdbInsertTableAct
(
pRepo
,
TSDB_DROP_META
,
pBuf
,
pTable
);
ASSERT
(
POINTER_DISTANCE
(
pBuf
,
buf
)
==
tlen
);
return
0
;
}
static
int
tsdbRmTableFromMeta
(
STsdbRepo
*
pRepo
,
STable
*
pTable
)
{
if
(
TABLE_TYPE
(
pTable
)
==
TSDB_SUPER_TABLE
)
{
SSkipListIterator
*
pIter
=
tSkipListCreateIter
(
pTable
->
pIndex
);
if
(
pIter
==
NULL
)
{
terrno
=
TSDB_CODE_TDB_OUT_OF_MEMORY
;
return
-
1
;
}
tsdbWLockRepoMeta
(
pRepo
);
while
(
tSkipListIterNext
(
pIter
))
{
STable
*
tTable
=
*
(
STable
**
)
SL_GET_NODE_DATA
(
tSkipListIterGet
(
pIter
));
tsdbRemoveTableFromMeta
(
pRepo
,
tTable
,
false
,
false
);
}
tsdbRemoveTableFromMeta
(
pRepo
,
pTable
,
false
,
false
);
tsdbUnlockRepoMeta
(
pRepo
);
tSkipListDestroyIter
(
pIter
);
}
else
{
if
((
TABLE_TYPE
(
pTable
)
==
TSDB_STREAM_TABLE
)
&&
pTable
->
cqhandle
)
pRepo
->
appH
.
cqDropFunc
(
pTable
->
cqhandle
);
tsdbRemoveTableFromMeta
(
pRepo
,
pTable
,
true
,
true
);
}
return
0
;
}
\ No newline at end of file
src/util/src/tkvstore.c
浏览文件 @
b194f47d
...
...
@@ -500,7 +500,7 @@ static int tdRestoreKVStore(SKVStore *pStore) {
char
*
pBuf
=
tdDecodeKVRecord
(
tbuf
,
&
rInfo
);
ASSERT
(
POINTER_DISTANCE
(
pBuf
,
tbuf
)
==
sizeof
(
SKVRecord
));
ASSERT
(
pStore
->
info
.
size
==
rInfo
.
offset
);
ASSERT
(
(
rInfo
.
offset
>
0
)
?
(
pStore
->
info
.
size
==
rInfo
.
offset
)
:
true
);
if
(
rInfo
.
offset
<
0
)
{
taosHashRemove
(
pStore
->
map
,
(
void
*
)(
&
rInfo
.
uid
),
sizeof
(
rInfo
.
uid
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录