Fix crash with ORCA for partition tables with rewritten rules #6364
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.
Earlier, the check for identifying if a table is randomly distributed relied
on the policy to be not null, however if we have rewritten rules on child
partition table, the table storage is marked as RELSTORAGE_VIRTUAL which can
lead to null policy.
Should the table be marked with virtual storage, that's a different issue though.
Master already handles this:
https://github.com/greenplum-db/gpdb/blob/master/src/backend/utils/cache/lsyscache.c#L4218
https://github.com/greenplum-db/gpdb/blob/master/src/backend/utils/cache/lsyscache.c#L4238
Also, in master, the relstorage is not marked as virtual.
Earlier the query used to crash for orca, now it will error out.
Github Issue: #5913