fix: correct comment syntax for external tables in GPDB 7+ and Cloudberry#74
Merged
tuhaihe merged 1 commit intoapache:mainfrom Mar 2, 2026
Merged
Conversation
4154bb3 to
fa610ed
Compare
tuhaihe
approved these changes
Mar 2, 2026
…erry In GPDB 7.0+ and Cloudberry Database, external tables are implemented as foreign tables under the hood. When gpbackup exports metadata for an external table with a comment, using the traditional "TABLE" object type causes an error during gprestore because the database expects "FOREIGN TABLE" syntax for these objects. This change updates the GetMetadataEntry logic to correctly identify external tables as "FOREIGN TABLE" in newer database versions. SQL Comparison: Before (Fails on GPDB 7+ / Cloudberry): -------------------------------------------------- COMMENT ON TABLE public.my_ext_table IS 'this is an external table comment'; After (Executes successfully): -------------------------------------------------- COMMENT ON FOREIGN TABLE public.my_ext_table IS 'this is an external table comment';
fa610ed to
18a85dd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In GPDB 7.0+ and Cloudberry Database, external tables are implemented as foreign tables under the hood. When gpbackup exports metadata for an external table with a comment, using the traditional "TABLE" object type causes an error during gprestore because the database expects "FOREIGN TABLE" syntax for these objects.
This change updates the GetMetadataEntry logic to correctly identify external tables as "FOREIGN TABLE" in newer database versions.
SQL Comparison:
Before (Fails on GPDB 7+ / Cloudberry):
COMMENT ON TABLE public.my_ext_table IS 'this is an external table comment';
After (Executes successfully):
COMMENT ON FOREIGN TABLE public.my_ext_table IS 'this is an external table comment';