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_;
|
column_id_ = tmp.column_id_;
|
||||||
database_name_ = tmp.database_name_;
|
database_name_ = tmp.database_name_;
|
||||||
table_name_ = tmp.table_name_;
|
table_name_ = tmp.table_name_;
|
||||||
|
synonym_name_ = tmp.synonym_name_;
|
||||||
|
synonym_db_name_ = tmp.synonym_db_name_;
|
||||||
column_name_ = tmp.column_name_;
|
column_name_ = tmp.column_name_;
|
||||||
column_flags_ = tmp.column_flags_;
|
column_flags_ = tmp.column_flags_;
|
||||||
dependant_expr_ = tmp.dependant_expr_;
|
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));
|
LOG_WARN("unexpected param type of expr", K(ret), KPC(expr));
|
||||||
} else {
|
} else {
|
||||||
sub_pk_expr = static_cast<ObColumnRefRawExpr*>(expr->get_param_expr(1));
|
sub_pk_expr = static_cast<ObColumnRefRawExpr*>(expr->get_param_expr(1));
|
||||||
ObString table_name = sub_pk_expr->get_table_name();
|
// Mock a rowid ColumnRefExpr temporarily
|
||||||
if (!table_name.empty()) {
|
ObColumnRefRawExpr tmp_rowid_expr;
|
||||||
PRINT_IDENT_WITH_QUOT(table_name);
|
tmp_rowid_expr.set_expr_type(sub_pk_expr->get_expr_type());
|
||||||
DATA_PRINTF(".");
|
tmp_rowid_expr.assign(*sub_pk_expr);
|
||||||
PRINT_IDENT_WITH_QUOT(ObString(OB_HIDDEN_LOGICAL_ROWID_COLUMN_NAME));
|
tmp_rowid_expr.set_column_name(ObString(OB_HIDDEN_LOGICAL_ROWID_COLUMN_NAME));
|
||||||
}
|
PRINT_EXPR(&tmp_rowid_expr);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user