bugfix : level param in weight_string expr clause has core dump in fast parser

This commit is contained in:
AntiTopQuark
2023-04-13 05:59:54 +00:00
committed by ob-robot
parent 571865166e
commit 0a9f1e0c4f
5 changed files with 23 additions and 21 deletions

View File

@ -940,6 +940,15 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode *node, ObRawExpr
}
break;
}
case T_WEIGHT_STRING_LEVEL_PARAM: {
modification_type_to_int(const_cast<ParseNode&>(*node));
// deal node
if (OB_FAIL(SMART_CALL(recursive_resolve(node, expr)))) {
LOG_WARN("fail to process node with children only", K(ret),
K(node->type_), K(node));
}
break;
}
case T_FUN_SYS_REGEXP_LIKE:
case T_FUN_SYS: {
if (OB_FAIL(process_fun_sys_node(node, expr))) {
@ -5360,6 +5369,7 @@ int ObRawExprResolverImpl::pre_check_json_path_valid(const ParseNode *node)
}
// json expr change T_NULLX_CLAUSE to T_INT
// and weight_string expr change T_WEIGHT_STRING_LEVEL_PARAM to T_INT
void ObRawExprResolverImpl::modification_type_to_int(ParseNode &node)
{
node.type_ = T_INT;