Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a13ca296
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1181
Star
22014
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a13ca296
编写于
2月 13, 2023
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' into fix/liaohj
上级
5dfa0e69
6122a2fb
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
92 addition
and
64 deletion
+92
-64
examples/JDBC/readme.md
examples/JDBC/readme.md
+1
-1
include/util/taoserror.h
include/util/taoserror.h
+1
-0
source/client/src/clientRawBlockWrite.c
source/client/src/clientRawBlockWrite.c
+48
-18
source/dnode/vnode/src/tsdb/tsdbRead.c
source/dnode/vnode/src/tsdb/tsdbRead.c
+18
-41
source/libs/executor/src/scanoperator.c
source/libs/executor/src/scanoperator.c
+5
-1
source/libs/stream/src/streamMeta.c
source/libs/stream/src/streamMeta.c
+1
-1
source/libs/transport/src/thttp.c
source/libs/transport/src/thttp.c
+7
-1
source/os/src/osSysinfo.c
source/os/src/osSysinfo.c
+3
-1
source/util/src/terror.c
source/util/src/terror.c
+1
-0
tests/pytest/util/dnodes.py
tests/pytest/util/dnodes.py
+2
-0
tests/system-test/7-tmq/tmq_taosx.py
tests/system-test/7-tmq/tmq_taosx.py
+5
-0
未找到文件。
examples/JDBC/readme.md
浏览文件 @
a13ca296
...
@@ -10,4 +10,4 @@
...
@@ -10,4 +10,4 @@
| 6 | taosdemo | This is an internal tool for testing Our JDBC-JNI, JDBC-RESTful, RESTful interfaces |
| 6 | taosdemo | This is an internal tool for testing Our JDBC-JNI, JDBC-RESTful, RESTful interfaces |
more detail: https://docs.taosdata.com/reference/connector/java/
more detail: https://docs.taosdata.com/connector/java/
\ No newline at end of file
include/util/taoserror.h
浏览文件 @
a13ca296
...
@@ -111,6 +111,7 @@ int32_t* taosGetErrno();
...
@@ -111,6 +111,7 @@ int32_t* taosGetErrno();
#define TSDB_CODE_NOT_FOUND TAOS_DEF_ERROR_CODE(0, 0x012A)
#define TSDB_CODE_NOT_FOUND TAOS_DEF_ERROR_CODE(0, 0x012A)
#define TSDB_CODE_NO_DISKSPACE TAOS_DEF_ERROR_CODE(0, 0x012B)
#define TSDB_CODE_NO_DISKSPACE TAOS_DEF_ERROR_CODE(0, 0x012B)
#define TSDB_CODE_TIMEOUT_ERROR TAOS_DEF_ERROR_CODE(0, 0x012C)
#define TSDB_CODE_TIMEOUT_ERROR TAOS_DEF_ERROR_CODE(0, 0x012C)
#define TSDB_CODE_MSG_ENCODE_ERROR TAOS_DEF_ERROR_CODE(0, 0x012D)
#define TSDB_CODE_APP_IS_STARTING TAOS_DEF_ERROR_CODE(0, 0x0130) //
#define TSDB_CODE_APP_IS_STARTING TAOS_DEF_ERROR_CODE(0, 0x0130) //
#define TSDB_CODE_APP_IS_STOPPING TAOS_DEF_ERROR_CODE(0, 0x0131) //
#define TSDB_CODE_APP_IS_STOPPING TAOS_DEF_ERROR_CODE(0, 0x0131) //
...
...
source/client/src/clientRawBlockWrite.c
浏览文件 @
a13ca296
...
@@ -25,6 +25,10 @@
...
@@ -25,6 +25,10 @@
#include "tref.h"
#include "tref.h"
#include "ttimer.h"
#include "ttimer.h"
static
tb_uid_t
processSuid
(
tb_uid_t
suid
,
char
*
db
){
return
suid
+
MurmurHash3_32
(
db
,
strlen
(
db
));
}
static
char
*
buildCreateTableJson
(
SSchemaWrapper
*
schemaRow
,
SSchemaWrapper
*
schemaTag
,
char
*
name
,
int64_t
id
,
static
char
*
buildCreateTableJson
(
SSchemaWrapper
*
schemaRow
,
SSchemaWrapper
*
schemaTag
,
char
*
name
,
int64_t
id
,
int8_t
t
)
{
int8_t
t
)
{
char
*
string
=
NULL
;
char
*
string
=
NULL
;
...
@@ -681,7 +685,7 @@ static int32_t taosCreateStb(TAOS* taos, void* meta, int32_t metaLen) {
...
@@ -681,7 +685,7 @@ static int32_t taosCreateStb(TAOS* taos, void* meta, int32_t metaLen) {
pReq
.
numOfColumns
=
req
.
schemaRow
.
nCols
;
pReq
.
numOfColumns
=
req
.
schemaRow
.
nCols
;
pReq
.
numOfTags
=
req
.
schemaTag
.
nCols
;
pReq
.
numOfTags
=
req
.
schemaTag
.
nCols
;
pReq
.
commentLen
=
-
1
;
pReq
.
commentLen
=
-
1
;
pReq
.
suid
=
req
.
suid
;
pReq
.
suid
=
processSuid
(
req
.
suid
,
pRequest
->
pDb
)
;
pReq
.
source
=
TD_REQ_FROM_TAOX
;
pReq
.
source
=
TD_REQ_FROM_TAOX
;
pReq
.
igExists
=
true
;
pReq
.
igExists
=
true
;
...
@@ -753,7 +757,7 @@ static int32_t taosDropStb(TAOS* taos, void* meta, int32_t metaLen) {
...
@@ -753,7 +757,7 @@ static int32_t taosDropStb(TAOS* taos, void* meta, int32_t metaLen) {
// build drop stable
// build drop stable
pReq
.
igNotExists
=
true
;
pReq
.
igNotExists
=
true
;
pReq
.
source
=
TD_REQ_FROM_TAOX
;
pReq
.
source
=
TD_REQ_FROM_TAOX
;
pReq
.
suid
=
req
.
suid
;
pReq
.
suid
=
processSuid
(
req
.
suid
,
pRequest
->
pDb
)
;
STscObj
*
pTscObj
=
pRequest
->
pTscObj
;
STscObj
*
pTscObj
=
pRequest
->
pTscObj
;
SName
tableName
=
{
0
};
SName
tableName
=
{
0
};
...
@@ -871,6 +875,7 @@ static int32_t taosCreateTable(TAOS* taos, void* meta, int32_t metaLen) {
...
@@ -871,6 +875,7 @@ static int32_t taosCreateTable(TAOS* taos, void* meta, int32_t metaLen) {
if
(
pCreateReq
->
type
==
TSDB_CHILD_TABLE
)
{
if
(
pCreateReq
->
type
==
TSDB_CHILD_TABLE
)
{
STableMeta
*
pTableMeta
=
NULL
;
STableMeta
*
pTableMeta
=
NULL
;
SName
sName
=
{
0
};
SName
sName
=
{
0
};
pCreateReq
->
ctb
.
suid
=
processSuid
(
pCreateReq
->
ctb
.
suid
,
pRequest
->
pDb
);
toName
(
pTscObj
->
acctId
,
pRequest
->
pDb
,
pCreateReq
->
ctb
.
stbName
,
&
sName
);
toName
(
pTscObj
->
acctId
,
pRequest
->
pDb
,
pCreateReq
->
ctb
.
stbName
,
&
sName
);
code
=
catalogGetTableMeta
(
pCatalog
,
&
conn
,
&
sName
,
&
pTableMeta
);
code
=
catalogGetTableMeta
(
pCatalog
,
&
conn
,
&
sName
,
&
pTableMeta
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
...
@@ -1008,6 +1013,7 @@ static int32_t taosDropTable(TAOS* taos, void* meta, int32_t metaLen) {
...
@@ -1008,6 +1013,7 @@ static int32_t taosDropTable(TAOS* taos, void* meta, int32_t metaLen) {
for
(
int32_t
iReq
=
0
;
iReq
<
req
.
nReqs
;
iReq
++
)
{
for
(
int32_t
iReq
=
0
;
iReq
<
req
.
nReqs
;
iReq
++
)
{
pDropReq
=
req
.
pReqs
+
iReq
;
pDropReq
=
req
.
pReqs
+
iReq
;
pDropReq
->
igNotExists
=
true
;
pDropReq
->
igNotExists
=
true
;
pDropReq
->
suid
=
processSuid
(
pDropReq
->
suid
,
pRequest
->
pDb
);
SVgroupInfo
pInfo
=
{
0
};
SVgroupInfo
pInfo
=
{
0
};
SName
pName
=
{
0
};
SName
pName
=
{
0
};
...
@@ -1922,6 +1928,7 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
...
@@ -1922,6 +1928,7 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
SMqTaosxRspObj
rspObj
=
{
0
};
SMqTaosxRspObj
rspObj
=
{
0
};
SDecoder
decoder
=
{
0
};
SDecoder
decoder
=
{
0
};
STableMeta
*
pTableMeta
=
NULL
;
STableMeta
*
pTableMeta
=
NULL
;
void
*
schemaContent
=
NULL
;
terrno
=
TSDB_CODE_SUCCESS
;
terrno
=
TSDB_CODE_SUCCESS
;
SRequestObj
*
pRequest
=
(
SRequestObj
*
)
createRequest
(
*
(
int64_t
*
)
taos
,
TSDB_SQL_INSERT
,
0
);
SRequestObj
*
pRequest
=
(
SRequestObj
*
)
createRequest
(
*
(
int64_t
*
)
taos
,
TSDB_SQL_INSERT
,
0
);
...
@@ -2008,27 +2015,49 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
...
@@ -2008,27 +2015,49 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
SDecoder
decoderTmp
=
{
0
};
SDecoder
decoderTmp
=
{
0
};
SVCreateTbReq
pCreateReq
=
{
0
};
SVCreateTbReq
pCreateReq
=
{
0
};
tDecoderInit
(
&
decoderTmp
,
*
dataTmp
,
*
lenTmp
);
do
{
if
(
tDecodeSVCreateTbReq
(
&
decoderTmp
,
&
pCreateReq
)
<
0
)
{
tDecoderInit
(
&
decoderTmp
,
*
dataTmp
,
*
lenTmp
);
tDecoderClear
(
&
decoderTmp
);
if
(
tDecodeSVCreateTbReq
(
&
decoderTmp
,
&
pCreateReq
)
<
0
)
{
taosMemoryFreeClear
(
pCreateReq
.
comment
);
code
=
TSDB_CODE_MSG_DECODE_ERROR
;
taosArrayDestroy
(
pCreateReq
.
ctb
.
tagName
);
break
;
goto
end
;
}
}
if
(
strcmp
(
tbName
,
pCreateReq
.
name
)
!=
0
)
{
break
;
}
pCreateReq
.
ctb
.
suid
=
processSuid
(
pCreateReq
.
ctb
.
suid
,
pRequest
->
pDb
);
ASSERT
(
pCreateReq
.
type
==
TSDB_CHILD_TABLE
);
int32_t
len
=
0
;
if
(
strcmp
(
tbName
,
pCreateReq
.
name
)
==
0
)
{
tEncodeSize
(
tEncodeSVCreateTbReq
,
&
pCreateReq
,
len
,
code
);
schemaLen
=
*
lenTmp
;
if
(
code
!=
0
)
{
schemaData
=
*
dataTmp
;
code
=
TSDB_CODE_MSG_ENCODE_ERROR
;
break
;
}
taosMemoryFree
(
schemaContent
);
schemaContent
=
taosMemoryMalloc
(
len
);
if
(
!
schemaContent
)
{
code
=
TSDB_CODE_OUT_OF_MEMORY
;
break
;
}
SEncoder
encoder
=
{
0
};
tEncoderInit
(
&
encoder
,
schemaContent
,
len
);
code
=
tEncodeSVCreateTbReq
(
&
encoder
,
&
pCreateReq
);
if
(
code
!=
0
)
{
tEncoderClear
(
&
encoder
);
code
=
TSDB_CODE_MSG_ENCODE_ERROR
;
break
;
}
schemaLen
=
len
;
schemaData
=
schemaContent
;
strcpy
(
pName
.
tname
,
pCreateReq
.
ctb
.
stbName
);
strcpy
(
pName
.
tname
,
pCreateReq
.
ctb
.
stbName
);
tDecoderClear
(
&
decoderTmp
);
tEncoderClear
(
&
encoder
);
taosMemoryFreeClear
(
pCreateReq
.
comment
);
}
while
(
0
);
taosArrayDestroy
(
pCreateReq
.
ctb
.
tagName
);
break
;
}
tDecoderClear
(
&
decoderTmp
);
tDecoderClear
(
&
decoderTmp
);
taosMemoryFreeClear
(
pCreateReq
.
comment
);
taosMemoryFreeClear
(
pCreateReq
.
comment
);
taosArrayDestroy
(
pCreateReq
.
ctb
.
tagName
);
taosArrayDestroy
(
pCreateReq
.
ctb
.
tagName
);
if
(
code
!=
0
)
goto
end
;
if
(
schemaLen
!=
0
)
break
;
}
}
code
=
catalogGetTableMeta
(
pCatalog
,
&
conn
,
&
pName
,
&
pTableMeta
);
code
=
catalogGetTableMeta
(
pCatalog
,
&
conn
,
&
pName
,
&
pTableMeta
);
...
@@ -2217,6 +2246,7 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
...
@@ -2217,6 +2246,7 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
destroyRequest
(
pRequest
);
destroyRequest
(
pRequest
);
taosHashCleanup
(
pVgHash
);
taosHashCleanup
(
pVgHash
);
taosMemoryFreeClear
(
pTableMeta
);
taosMemoryFreeClear
(
pTableMeta
);
taosMemoryFree
(
schemaContent
);
return
code
;
return
code
;
}
}
...
...
source/dnode/vnode/src/tsdb/tsdbRead.c
浏览文件 @
a13ca296
...
@@ -423,19 +423,6 @@ static STimeWindow updateQueryTimeWindow(STsdb* pTsdb, STimeWindow* pWindow) {
...
@@ -423,19 +423,6 @@ static STimeWindow updateQueryTimeWindow(STsdb* pTsdb, STimeWindow* pWindow) {
return
win
;
return
win
;
}
}
static
void
limitOutputBufferSize
(
const
SQueryTableDataCond
*
pCond
,
int32_t
*
capacity
)
{
int32_t
rowLen
=
0
;
for
(
int32_t
i
=
0
;
i
<
pCond
->
numOfCols
;
++
i
)
{
rowLen
+=
pCond
->
colList
[
i
].
bytes
;
}
// make sure the output SSDataBlock size be less than 2MB.
const
int32_t
TWOMB
=
2
*
1024
*
1024
;
if
((
*
capacity
)
*
rowLen
>
TWOMB
)
{
(
*
capacity
)
=
TWOMB
/
rowLen
;
}
}
// init file iterator
// init file iterator
static
int32_t
initFilesetIterator
(
SFilesetIter
*
pIter
,
SArray
*
aDFileSet
,
STsdbReader
*
pReader
)
{
static
int32_t
initFilesetIterator
(
SFilesetIter
*
pIter
,
SArray
*
aDFileSet
,
STsdbReader
*
pReader
)
{
size_t
numOfFileset
=
taosArrayGetSize
(
aDFileSet
);
size_t
numOfFileset
=
taosArrayGetSize
(
aDFileSet
);
...
@@ -618,9 +605,6 @@ static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond* pCond, STsd
...
@@ -618,9 +605,6 @@ static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond* pCond, STsd
goto
_end
;
goto
_end
;
}
}
// todo refactor.
limitOutputBufferSize
(
pCond
,
&
pReader
->
capacity
);
// allocate buffer in order to load data blocks from file
// allocate buffer in order to load data blocks from file
SBlockLoadSuppInfo
*
pSup
=
&
pReader
->
suppInfo
;
SBlockLoadSuppInfo
*
pSup
=
&
pReader
->
suppInfo
;
pSup
->
pColAgg
=
taosArrayInit
(
pCond
->
numOfCols
,
sizeof
(
SColumnDataAgg
));
pSup
->
pColAgg
=
taosArrayInit
(
pCond
->
numOfCols
,
sizeof
(
SColumnDataAgg
));
...
@@ -1611,9 +1595,9 @@ static int32_t buildDataBlockFromBuf(STsdbReader* pReader, STableBlockScanInfo*
...
@@ -1611,9 +1595,9 @@ static int32_t buildDataBlockFromBuf(STsdbReader* pReader, STableBlockScanInfo*
double
elapsedTime
=
(
taosGetTimestampUs
()
-
st
)
/
1000
.
0
;
double
elapsedTime
=
(
taosGetTimestampUs
()
-
st
)
/
1000
.
0
;
tsdbDebug
(
"%p build data block from cache completed, elapsed time:%.2f ms, numOfRows:%d, brange:%"
PRId64
tsdbDebug
(
"%p build data block from cache completed, elapsed time:%.2f ms, numOfRows:%d, brange:%"
PRId64
" - %"
PRId64
" %s"
,
" - %"
PRId64
"
, uid:%"
PRIu64
",
%s"
,
pReader
,
elapsedTime
,
pBlock
->
info
.
rows
,
pBlock
->
info
.
window
.
skey
,
pBlock
->
info
.
window
.
ekey
,
pReader
,
elapsedTime
,
pBlock
->
info
.
rows
,
pBlock
->
info
.
window
.
skey
,
pBlock
->
info
.
window
.
ekey
,
pReader
->
idStr
);
p
BlockScanInfo
->
uid
,
p
Reader
->
idStr
);
pReader
->
cost
.
buildmemBlock
+=
elapsedTime
;
pReader
->
cost
.
buildmemBlock
+=
elapsedTime
;
return
code
;
return
code
;
...
@@ -1639,8 +1623,10 @@ static bool tryCopyDistinctRowFromFileBlock(STsdbReader* pReader, SBlockData* pB
...
@@ -1639,8 +1623,10 @@ static bool tryCopyDistinctRowFromFileBlock(STsdbReader* pReader, SBlockData* pB
return
false
;
return
false
;
}
}
static
bool
nextRowFromLastBlocks
(
SLastBlockReader
*
pLastBlockReader
,
STableBlockScanInfo
*
p
Block
ScanInfo
,
static
bool
nextRowFromLastBlocks
(
SLastBlockReader
*
pLastBlockReader
,
STableBlockScanInfo
*
pScanInfo
,
SVersionRange
*
pVerRange
)
{
SVersionRange
*
pVerRange
)
{
int32_t
step
=
ASCENDING_TRAVERSE
(
pLastBlockReader
->
order
)
?
1
:-
1
;
while
(
1
)
{
while
(
1
)
{
bool
hasVal
=
tMergeTreeNext
(
&
pLastBlockReader
->
mergeTree
);
bool
hasVal
=
tMergeTreeNext
(
&
pLastBlockReader
->
mergeTree
);
if
(
!
hasVal
)
{
if
(
!
hasVal
)
{
...
@@ -1649,8 +1635,15 @@ static bool nextRowFromLastBlocks(SLastBlockReader* pLastBlockReader, STableBloc
...
@@ -1649,8 +1635,15 @@ static bool nextRowFromLastBlocks(SLastBlockReader* pLastBlockReader, STableBloc
TSDBROW
row
=
tMergeTreeGetRow
(
&
pLastBlockReader
->
mergeTree
);
TSDBROW
row
=
tMergeTreeGetRow
(
&
pLastBlockReader
->
mergeTree
);
TSDBKEY
k
=
TSDBROW_KEY
(
&
row
);
TSDBKEY
k
=
TSDBROW_KEY
(
&
row
);
if
(
!
hasBeenDropped
(
pBlockScanInfo
->
delSkyline
,
&
pBlockScanInfo
->
lastBlockDelIndex
,
&
k
,
pLastBlockReader
->
order
,
if
(
hasBeenDropped
(
pScanInfo
->
delSkyline
,
&
pScanInfo
->
lastBlockDelIndex
,
&
k
,
pLastBlockReader
->
order
,
pVerRange
))
{
pVerRange
))
{
pScanInfo
->
lastKey
=
k
.
ts
;
}
else
{
// the qualifed ts may equal to k.ts, only a greater version one.
// here we need to fallback one step.
if
(
pScanInfo
->
lastKey
==
k
.
ts
)
{
pScanInfo
->
lastKey
-=
step
;
}
return
true
;
return
true
;
}
}
}
}
...
@@ -2316,6 +2309,7 @@ static bool initLastBlockReader(SLastBlockReader* pLBlockReader, STableBlockScan
...
@@ -2316,6 +2309,7 @@ static bool initLastBlockReader(SLastBlockReader* pLBlockReader, STableBlockScan
w
.
ekey
=
pScanInfo
->
lastKey
+
step
;
w
.
ekey
=
pScanInfo
->
lastKey
+
step
;
}
}
tsdbDebug
(
"init last block reader, window:%"
PRId64
"-%"
PRId64
", uid:%"
PRIu64
", %s"
,
w
.
skey
,
w
.
ekey
,
pScanInfo
->
uid
,
pReader
->
idStr
);
int32_t
code
=
tMergeTreeOpen
(
&
pLBlockReader
->
mergeTree
,
(
pLBlockReader
->
order
==
TSDB_ORDER_DESC
),
int32_t
code
=
tMergeTreeOpen
(
&
pLBlockReader
->
mergeTree
,
(
pLBlockReader
->
order
==
TSDB_ORDER_DESC
),
pReader
->
pFileReader
,
pReader
->
suid
,
pScanInfo
->
uid
,
&
w
,
&
pLBlockReader
->
verRange
,
pReader
->
pFileReader
,
pReader
->
suid
,
pScanInfo
->
uid
,
&
w
,
&
pLBlockReader
->
verRange
,
pLBlockReader
->
pInfo
,
false
,
pReader
->
idStr
);
pLBlockReader
->
pInfo
,
false
,
pReader
->
idStr
);
...
@@ -2755,18 +2749,6 @@ static void extractOrderedTableUidList(SUidOrderCheckInfo* pOrderCheckInfo, SRea
...
@@ -2755,18 +2749,6 @@ static void extractOrderedTableUidList(SUidOrderCheckInfo* pOrderCheckInfo, SRea
taosSort
(
pOrderCheckInfo
->
tableUidList
,
total
,
sizeof
(
uint64_t
),
uidComparFunc
);
taosSort
(
pOrderCheckInfo
->
tableUidList
,
total
,
sizeof
(
uint64_t
),
uidComparFunc
);
}
}
// reset the last del file index
static
void
resetScanBlockLastBlockDelIndex
(
SReaderStatus
*
pStatus
,
int32_t
order
)
{
void
*
p
=
taosHashIterate
(
pStatus
->
pTableMap
,
NULL
);
while
(
p
!=
NULL
)
{
STableBlockScanInfo
*
pScanInfo
=
*
(
STableBlockScanInfo
**
)
p
;
// reset the last del file index
pScanInfo
->
lastBlockDelIndex
=
getInitialDelIndex
(
pScanInfo
->
delSkyline
,
order
);
p
=
taosHashIterate
(
pStatus
->
pTableMap
,
p
);
}
}
static
int32_t
initOrderCheckInfo
(
SUidOrderCheckInfo
*
pOrderCheckInfo
,
STsdbReader
*
pReader
)
{
static
int32_t
initOrderCheckInfo
(
SUidOrderCheckInfo
*
pOrderCheckInfo
,
STsdbReader
*
pReader
)
{
SReaderStatus
*
pStatus
=
&
pReader
->
status
;
SReaderStatus
*
pStatus
=
&
pReader
->
status
;
...
@@ -3082,7 +3064,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
...
@@ -3082,7 +3064,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
// this file does not have data files, let's start check the last block file if exists
// this file does not have data files, let's start check the last block file if exists
if
(
pBlockIter
->
numOfBlocks
==
0
)
{
if
(
pBlockIter
->
numOfBlocks
==
0
)
{
resetScanBlockLastBlockDelIndex
(
&
pReader
->
status
,
pReader
->
order
);
goto
_begin
;
goto
_begin
;
}
}
}
}
...
@@ -3114,7 +3095,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
...
@@ -3114,7 +3095,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
// data blocks in current file are exhausted, let's try the next file now
// data blocks in current file are exhausted, let's try the next file now
tBlockDataReset
(
&
pReader
->
status
.
fileBlockData
);
tBlockDataReset
(
&
pReader
->
status
.
fileBlockData
);
resetDataBlockIterator
(
pBlockIter
,
pReader
->
order
);
resetDataBlockIterator
(
pBlockIter
,
pReader
->
order
);
resetScanBlockLastBlockDelIndex
(
&
pReader
->
status
,
pReader
->
order
);
goto
_begin
;
goto
_begin
;
}
else
{
}
else
{
code
=
initForFirstBlockInFile
(
pReader
,
pBlockIter
);
code
=
initForFirstBlockInFile
(
pReader
,
pBlockIter
);
...
@@ -3126,7 +3106,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
...
@@ -3126,7 +3106,6 @@ static int32_t buildBlockFromFiles(STsdbReader* pReader) {
// this file does not have blocks, let's start check the last block file
// this file does not have blocks, let's start check the last block file
if
(
pBlockIter
->
numOfBlocks
==
0
)
{
if
(
pBlockIter
->
numOfBlocks
==
0
)
{
resetScanBlockLastBlockDelIndex
(
&
pReader
->
status
,
pReader
->
order
);
goto
_begin
;
goto
_begin
;
}
}
}
}
...
@@ -3840,11 +3819,9 @@ int32_t tsdbReaderOpen(SVnode* pVnode, SQueryTableDataCond* pCond, void* pTableL
...
@@ -3840,11 +3819,9 @@ int32_t tsdbReaderOpen(SVnode* pVnode, SQueryTableDataCond* pCond, void* pTableL
pCond
->
twindows
.
ekey
-=
1
;
pCond
->
twindows
.
ekey
-=
1
;
}
}
int32_t
capacity
=
0
;
int32_t
capacity
=
pVnode
->
config
.
tsdbCfg
.
maxRows
;
if
(
pResBlock
==
NULL
)
{
if
(
pResBlock
!=
NULL
)
{
capacity
=
4096
;
blockDataEnsureCapacity
(
pResBlock
,
capacity
);
}
else
{
capacity
=
pResBlock
->
info
.
capacity
;
}
}
int32_t
code
=
tsdbReaderCreate
(
pVnode
,
pCond
,
ppReader
,
capacity
,
pResBlock
,
idstr
);
int32_t
code
=
tsdbReaderCreate
(
pVnode
,
pCond
,
ppReader
,
capacity
,
pResBlock
,
idstr
);
...
...
source/libs/executor/src/scanoperator.c
浏览文件 @
a13ca296
...
@@ -781,6 +781,10 @@ static SSDataBlock* doTableScan(SOperatorInfo* pOperator) {
...
@@ -781,6 +781,10 @@ static SSDataBlock* doTableScan(SOperatorInfo* pOperator) {
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
T_LONG_JMP
(
pTaskInfo
->
env
,
code
);
T_LONG_JMP
(
pTaskInfo
->
env
,
code
);
}
}
if
(
pInfo
->
pResBlock
->
info
.
capacity
>
pOperator
->
resultInfo
.
capacity
)
{
pOperator
->
resultInfo
.
capacity
=
pInfo
->
pResBlock
->
info
.
capacity
;
}
}
}
SSDataBlock
*
result
=
doGroupedTableScan
(
pOperator
);
SSDataBlock
*
result
=
doGroupedTableScan
(
pOperator
);
...
@@ -884,7 +888,7 @@ SOperatorInfo* createTableScanOperatorInfo(STableScanPhysiNode* pTableScanNode,
...
@@ -884,7 +888,7 @@ SOperatorInfo* createTableScanOperatorInfo(STableScanPhysiNode* pTableScanNode,
initResultSizeInfo
(
&
pOperator
->
resultInfo
,
4096
);
initResultSizeInfo
(
&
pOperator
->
resultInfo
,
4096
);
pInfo
->
pResBlock
=
createDataBlockFromDescNode
(
pDescNode
);
pInfo
->
pResBlock
=
createDataBlockFromDescNode
(
pDescNode
);
blockDataEnsureCapacity
(
pInfo
->
pResBlock
,
pOperator
->
resultInfo
.
capacity
);
//
blockDataEnsureCapacity(pInfo->pResBlock, pOperator->resultInfo.capacity);
code
=
filterInitFromNode
((
SNode
*
)
pTableScanNode
->
scan
.
node
.
pConditions
,
&
pOperator
->
exprSupp
.
pFilterInfo
,
0
);
code
=
filterInitFromNode
((
SNode
*
)
pTableScanNode
->
scan
.
node
.
pConditions
,
&
pOperator
->
exprSupp
.
pFilterInfo
,
0
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
...
...
source/libs/stream/src/streamMeta.c
浏览文件 @
a13ca296
...
@@ -44,7 +44,7 @@ SStreamMeta* streamMetaOpen(const char* path, void* ahandle, FTaskExpand expandF
...
@@ -44,7 +44,7 @@ SStreamMeta* streamMetaOpen(const char* path, void* ahandle, FTaskExpand expandF
goto
_err
;
goto
_err
;
}
}
pMeta
->
pTasks
=
taosHashInit
(
64
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_
NO
_LOCK
);
pMeta
->
pTasks
=
taosHashInit
(
64
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_
ENTRY
_LOCK
);
if
(
pMeta
->
pTasks
==
NULL
)
{
if
(
pMeta
->
pTasks
==
NULL
)
{
goto
_err
;
goto
_err
;
}
}
...
...
source/libs/transport/src/thttp.c
浏览文件 @
a13ca296
...
@@ -420,7 +420,13 @@ static void transHttpEnvInit() {
...
@@ -420,7 +420,13 @@ static void transHttpEnvInit() {
uv_loop_init
(
http
->
loop
);
uv_loop_init
(
http
->
loop
);
http
->
asyncPool
=
transAsyncPoolCreate
(
http
->
loop
,
1
,
http
,
httpAsyncCb
);
http
->
asyncPool
=
transAsyncPoolCreate
(
http
->
loop
,
1
,
http
,
httpAsyncCb
);
if
(
NULL
==
http
->
asyncPool
)
{
taosMemoryFree
(
http
->
loop
);
taosMemoryFree
(
http
);
http
=
NULL
;
return
;
}
int
err
=
taosThreadCreate
(
&
http
->
thread
,
NULL
,
httpThread
,
(
void
*
)
http
);
int
err
=
taosThreadCreate
(
&
http
->
thread
,
NULL
,
httpThread
,
(
void
*
)
http
);
if
(
err
!=
0
)
{
if
(
err
!=
0
)
{
taosMemoryFree
(
http
->
loop
);
taosMemoryFree
(
http
->
loop
);
...
...
source/os/src/osSysinfo.c
浏览文件 @
a13ca296
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include "taoserror.h"
#include "taoserror.h"
#define PROCESS_ITEM 12
#define PROCESS_ITEM 12
#define UUIDLEN37 37
typedef
struct
{
typedef
struct
{
uint64_t
user
;
uint64_t
user
;
...
@@ -830,7 +831,8 @@ int32_t taosGetSystemUUID(char *uid, int32_t uidlen) {
...
@@ -830,7 +831,8 @@ int32_t taosGetSystemUUID(char *uid, int32_t uidlen) {
return
0
;
return
0
;
#elif defined(_TD_DARWIN_64)
#elif defined(_TD_DARWIN_64)
uuid_t
uuid
=
{
0
};
uuid_t
uuid
=
{
0
};
char
buf
[
37
]
=
{
0
};
char
buf
[
UUIDLEN37
];
memset
(
buf
,
0
,
UUIDLEN37
);
uuid_generate
(
uuid
);
uuid_generate
(
uuid
);
// it's caller's responsibility to make enough space for `uid`, that's 36-char + 1-null
// it's caller's responsibility to make enough space for `uid`, that's 36-char + 1-null
uuid_unparse_lower
(
uuid
,
buf
);
uuid_unparse_lower
(
uuid
,
buf
);
...
...
source/util/src/terror.c
浏览文件 @
a13ca296
...
@@ -88,6 +88,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_NEED_RETRY, "Retry needed")
...
@@ -88,6 +88,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_NEED_RETRY, "Retry needed")
TAOS_DEFINE_ERROR
(
TSDB_CODE_OUT_OF_RPC_MEMORY_QUEUE
,
"Out of memory in rpc queue"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_OUT_OF_RPC_MEMORY_QUEUE
,
"Out of memory in rpc queue"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_INVALID_TIMESTAMP
,
"Invalid timestamp format"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_INVALID_TIMESTAMP
,
"Invalid timestamp format"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MSG_DECODE_ERROR
,
"Msg decode error"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MSG_DECODE_ERROR
,
"Msg decode error"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MSG_ENCODE_ERROR
,
"Msg encode error"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_NO_AVAIL_DISK
,
"No available disk"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_NO_AVAIL_DISK
,
"No available disk"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_NOT_FOUND
,
"Not found"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_NOT_FOUND
,
"Not found"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_NO_DISKSPACE
,
"Out of disk space"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_NO_DISKSPACE
,
"Out of disk space"
)
...
...
tests/pytest/util/dnodes.py
浏览文件 @
a13ca296
...
@@ -29,6 +29,7 @@ class TDSimClient:
...
@@ -29,6 +29,7 @@ class TDSimClient:
self
.
testCluster
=
False
self
.
testCluster
=
False
self
.
path
=
path
self
.
path
=
path
self
.
cfgDict
=
{
self
.
cfgDict
=
{
"fqdn"
:
"localhost"
,
"numOfLogLines"
:
"100000000"
,
"numOfLogLines"
:
"100000000"
,
"locale"
:
"en_US.UTF-8"
,
"locale"
:
"en_US.UTF-8"
,
"charset"
:
"UTF-8"
,
"charset"
:
"UTF-8"
,
...
@@ -119,6 +120,7 @@ class TDDnode:
...
@@ -119,6 +120,7 @@ class TDDnode:
self
.
asan
=
False
self
.
asan
=
False
self
.
remoteIP
=
""
self
.
remoteIP
=
""
self
.
cfgDict
=
{
self
.
cfgDict
=
{
"fqdn"
:
"localhost"
,
"monitor"
:
"0"
,
"monitor"
:
"0"
,
"maxShellConns"
:
"30000"
,
"maxShellConns"
:
"30000"
,
"locale"
:
"en_US.UTF-8"
,
"locale"
:
"en_US.UTF-8"
,
...
...
tests/system-test/7-tmq/tmq_taosx.py
浏览文件 @
a13ca296
...
@@ -194,6 +194,11 @@ class TDTestCase:
...
@@ -194,6 +194,11 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
2
,
None
)
tdSql
.
checkData
(
0
,
2
,
None
)
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
checkData
(
1
,
2
,
'{"k1":1,"k2":"hello"}'
)
tdSql
.
checkData
(
1
,
2
,
'{"k1":1,"k2":"hello"}'
)
tdSql
.
query
(
"select * from information_schema.ins_tables where table_name = 'stt4'"
)
uid1
=
tdSql
.
getData
(
0
,
5
)
uid2
=
tdSql
.
getData
(
1
,
5
)
tdSql
.
checkNotEqual
(
uid1
,
uid2
)
return
return
def
checkWal1Vgroup
(
self
):
def
checkWal1Vgroup
(
self
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录