Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add macro RelationIsNonblockRelation to expand code path like AO/CO #347

Merged
merged 7 commits into from
Dec 27, 2023

Conversation

gfphoenix78
Copy link
Contributor

The builtin types of tables, in kernel, are standard heap table and AO/CO. The custom table AM will fall one of the two code paths. RelationIsAppendOptimized will only choose the builtin AO/CO relations. Some custom table AM, like PAX, will run the same code path as AO/CO.

RelationIsNonblockRelation looks replacable by !RelationIsHeap, but they have different meanings. RelationIsNonblockRelation expand the relation type to run the code path like AO/CO. !RelationIsHeap emphasizes NOT heap relation.

Contributor's Checklist

Here are some reminders and checklists before/when submitting your pull request, please check them:

  • Make sure your Pull Request has a clear title and commit message. You can take git-commit template as a reference.
  • Sign the Contributor License Agreement as prompted for your first-time contribution(One-time setup).
  • Learn the coding contribution guide, including our code conventions, workflow and more.
  • List your communication in the GitHub Issues or Discussions (if has or needed).
  • Document changes.
  • Add tests for the change
  • Pass make installcheck
  • Pass make -C src/test installcheck-cbdb-parallel
  • Feel free to request cloudberrydb/dev team for review and approval when your PR is ready🥳

wuhao and others added 3 commits December 27, 2023 08:30
The builtin types of tables, in kernel, are standard heap table and AO/CO.
The custom table AM will fall one of the two code paths.
RelationIsAppendOptimized will only choose the builtin AO/CO relations.
Some custom table AM, like PAX, will run the same code path as AO/CO.

RelationIsNonblockRelation looks replacable by `!RelationIsHeap`, but
they have different meanings. RelationIsNonblockRelation expand the
relation type to run the code path like AO/CO. `!RelationIsHeap`
emphasizes NOT heap relation.
Copy link
Contributor

@avamingli avamingli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gfphoenix78 gfphoenix78 merged commit b413e0b into apache:main Dec 27, 2023
8 checks passed
@gfphoenix78 gfphoenix78 deleted the check-ao branch December 29, 2023 16:53
foreyes pushed a commit to foreyes/cloudberrydb that referenced this pull request Jul 8, 2024
…pache#347)

The builtin types of tables, in kernel, are standard heap table and AO/CO.
The custom table AM will fall one of the two code paths.
RelationIsAppendOptimized will only choose the builtin AO/CO relations.
Some custom table AM, like PAX, will run the same code path as AO/CO.

RelationIsNonblockRelation looks replacable by `!RelationIsHeap`, but
they have different meanings. RelationIsNonblockRelation expand the
relation type to run the code path like AO/CO. `!RelationIsHeap`
emphasizes NOT heap relation.

To work with this change, we preserve and oid for pax, to prevent
oid clash in the future.

Co-authored-by: wuhao <wuhao@hashdata.cn>
Reviewed-by: Zhang Mingli <avamingli@gmail.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants