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