Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
oceanbase
提交
c6f5f093
O
oceanbase
项目概览
Metz
/
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看板
提交
c6f5f093
编写于
7月 10, 2021
作者:
O
obdev
提交者:
wangzelin.wzl
7月 10, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bugfix: char function data error in gc col
上级
eb4dc363
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
1 deletion
+37
-1
src/sql/resolver/expr/ob_raw_expr_printer.cpp
src/sql/resolver/expr/ob_raw_expr_printer.cpp
+36
-0
src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp
src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp
+1
-1
未找到文件。
src/sql/resolver/expr/ob_raw_expr_printer.cpp
浏览文件 @
c6f5f093
...
...
@@ -1284,6 +1284,42 @@ int ObRawExprPrinter::print(ObSysFunRawExpr* expr)
}
break
;
}
case
T_FUN_SYS_POSITION
:
{
DATA_PRINTF
(
"%.*s"
,
LEN_AND_PTR
(
func_name
));
if
(
2
!=
expr
->
get_param_count
())
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"param count should be equal 2"
,
K
(
ret
),
K
(
expr
->
get_param_count
()));
}
else
{
DATA_PRINTF
(
"("
);
PRINT_EXPR
(
expr
->
get_param_expr
(
0
));
DATA_PRINTF
(
" in "
);
PRINT_EXPR
(
expr
->
get_param_expr
(
1
));
DATA_PRINTF
(
")"
);
}
break
;
}
case
T_FUN_SYS_CHAR
:
{
DATA_PRINTF
(
"%.*s("
,
LEN_AND_PTR
(
func_name
));
if
(
OB_SUCC
(
ret
))
{
if
(
expr
->
get_param_count
()
<
2
)
{
ret
=
OB_ERR_UNEXPECTED
;
LOG_WARN
(
"param count should be great or equ 2"
,
K
(
ret
),
K
(
expr
->
get_param_count
()));
}
else
{
int64_t
i
=
0
;
for
(;
OB_SUCC
(
ret
)
&&
i
<
expr
->
get_param_count
()
-
1
;
++
i
)
{
PRINT_EXPR
(
expr
->
get_param_expr
(
i
));
DATA_PRINTF
(
","
);
}
if
(
OB_SUCC
(
ret
))
{
--*
pos_
;
DATA_PRINTF
(
" using "
);
PRINT_EXPR
(
expr
->
get_param_expr
(
expr
->
get_param_count
()
-
1
));
DATA_PRINTF
(
")"
);
}
}
}
break
;
}
default:
{
// substr
// date, month
...
...
src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp
浏览文件 @
c6f5f093
...
...
@@ -1608,7 +1608,7 @@ int ObRawExprResolverImpl::process_char_charset_node(const ParseNode* node, ObRa
LOG_WARN
(
"invalid character set"
,
K
(
charset_str
),
K
(
ret
));
LOG_USER_ERROR
(
OB_ERR_UNKNOWN_CHARSET
,
charset_str
.
length
(),
charset_str
.
ptr
());
}
else
{
ObCollationType
coll_type
=
ObCharset
::
get_
default_collation
(
charset_type
);
ObCollationType
coll_type
=
ObCharset
::
get_
system_collation
(
);
ObObj
val
;
val
.
set_varchar
(
charset_str
);
val
.
set_collation_type
(
coll_type
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录