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
	 AntiTopQuark
					AntiTopQuark