Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
clmforever
oceanbase
提交
d67fe0af
O
oceanbase
项目概览
clmforever
/
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,发现更多精彩内容 >>
提交
d67fe0af
编写于
11月 13, 2022
作者:
O
obdev
提交者:
wangzelin.wzl
11月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support batch execute when using non array pl var in forall stmt
上级
74cb7c51
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
10 deletion
+10
-10
src/pl/ob_pl_resolver.cpp
src/pl/ob_pl_resolver.cpp
+1
-1
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
+9
-9
未找到文件。
src/pl/ob_pl_resolver.cpp
浏览文件 @
d67fe0af
...
...
@@ -3632,7 +3632,7 @@ int ObPLResolver::check_raw_expr_in_forall(ObRawExpr* expr, int64_t idx, bool &n
LOG_WARN("PLS-00430: FORALL iteration variable INDX is not allowed in this context", K(ret));
}
//这里控制包含非数组类型变量的forall语句直接以forloop实现, 避免forall先回退, 再forloop执行
can_array_binding =
fals
e;
can_array_binding =
tru
e;
} else {
bool inner_modify = false;
bool inner_can_array_binding = true;
...
...
src/sql/engine/expr/ob_expr_to_outfile_row.cpp
浏览文件 @
d67fe0af
...
...
@@ -34,9 +34,9 @@ ObExprToOutfileRow::ObExprToOutfileRow(ObIAllocator &alloc)
ObExprToOutfileRow
::~
ObExprToOutfileRow
()
{
}
int
ObExprToOutfileRow
::
calc_result_typeN
(
ObExprResType
&
type
,
}
int
ObExprToOutfileRow
::
calc_result_typeN
(
ObExprResType
&
type
,
ObExprResType
*
types
,
int64_t
param_num
,
ObExprTypeCtx
&
type_ctx
)
const
...
...
@@ -98,11 +98,11 @@ int ObExprToOutfileRow::extend_buffer(ObExprOutFileInfo &out_info,
int64_t
old_len
=
out_info
.
buf_len_
;
int64_t
new_len
=
(
old_len
==
0
)
?
OB_MALLOC_MIDDLE_BLOCK_SIZE
:
old_len
*
2
;
if
(
OB_ISNULL
(
out_info
.
buf_
=
static_cast
<
char
*>
(
allocator
.
alloc
(
new_len
))))
{
ret
=
OB_ALLOCATE_MEMORY_FAILED
;
LOG_WARN
(
"fail to allocate memory"
,
K
(
ret
),
K
(
old_len
),
K
(
new_len
));
}
else
if
(
OB_ISNULL
(
out_info
.
tmp_buf_
=
static_cast
<
char
*>
(
allocator
.
alloc
(
new_len
))))
{
ret
=
OB_ALLOCATE_MEMORY_FAILED
;
LOG_WARN
(
"fail to allocate memory"
,
K
(
ret
),
K
(
old_len
),
K
(
new_len
));
}
else
if
(
OB_ISNULL
(
out_info
.
tmp_buf_
=
static_cast
<
char
*>
(
allocator
.
alloc
(
new_len
))))
{
ret
=
OB_ALLOCATE_MEMORY_FAILED
;
LOG_WARN
(
"fail to allocate memory"
,
K
(
ret
),
K
(
old_len
),
K
(
new_len
));
}
else
{
out_info
.
buf_len_
=
new_len
;
out_info
.
tmp_buf_len_
=
new_len
;
...
...
@@ -151,9 +151,9 @@ int ObExprToOutfileRow::calc_outfile_info(const ObExpr &expr,
}
int
ObExprToOutfileRow
::
to_outfile_str
(
const
ObExpr
&
expr
,
ObEvalCtx
&
ctx
,
ObDatum
&
expr_datum
)
{
int
ret
=
OB_SUCCESS
;
if
(
OB_UNLIKELY
(
expr
.
arg_cnt_
<=
PARAM_SELECT_ITEM
))
{
{
int
ret
=
OB_SUCCESS
;
if
(
OB_UNLIKELY
(
expr
.
arg_cnt_
<=
PARAM_SELECT_ITEM
))
{
ret
=
OB_INVALID_ARGUMENT
;
LOG_WARN
(
"Invalid argument"
,
K
(
ret
));
}
else
if
(
OB_FAIL
(
expr
.
eval_param_value
(
ctx
)))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录