Fix print rowid expr bug
This commit is contained in:
@ -1594,6 +1594,8 @@ int ObColumnRefRawExpr::assign(const ObRawExpr &other)
|
||||
column_id_ = tmp.column_id_;
|
||||
database_name_ = tmp.database_name_;
|
||||
table_name_ = tmp.table_name_;
|
||||
synonym_name_ = tmp.synonym_name_;
|
||||
synonym_db_name_ = tmp.synonym_db_name_;
|
||||
column_name_ = tmp.column_name_;
|
||||
column_flags_ = tmp.column_flags_;
|
||||
dependant_expr_ = tmp.dependant_expr_;
|
||||
|
||||
@ -2982,12 +2982,12 @@ int ObRawExprPrinter::print(ObSysFunRawExpr *expr)
|
||||
LOG_WARN("unexpected param type of expr", K(ret), KPC(expr));
|
||||
} else {
|
||||
sub_pk_expr = static_cast<ObColumnRefRawExpr*>(expr->get_param_expr(1));
|
||||
ObString table_name = sub_pk_expr->get_table_name();
|
||||
if (!table_name.empty()) {
|
||||
PRINT_IDENT_WITH_QUOT(table_name);
|
||||
DATA_PRINTF(".");
|
||||
PRINT_IDENT_WITH_QUOT(ObString(OB_HIDDEN_LOGICAL_ROWID_COLUMN_NAME));
|
||||
}
|
||||
// Mock a rowid ColumnRefExpr temporarily
|
||||
ObColumnRefRawExpr tmp_rowid_expr;
|
||||
tmp_rowid_expr.set_expr_type(sub_pk_expr->get_expr_type());
|
||||
tmp_rowid_expr.assign(*sub_pk_expr);
|
||||
tmp_rowid_expr.set_column_name(ObString(OB_HIDDEN_LOGICAL_ROWID_COLUMN_NAME));
|
||||
PRINT_EXPR(&tmp_rowid_expr);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user