Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
soremi
oceanbase
提交
31418623
O
oceanbase
项目概览
soremi
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
31418623
编写于
11月 03, 2022
作者:
O
obdev
提交者:
wangzelin.wzl
11月 03, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix misuse const flag leads result wrong || core
上级
54885402
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
6 addition
and
4 deletion
+6
-4
src/sql/engine/basic/ob_chunk_datum_store.cpp
src/sql/engine/basic/ob_chunk_datum_store.cpp
+1
-1
src/sql/engine/basic/ob_chunk_datum_store.h
src/sql/engine/basic/ob_chunk_datum_store.h
+2
-2
src/sql/engine/basic/ob_ra_datum_store.cpp
src/sql/engine/basic/ob_ra_datum_store.cpp
+1
-1
src/sql/engine/expr/ob_expr.h
src/sql/engine/expr/ob_expr.h
+2
-0
未找到文件。
src/sql/engine/basic/ob_chunk_datum_store.cpp
浏览文件 @
31418623
...
...
@@ -75,7 +75,7 @@ int ObChunkDatumStore::StoredRow::to_expr_skip_const(const ObIArray<ObExpr*> &ex
}
else
{
for
(
uint32_t
i
=
0
;
i
<
cnt_
;
++
i
)
{
const
ObExpr
*
expr
=
exprs
.
at
(
i
);
if
(
expr
->
is_
dynamic_const_
||
expr
->
is_static_const_
)
{
// T_QUESTIONMARK is included in dynamic_const
if
(
expr
->
is_
const_expr
()
)
{
// T_QUESTIONMARK is included in dynamic_const
continue
;
}
else
{
expr
->
locate_expr_datum
(
ctx
)
=
cells
()[
i
];
...
...
src/sql/engine/basic/ob_chunk_datum_store.h
浏览文件 @
31418623
...
...
@@ -1203,7 +1203,7 @@ int ObChunkDatumStore::Iterator::get_next_row_skip_const(ObEvalCtx &ctx,
// logical operator, we can not add expr in CG.
for
(
int64_t
i
=
0
;
i
<
sr
->
cnt_
;
i
++
)
{
const
ObExpr
*
expr
=
exprs
.
at
(
i
);
if
(
expr
->
is_
dynamic_const_
)
{
// T_QUESTIONMARK is included in is_dynamic_const
if
(
expr
->
is_
const_expr
()
)
{
// T_QUESTIONMARK is included in is_dynamic_const
continue
;
}
else
{
const
ObDatum
&
src
=
sr
->
cells
()[
i
];
...
...
@@ -1270,7 +1270,7 @@ void ObChunkDatumStore::Iterator::attach_rows(
if
(
NULL
!=
srows
)
{
for
(
int64_t
col_idx
=
0
;
col_idx
<
exprs
.
count
();
col_idx
++
)
{
ObExpr
*
e
=
exprs
.
at
(
col_idx
);
if
(
skip_const
&&
e
->
is_
dynamic_const_
)
{
if
(
skip_const
&&
e
->
is_
const_expr
()
)
{
continue
;
}
if
(
OB_LIKELY
(
!
fill_invariable_res_buf
||
e
->
is_variable_res_buf
()))
{
...
...
src/sql/engine/basic/ob_ra_datum_store.cpp
浏览文件 @
31418623
...
...
@@ -131,7 +131,7 @@ int ObRADatumStore::StoredRow::to_expr(const common::ObIArray<ObExpr*> &exprs,
LOG_WARN
(
"datum count mismatch"
,
K
(
ret
),
K
(
cnt_
),
K
(
exprs
.
count
()));
}
else
{
for
(
uint32_t
i
=
0
;
i
<
cnt_
;
++
i
)
{
if
(
exprs
.
at
(
i
)
->
is_
static_const_
)
{
if
(
exprs
.
at
(
i
)
->
is_
const_expr
()
)
{
continue
;
}
else
{
exprs
.
at
(
i
)
->
locate_expr_datum
(
ctx
)
=
cells
()[
i
];
...
...
src/sql/engine/expr/ob_expr.h
浏览文件 @
31418623
...
...
@@ -459,6 +459,8 @@ public:
return
OBJ_DATUM_STRING
==
obj_datum_map_
;
};
inline
bool
is_const_expr
()
const
{
return
is_static_const_
||
is_dynamic_const_
;
}
// Evaluate all parameters, assign the first sizeof...(args) parameters to %args.
//
// e.g.:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录