bugfix : level param in weight_string expr clause has core dump in fast parser
This commit is contained in:
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user