xml generated column index 4377 bugfix

This commit is contained in:
obdev
2023-07-25 16:48:20 +00:00
committed by ob-robot
parent e087f631c8
commit 551ee36be2
7 changed files with 66 additions and 6 deletions

View File

@ -3916,6 +3916,20 @@ const ObColumnRefRawExpr *ObRawExprUtils::get_column_ref_expr_recursively(const
return res;
}
ObRawExpr *ObRawExprUtils::get_sql_udt_type_expr_recursively(ObRawExpr *expr)
{
ObRawExpr *res = NULL;
if (OB_ISNULL(expr)) {
} else if (ob_is_user_defined_sql_type(expr->get_result_type().get_type())) {
res = expr;
} else {
for (int i = 0; OB_ISNULL(res) && i < expr->get_param_count(); i++) {
res = get_sql_udt_type_expr_recursively(expr->get_param_expr(i));
}
}
return res;
}
ObRawExpr *ObRawExprUtils::skip_implicit_cast(ObRawExpr *e)
{
ObRawExpr *res = e;
@ -4389,7 +4403,9 @@ int ObRawExprUtils::build_column_conv_expr(ObRawExprFactory &expr_factory,
expr_factory,
col_ref.get_data_type(),
col_ref.get_collation_type(),
col_ref.get_accuracy().get_accuracy(),
(col_ref.get_data_type() != ObUserDefinedSQLType)
? col_ref.get_accuracy().get_accuracy()
: col_ref.get_subschema_id(),
!col_ref.is_not_null_for_write(),
&column_conv_info,
&col_ref.get_enum_set_values(),

View File

@ -466,6 +466,7 @@ public:
static ObRawExpr *skip_inner_added_expr(ObRawExpr *expr);
static const ObColumnRefRawExpr *get_column_ref_expr_recursively(const ObRawExpr *expr);
static ObRawExpr *get_sql_udt_type_expr_recursively(ObRawExpr *expr);
static int create_to_type_expr(ObRawExprFactory &expr_factory,
ObRawExpr *src_expr,