Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
dcaab41a
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
dcaab41a
编写于
3月 24, 2023
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:error in optimize consume logic
上级
1a2513d2
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
336 addition
and
288 deletion
+336
-288
source/libs/parser/src/parInsertUtil.c
source/libs/parser/src/parInsertUtil.c
+58
-10
utils/test/c/tmq_taosx_ci.c
utils/test/c/tmq_taosx_ci.c
+278
-278
未找到文件。
source/libs/parser/src/parInsertUtil.c
浏览文件 @
dcaab41a
...
...
@@ -611,8 +611,35 @@ static int bindFileds(SBoundColInfo* pBoundInfo, SSchema* pSchema, TAOS_FIELD* f
return
code
;
}
static
bool
isSameBindFileds
(
SBoundColInfo
*
pBoundInfo
,
SSchema
*
pSchema
,
TAOS_FIELD
*
fields
,
int
numFields
)
{
int16_t
lastColIdx
=
-
1
;
// last column found
for
(
int
i
=
0
;
i
<
numFields
;
i
++
)
{
SToken
token
;
token
.
z
=
fields
[
i
].
name
;
token
.
n
=
strlen
(
fields
[
i
].
name
);
int16_t
t
=
lastColIdx
+
1
;
int16_t
index
=
insFindCol
(
&
token
,
t
,
pBoundInfo
->
numOfCols
,
pSchema
);
if
(
index
<
0
&&
t
>
0
)
{
index
=
insFindCol
(
&
token
,
0
,
t
,
pSchema
);
}
if
(
index
<
0
)
{
uError
(
"can not find column name:%s"
,
token
.
z
);
return
false
;
}
else
{
lastColIdx
=
index
;
if
(
pBoundInfo
->
pColIndex
[
i
]
!=
index
){
return
false
;
}
}
}
return
true
;
}
int
rawBlockBindData
(
SQuery
*
query
,
STableMeta
*
pTableMeta
,
void
*
data
,
SVCreateTbReq
*
pCreateTb
,
TAOS_FIELD
*
tFields
,
int
numFields
,
bool
needChangeLength
)
{
void
*
tmp
=
taosHashGet
(((
SVnodeModifyOpStmt
*
)(
query
->
pRoot
))
->
pTableBlockHashObj
,
&
pTableMeta
->
uid
,
sizeof
(
pTableMeta
->
uid
));
STableDataCxt
*
pTableCxt
=
NULL
;
int
ret
=
insGetTableDataCxt
(((
SVnodeModifyOpStmt
*
)(
query
->
pRoot
))
->
pTableBlockHashObj
,
&
pTableMeta
->
uid
,
sizeof
(
pTableMeta
->
uid
),
pTableMeta
,
&
pCreateTb
,
&
pTableCxt
,
true
);
...
...
@@ -620,19 +647,40 @@ int rawBlockBindData(SQuery* query, STableMeta* pTableMeta, void* data, SVCreate
uError
(
"insGetTableDataCxt error"
);
goto
end
;
}
if
(
tFields
!=
NULL
)
{
ret
=
bindFileds
(
&
pTableCxt
->
boundColsInfo
,
getTableColumnSchema
(
pTableMeta
),
tFields
,
numFields
);
do
{
if
(
tmp
!=
NULL
){
if
(
!
isSameBindFileds
(
&
pTableCxt
->
boundColsInfo
,
getTableColumnSchema
(
pTableMeta
),
tFields
,
numFields
)){
char
*
fieldNames
=
(
char
*
)
taosMemoryCalloc
(
numFields
,
sizeof
(
tFields
[
0
].
name
));
for
(
int
i
=
0
;
i
<
numFields
;
i
++
){
memcpy
(
fieldNames
+
i
*
sizeof
(
tFields
[
0
].
name
),
tFields
[
i
].
name
,
sizeof
(
tFields
[
0
].
name
));
}
ret
=
insGetTableDataCxt
(((
SVnodeModifyOpStmt
*
)(
query
->
pRoot
))
->
pTableBlockHashObj
,
fieldNames
,
numFields
*
sizeof
(
tFields
[
0
].
name
),
pTableMeta
,
&
pCreateTb
,
&
pTableCxt
,
true
);
taosMemoryFree
(
fieldNames
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"insGetTableDataCxt inner error"
);
goto
end
;
}
}
else
{
break
;
}
}
if
(
tFields
!=
NULL
)
{
ret
=
bindFileds
(
&
pTableCxt
->
boundColsInfo
,
getTableColumnSchema
(
pTableMeta
),
tFields
,
numFields
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"bindFileds error"
);
goto
end
;
}
}
// no need to bind, because select * get all fields
ret
=
initTableColSubmitData
(
pTableCxt
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"
bindFileds
error"
);
uError
(
"
initTableColSubmitData
error"
);
goto
end
;
}
}
// no need to bind, because select * get all fields
ret
=
initTableColSubmitData
(
pTableCxt
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"initTableColSubmitData error"
);
goto
end
;
}
}
while
(
0
);
char
*
p
=
(
char
*
)
data
;
// | version | total length | total rows | total columns | flag seg| block group id | column schema | each column
...
...
utils/test/c/tmq_taosx_ci.c
浏览文件 @
dcaab41a
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录