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
	 xianyu-w
					xianyu-w