fix typo
This commit is contained in:
@ -197,7 +197,7 @@ int ObRawExprCopier::copy_on_replace(const common::ObIArray<T *> &from_exprs,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (OB_SUCC(ret) && OB_FAIL(to_exprs.assign(tmp_arr))) {
|
if (OB_SUCC(ret) && OB_FAIL(to_exprs.assign(tmp_arr))) {
|
||||||
SQL_RESV_LOG(WARN, "failed to assgin replaced results", K(ret));
|
SQL_RESV_LOG(WARN, "failed to assign replaced results", K(ret));
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -250,7 +250,7 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode *node, ObRawExpr
|
|||||||
LOG_DEBUG("resolve item", "item_type", get_type_name(node->type_));
|
LOG_DEBUG("resolve item", "item_type", get_type_name(node->type_));
|
||||||
if (IS_DATATYPE_OR_QUESTIONMARK_OP(node->type_)) {
|
if (IS_DATATYPE_OR_QUESTIONMARK_OP(node->type_)) {
|
||||||
if (OB_FAIL(process_datatype_or_questionmark(*node, expr))) {
|
if (OB_FAIL(process_datatype_or_questionmark(*node, expr))) {
|
||||||
LOG_WARN("fail to process datetype or questionmark", K(ret), K(node));
|
LOG_WARN("fail to process datatype or questionmark", K(ret), K(node));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch (node->type_) {
|
switch (node->type_) {
|
||||||
@ -599,7 +599,7 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode *node, ObRawExpr
|
|||||||
case T_OP_REGEXP:
|
case T_OP_REGEXP:
|
||||||
case T_OP_NOT_REGEXP: {
|
case T_OP_NOT_REGEXP: {
|
||||||
if (OB_FAIL(process_regexp_or_not_regexp_node(node, expr))) {
|
if (OB_FAIL(process_regexp_or_not_regexp_node(node, expr))) {
|
||||||
LOG_WARN("fail to process prgexp_or_not_pegexp node", K(ret), K(node));
|
LOG_WARN("fail to process prgexp_or_not_regexp node", K(ret), K(node));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1012,7 +1012,7 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode *node, ObRawExpr
|
|||||||
}
|
}
|
||||||
case T_FUN_UDF: {
|
case T_FUN_UDF: {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_ERROR("A BUG, Nerver Be Here!!!", K(ret));
|
LOG_ERROR("A BUG, Never Be Here!!!", K(ret));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case T_WINDOW_FUNCTION: {
|
case T_WINDOW_FUNCTION: {
|
||||||
@ -1546,7 +1546,7 @@ int ObRawExprResolverImpl::process_cursor_attr_node(const ParseNode &node, ObRaw
|
|||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("invlid node type", K(node.children_[0]->type_));
|
LOG_WARN("invalid node type", K(node.children_[0]->type_));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1560,7 +1560,7 @@ int ObRawExprResolverImpl::process_cursor_attr_node(const ParseNode &node, ObRaw
|
|||||||
}
|
}
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
if (T_FUN_PL_GET_CURSOR_ATTR == c_expr->get_expr_type()) {
|
if (T_FUN_PL_GET_CURSOR_ATTR == c_expr->get_expr_type()) {
|
||||||
// 注意: 替换为ColumnRef的目的是为了在DML语句中把CURSOR%ROWID替换为QuenstionMark
|
// 注意: 替换为ColumnRef的目的是为了在DML语句中把CURSOR%ROWID替换为QuestionMark
|
||||||
// 参见: ObDMLResolver::resolve_qualified_identifier
|
// 参见: ObDMLResolver::resolve_qualified_identifier
|
||||||
ObQualifiedName column_ref;
|
ObQualifiedName column_ref;
|
||||||
ObObjAccessIdent access_ident;
|
ObObjAccessIdent access_ident;
|
||||||
@ -1611,7 +1611,7 @@ int ObRawExprResolverImpl::process_obj_access_node(const ParseNode &node, ObRawE
|
|||||||
ObQualifiedName column_ref;
|
ObQualifiedName column_ref;
|
||||||
int64_t child_start = ctx_.columns_->count();
|
int64_t child_start = ctx_.columns_->count();
|
||||||
if (OB_FAIL(resolve_obj_access_idents(node, column_ref))) {
|
if (OB_FAIL(resolve_obj_access_idents(node, column_ref))) {
|
||||||
LOG_WARN("resolve obj acess idents failed", K(ret));
|
LOG_WARN("resolve obj access idents failed", K(ret));
|
||||||
} else {
|
} else {
|
||||||
column_ref.format_qualified_name(ctx_.case_mode_);
|
column_ref.format_qualified_name(ctx_.case_mode_);
|
||||||
column_ref.parents_expr_info_ = ctx_.parents_expr_info_;
|
column_ref.parents_expr_info_ = ctx_.parents_expr_info_;
|
||||||
@ -1733,7 +1733,7 @@ int ObRawExprResolverImpl::process_sys_connect_by_path_node(const ParseNode *nod
|
|||||||
|
|
||||||
if (OB_ISNULL(node)) {
|
if (OB_ISNULL(node)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("unexpeced parameter", K(node), K(ret));
|
LOG_WARN("unexpected parameter", K(node), K(ret));
|
||||||
} else if (OB_UNLIKELY(node->type_ != T_FUN_SYS_CONNECT_BY_PATH)
|
} else if (OB_UNLIKELY(node->type_ != T_FUN_SYS_CONNECT_BY_PATH)
|
||||||
|| OB_UNLIKELY(node->num_child_ != 2)
|
|| OB_UNLIKELY(node->num_child_ != 2)
|
||||||
|| OB_ISNULL(node->children_)
|
|| OB_ISNULL(node->children_)
|
||||||
@ -2373,7 +2373,7 @@ int ObRawExprResolverImpl::process_connect_by_root_node(const ParseNode &node, O
|
|||||||
|| OB_ISNULL(node.children_)
|
|| OB_ISNULL(node.children_)
|
||||||
|| OB_UNLIKELY(node.type_ != T_OP_CONNECT_BY_ROOT)) {
|
|| OB_UNLIKELY(node.type_ != T_OP_CONNECT_BY_ROOT)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("invalid parametor", K(node.num_child_), K(node.type_), K(ret));
|
LOG_WARN("invalid parameter", K(node.num_child_), K(node.type_), K(ret));
|
||||||
} else if (OB_ISNULL(ctx_.stmt_)
|
} else if (OB_ISNULL(ctx_.stmt_)
|
||||||
|| OB_UNLIKELY(false == ctx_.stmt_->is_select_stmt())) {
|
|| OB_UNLIKELY(false == ctx_.stmt_->is_select_stmt())) {
|
||||||
ret = OB_ERR_CBY_CONNECT_BY_REQUIRED;
|
ret = OB_ERR_CBY_CONNECT_BY_REQUIRED;
|
||||||
@ -2539,7 +2539,7 @@ int ObRawExprResolverImpl::process_datatype_or_questionmark(const ParseNode &nod
|
|||||||
} else if (ctx_.is_for_dbms_sql_
|
} else if (ctx_.is_for_dbms_sql_
|
||||||
|| (ctx_.is_for_dynamic_sql_ && OB_NOT_NULL(session_info->get_pl_context()))){
|
|| (ctx_.is_for_dynamic_sql_ && OB_NOT_NULL(session_info->get_pl_context()))){
|
||||||
//NOTICE: only need to process PL dynamic sql and dbms sql
|
//NOTICE: only need to process PL dynamic sql and dbms sql
|
||||||
/*dynmaic and dbms sql already prepare question mark in parse stage.*/
|
/*dynamic and dbms sql already prepare question mark in parse stage.*/
|
||||||
bool need_save = true;
|
bool need_save = true;
|
||||||
for (int64_t i = 0; OB_SUCC(ret) && i < ctx_.external_param_info_->count(); ++i) {
|
for (int64_t i = 0; OB_SUCC(ret) && i < ctx_.external_param_info_->count(); ++i) {
|
||||||
CK (OB_NOT_NULL(ctx_.external_param_info_->at(i).first));
|
CK (OB_NOT_NULL(ctx_.external_param_info_->at(i).first));
|
||||||
@ -3008,7 +3008,7 @@ int ObRawExprResolverImpl::process_any_or_all_node(const ParseNode *node, ObRawE
|
|||||||
LOG_WARN("resolve sub-query failed", K(ret));
|
LOG_WARN("resolve sub-query failed", K(ret));
|
||||||
} else if (OB_ISNULL(sub_expr)) {
|
} else if (OB_ISNULL(sub_expr)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("inavalid sub_expr", K(sub_expr));
|
LOG_WARN("invalid sub_expr", K(sub_expr));
|
||||||
} else if (T_REF_QUERY == sub_expr->get_expr_type()) {
|
} else if (T_REF_QUERY == sub_expr->get_expr_type()) {
|
||||||
ObQueryRefRawExpr *sub_ref = static_cast<ObQueryRefRawExpr*>(sub_expr);
|
ObQueryRefRawExpr *sub_ref = static_cast<ObQueryRefRawExpr*>(sub_expr);
|
||||||
sub_ref->set_is_set(true);
|
sub_ref->set_is_set(true);
|
||||||
@ -3369,7 +3369,7 @@ int ObRawExprResolverImpl::process_regexp_or_not_regexp_node(const ParseNode *no
|
|||||||
ret = OB_INVALID_ARGUMENT;
|
ret = OB_INVALID_ARGUMENT;
|
||||||
LOG_WARN("invalid argument", K(ret), K(node));
|
LOG_WARN("invalid argument", K(ret), K(node));
|
||||||
} else if (OB_FAIL(process_node_with_children(node, num_child, t_expr))) {
|
} else if (OB_FAIL(process_node_with_children(node, num_child, t_expr))) {
|
||||||
LOG_WARN("fail to preocess node with children", K(ret));
|
LOG_WARN("fail to process node with children", K(ret));
|
||||||
} else if (OB_ISNULL(t_expr)) {
|
} else if (OB_ISNULL(t_expr)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("process node fail with invalid expr", K(ret), K(t_expr));
|
LOG_WARN("process node fail with invalid expr", K(ret), K(t_expr));
|
||||||
@ -3670,7 +3670,7 @@ int ObRawExprResolverImpl::process_like_node(const ParseNode *node, ObRawExpr *&
|
|||||||
IS_NO_BACKSLASH_ESCAPES(ctx_.session_info_->get_sql_mode(), no_escapes);
|
IS_NO_BACKSLASH_ESCAPES(ctx_.session_info_->get_sql_mode(), no_escapes);
|
||||||
}
|
}
|
||||||
if (OB_FAIL(process_datatype_or_questionmark(escape_node, escape_expr))) {
|
if (OB_FAIL(process_datatype_or_questionmark(escape_node, escape_expr))) {
|
||||||
LOG_WARN("fail to resolver defalut excape node", K(ret));
|
LOG_WARN("fail to resolver default excape node", K(ret));
|
||||||
} else if (OB_FAIL(t_expr->add_param_expr(escape_expr))) {
|
} else if (OB_FAIL(t_expr->add_param_expr(escape_expr))) {
|
||||||
LOG_WARN("fail to set param expr");
|
LOG_WARN("fail to set param expr");
|
||||||
} else if (lib::is_oracle_mode() || no_escapes) {
|
} else if (lib::is_oracle_mode() || no_escapes) {
|
||||||
@ -3837,7 +3837,7 @@ int ObRawExprResolverImpl::process_case_node(const ParseNode *node, ObRawExpr *&
|
|||||||
if (OB_ISNULL(node) || OB_UNLIKELY(3 != node->num_child_) ||
|
if (OB_ISNULL(node) || OB_UNLIKELY(3 != node->num_child_) ||
|
||||||
OB_UNLIKELY(T_CASE != node->type_) || OB_ISNULL(ctx_.session_info_)) {
|
OB_UNLIKELY(T_CASE != node->type_) || OB_ISNULL(ctx_.session_info_)) {
|
||||||
ret = OB_INVALID_ARGUMENT;
|
ret = OB_INVALID_ARGUMENT;
|
||||||
LOG_WARN("invalid PraseNode or session_info_", K(node), KP(ctx_.session_info_));
|
LOG_WARN("invalid ParseNode or session_info_", K(node), KP(ctx_.session_info_));
|
||||||
} else if (OB_FAIL(ctx_.expr_factory_.create_raw_expr(T_INVALID, case_expr))) {
|
} else if (OB_FAIL(ctx_.expr_factory_.create_raw_expr(T_INVALID, case_expr))) {
|
||||||
LOG_WARN("fail to create raw expr", K(ret));
|
LOG_WARN("fail to create raw expr", K(ret));
|
||||||
} else if (OB_ISNULL(case_expr)) {
|
} else if (OB_ISNULL(case_expr)) {
|
||||||
@ -4141,7 +4141,7 @@ int ObRawExprResolverImpl::process_agg_node(const ParseNode *node, ObRawExpr *&e
|
|||||||
order_item.order_type_ = NULLS_FIRST_ASC;
|
order_item.order_type_ = NULLS_FIRST_ASC;
|
||||||
if (OB_FAIL(agg_expr->add_order_item(order_item))) {
|
if (OB_FAIL(agg_expr->add_order_item(order_item))) {
|
||||||
LOG_WARN("fail to add median order item", K(ret));
|
LOG_WARN("fail to add median order item", K(ret));
|
||||||
} else {/* do nothong */}
|
} else {/* do nothing */}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (T_FUN_GROUPING_ID == node->type_) {
|
} else if (T_FUN_GROUPING_ID == node->type_) {
|
||||||
@ -4328,7 +4328,7 @@ int ObRawExprResolverImpl::process_group_aggr_node(const ParseNode *node, ObRawE
|
|||||||
LOG_WARN("store aggr expr failed", K(ret));
|
LOG_WARN("store aggr expr failed", K(ret));
|
||||||
} else if (OB_ISNULL(node->children_)) {
|
} else if (OB_ISNULL(node->children_)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("inalid group concat node", K(ret), K(node->children_));
|
LOG_WARN("invalid group concat node", K(ret), K(node->children_));
|
||||||
} else {
|
} else {
|
||||||
bool need_add_flag = !ctx_.parents_expr_info_.has_member(IS_AGG);
|
bool need_add_flag = !ctx_.parents_expr_info_.has_member(IS_AGG);
|
||||||
ParseNode *expr_list_node = node->children_[1];
|
ParseNode *expr_list_node = node->children_[1];
|
||||||
@ -4969,7 +4969,7 @@ int ObRawExprResolverImpl::process_isnull_node(const ParseNode *node, ObRawExpr
|
|||||||
} else {
|
} else {
|
||||||
ObRawExpr *obj_expr = NULL;
|
ObRawExpr *obj_expr = NULL;
|
||||||
if (OB_FAIL(SMART_CALL(recursive_resolve(node->children_[1]->children_[0], obj_expr)))) {
|
if (OB_FAIL(SMART_CALL(recursive_resolve(node->children_[1]->children_[0], obj_expr)))) {
|
||||||
LOG_WARN("resolve child faield", K(ret));
|
LOG_WARN("resolve child failed", K(ret));
|
||||||
} else if (OB_FAIL(ObRawExprUtils::build_is_not_null_expr(ctx_.expr_factory_,
|
} else if (OB_FAIL(ObRawExprUtils::build_is_not_null_expr(ctx_.expr_factory_,
|
||||||
obj_expr,
|
obj_expr,
|
||||||
false/*is_not_null*/,
|
false/*is_not_null*/,
|
||||||
@ -5045,7 +5045,7 @@ int ObRawExprResolverImpl::process_sqlerrm_node(const ParseNode *node, ObRawExpr
|
|||||||
if (OB_ISNULL(node->children_[1])
|
if (OB_ISNULL(node->children_[1])
|
||||||
|| node->children_[1]->num_child_ != 1) {
|
|| node->children_[1]->num_child_ != 1) {
|
||||||
ret = OB_INVALID_ARGUMENT_NUM;
|
ret = OB_INVALID_ARGUMENT_NUM;
|
||||||
LOG_WARN("invlaid argument number for SQLERRM", K(node->children_[1]->num_child_));
|
LOG_WARN("invalid argument number for SQLERRM", K(node->children_[1]->num_child_));
|
||||||
}
|
}
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
if (OB_ISNULL(node->children_[1]->children_[0])) {
|
if (OB_ISNULL(node->children_[1]->children_[0])) {
|
||||||
@ -7435,7 +7435,7 @@ int ObRawExprResolverImpl::process_dll_udf_node(const ParseNode *node, ObRawExpr
|
|||||||
LOG_WARN("the udf info is null", K(ret));
|
LOG_WARN("the udf info is null", K(ret));
|
||||||
} else if (!(udf_info->is_normal_udf() || udf_info->is_agg_udf())) {
|
} else if (!(udf_info->is_normal_udf() || udf_info->is_agg_udf())) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("the udf schame is error", K(ret), K(udf_info->get_type()));
|
LOG_WARN("the udf schema is error", K(ret), K(udf_info->get_type()));
|
||||||
} else if (udf_info->is_normal_udf()) {
|
} else if (udf_info->is_normal_udf()) {
|
||||||
ObSysFunRawExpr *func_expr = NULL;
|
ObSysFunRawExpr *func_expr = NULL;
|
||||||
ObCharset::casedn(CS_TYPE_UTF8MB4_GENERAL_CI, udf_name);
|
ObCharset::casedn(CS_TYPE_UTF8MB4_GENERAL_CI, udf_name);
|
||||||
@ -7817,4 +7817,4 @@ int ObRawExprResolverImpl::process_odbc_time_literals(const ObItemType dst_time_
|
|||||||
|
|
||||||
|
|
||||||
} //namespace sql
|
} //namespace sql
|
||||||
} //namespace oceabase
|
} //namespace oceanbase
|
||||||
|
|||||||
Reference in New Issue
Block a user