[Json] json patch from 3.2.2 branch since 2021.12
This commit is contained in:
		| @ -245,6 +245,11 @@ int ObRawExprDeduceType::assign_var_exprs_result_type(ObNonTerminalRawExpr& expr | ||||
|   return ret; | ||||
| } | ||||
|  | ||||
| bool need_calc_json_as_int(ObItemType item_type)  | ||||
| { | ||||
|   return item_type == T_OP_BOOL; | ||||
| } | ||||
|  | ||||
| bool need_calc_json_as_text(ObItemType item_type) | ||||
| { | ||||
|   bool bool_ret = true; | ||||
|  | ||||
| @ -602,6 +602,19 @@ int ObRawExprInfoExtractor::visit(ObSysFunRawExpr& expr) | ||||
|       expr.clear_flag(IS_CALCULABLE_EXPR); | ||||
|     } | ||||
|  | ||||
|     if (OB_SUCC(ret) && T_FUN_SYS_JSON_VALUE == expr.get_expr_type()) { | ||||
|       if (expr.get_param_count() == 7) { | ||||
|         ObRawExpr * sub_expr = expr.get_param_expr(6); | ||||
|         if (OB_NOT_NULL(sub_expr)) { | ||||
|           sub_expr->clear_flag(IS_CALCULABLE_EXPR); | ||||
|         } | ||||
|         sub_expr = expr.get_param_expr(4); | ||||
|         if (OB_NOT_NULL(sub_expr)) { | ||||
|           sub_expr->clear_flag(IS_CALCULABLE_EXPR); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     if (OB_SUCC(ret) && T_FUN_UDF == expr.get_expr_type() && expr.has_flag(IS_CALCULABLE_EXPR)) {} | ||||
|   } | ||||
|   return ret; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 xj0
					xj0