Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f3c8bcb9
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f3c8bcb9
编写于
7月 07, 2022
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: insert from query
上级
d4696ef3
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
17 addition
and
10 deletion
+17
-10
source/dnode/qnode/src/qnode.c
source/dnode/qnode/src/qnode.c
+0
-3
source/libs/executor/src/dataInserter.c
source/libs/executor/src/dataInserter.c
+10
-4
source/libs/parser/src/parser.c
source/libs/parser/src/parser.c
+3
-0
source/libs/qworker/src/qworker.c
source/libs/qworker/src/qworker.c
+2
-2
source/libs/scheduler/inc/schInt.h
source/libs/scheduler/inc/schInt.h
+1
-1
source/libs/scheduler/src/schRemote.c
source/libs/scheduler/src/schRemote.c
+1
-0
未找到文件。
source/dnode/qnode/src/qnode.c
浏览文件 @
f3c8bcb9
...
...
@@ -89,9 +89,6 @@ int32_t qndProcessQueryMsg(SQnode *pQnode, int64_t ts, SRpcMsg *pMsg) {
case
TDMT_SCH_MERGE_FETCH
:
code
=
qWorkerProcessFetchMsg
(
pQnode
,
pQnode
->
pQuery
,
pMsg
,
ts
);
break
;
case
TDMT_SCH_FETCH_RSP
:
code
=
qWorkerProcessFetchRsp
(
pQnode
,
pQnode
->
pQuery
,
pMsg
,
ts
);
break
;
case
TDMT_SCH_CANCEL_TASK
:
code
=
qWorkerProcessCancelMsg
(
pQnode
,
pQnode
->
pQuery
,
pMsg
,
ts
);
break
;
...
...
source/libs/executor/src/dataInserter.c
浏览文件 @
f3c8bcb9
...
...
@@ -118,7 +118,13 @@ static int32_t sendSubmitRequest(SDataInserterHandle* pInserter, SSubmitReq* pMs
}
SSubmitReq
*
dataBlockToSubmit
(
const
SArray
*
pBlocks
,
const
STSchema
*
pTSchema
,
int64_t
uid
,
int64_t
suid
,
int32_t
vgId
)
{
SSubmitReq
*
dataBlockToSubmit
(
SDataInserterHandle
*
pInserter
)
{
const
SArray
*
pBlocks
=
pInserter
->
pDataBlocks
;
const
STSchema
*
pTSchema
=
pInserter
->
pSchema
;
int64_t
uid
=
pInserter
->
pNode
->
tableId
;
int64_t
suid
=
pInserter
->
pNode
->
stableId
;
int32_t
vgId
=
pInserter
->
pNode
->
vgId
;
SSubmitReq
*
ret
=
NULL
;
int32_t
sz
=
taosArrayGetSize
(
pBlocks
);
...
...
@@ -192,7 +198,7 @@ SSubmitReq* dataBlockToSubmit(const SArray* pBlocks, const STSchema* pTSchema, i
static
int32_t
putDataBlock
(
SDataSinkHandle
*
pHandle
,
const
SInputData
*
pInput
,
bool
*
pContinue
)
{
SDataInserterHandle
*
pInserter
=
(
SDataInserterHandle
*
)
pHandle
;
taosArrayPush
(
pInserter
->
pDataBlocks
,
pInput
->
pData
);
SSubmitReq
*
pMsg
=
dataBlockToSubmit
(
pInserter
->
pDataBlocks
,
pInserter
->
pSchema
,
pInserter
->
pNode
->
tableId
,
pInserter
->
pNode
->
suid
,
pInserter
->
pNode
->
vgId
);
SSubmitReq
*
pMsg
=
dataBlockToSubmit
(
pInserter
);
int32_t
code
=
sendSubmitRequest
(
pInserter
,
pMsg
,
pInserter
->
pParam
->
readHandle
->
pMsgCb
->
clientRpc
,
&
pInserter
->
pNode
->
epSet
);
if
(
code
)
{
...
...
@@ -248,7 +254,7 @@ int32_t createDataInserter(SDataSinkManager* pManager, const SDataSinkNode* pDat
return
TSDB_CODE_QRY_OUT_OF_MEMORY
;
}
S
DataDele
terNode
*
pInserterNode
=
(
SQueryInserterNode
*
)
pDataSink
;
S
QueryInser
terNode
*
pInserterNode
=
(
SQueryInserterNode
*
)
pDataSink
;
inserter
->
sink
.
fPut
=
putDataBlock
;
inserter
->
sink
.
fEndPut
=
endPut
;
inserter
->
sink
.
fGetLen
=
getDataLength
;
...
...
@@ -267,7 +273,7 @@ int32_t createDataInserter(SDataSinkManager* pManager, const SDataSinkNode* pDat
return
code
;
}
if
(
pInserterNode
->
s
ui
d
!=
suid
)
{
if
(
pInserterNode
->
s
tableI
d
!=
suid
)
{
terrno
=
TSDB_CODE_TDB_INVALID_TABLE_ID
;
return
terrno
;
}
...
...
source/libs/parser/src/parser.c
浏览文件 @
f3c8bcb9
...
...
@@ -39,6 +39,9 @@ bool qIsInsertValuesSql(const char* pStr, size_t length) {
if
(
TK_USING
==
t
.
type
||
TK_VALUES
==
t
.
type
)
{
return
true
;
}
if
(
0
==
t
.
type
)
{
break
;
}
}
while
(
pStr
-
pSql
<
length
);
return
false
;
}
...
...
source/libs/qworker/src/qworker.c
浏览文件 @
f3c8bcb9
...
...
@@ -247,7 +247,7 @@ int32_t qwGetQueryResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, int32_t *dataLen,
}
int32_t
qwGetDeleteResFromSink
(
QW_FPARAMS_DEF
,
SQWTaskCtx
*
ctx
,
SDeleteRes
*
pRes
)
{
int
32
_t
len
=
0
;
int
64
_t
len
=
0
;
bool
queryEnd
=
false
;
int32_t
code
=
0
;
SOutputData
output
=
{
0
};
...
...
@@ -255,7 +255,7 @@ int32_t qwGetDeleteResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, SDeleteRes *pRes
dsGetDataLength
(
ctx
->
sinkHandle
,
&
len
,
&
queryEnd
);
if
(
len
<=
0
||
len
!=
sizeof
(
SDeleterRes
))
{
QW_TASK_ELOG
(
"invalid length from dsGetDataLength, length:%
d"
,
len
);
QW_TASK_ELOG
(
"invalid length from dsGetDataLength, length:%
"
PRId64
,
len
);
QW_ERR_RET
(
TSDB_CODE_QRY_INVALID_INPUT
);
}
...
...
source/libs/scheduler/inc/schInt.h
浏览文件 @
f3c8bcb9
...
...
@@ -318,7 +318,7 @@ extern SSchedulerMgmt schMgmt;
#define SCH_SET_JOB_NEED_FLOW_CTRL(_job) (_job)->attr.needFlowCtrl = true
#define SCH_JOB_NEED_FLOW_CTRL(_job) ((_job)->attr.needFlowCtrl)
#define SCH_TASK_NEED_FLOW_CTRL(_job, _task) (SCH_IS_DATA_BIND_QRY_TASK(_task) && SCH_JOB_NEED_FLOW_CTRL(_job) && SCH_IS_LEVEL_UNFINISHED((_task)->level))
#define SCH_FETCH_TYPE(_pSrcTask) (SCH_IS_DATA_
SRC
_QRY_TASK(_pSrcTask) ? TDMT_SCH_FETCH : TDMT_SCH_MERGE_FETCH)
#define SCH_FETCH_TYPE(_pSrcTask) (SCH_IS_DATA_
BIND
_QRY_TASK(_pSrcTask) ? TDMT_SCH_FETCH : TDMT_SCH_MERGE_FETCH)
#define SCH_SET_JOB_TYPE(_job, type) do { if ((type) != SUBPLAN_TYPE_MODIFY) { (_job)->attr.queryJob = true; } } while (0)
#define SCH_IS_QUERY_JOB(_job) ((_job)->attr.queryJob)
...
...
source/libs/scheduler/src/schRemote.c
浏览文件 @
f3c8bcb9
...
...
@@ -30,6 +30,7 @@ int32_t schValidateRspMsgType(SSchJob *pJob, SSchTask *pTask, int32_t msgType) {
case
TDMT_SCH_EXPLAIN_RSP
:
return
TSDB_CODE_SUCCESS
;
case
TDMT_SCH_FETCH_RSP
:
case
TDMT_SCH_MERGE_FETCH_RSP
:
if
(
lastMsgType
!=
reqMsgType
)
{
SCH_TASK_ELOG
(
"rsp msg type mis-match, last sent msgType:%s, rspType:%s"
,
TMSG_INFO
(
lastMsgType
),
TMSG_INFO
(
msgType
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录