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 callback in TableAmRoutine to handle swapping relation files #338

Merged
merged 1 commit into from
Dec 18, 2023

Conversation

gfphoenix78
Copy link
Contributor

Custom table access method may have internal auxiliary relatioins on how to access tuples, like segfile/visimap/block directory in AO/CO tables. The kernel only handles swapping objects for standard heap table:

  1. swap entries in pg_class
  2. swap optional toast tables

The internal auxiliary relations keep the old structure for the new table, which is definitely wrong.
This commit adds a new callback to swap the internal auxiliary relations for AO/CO and custom table AM.

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🥳

Custom table access method may have internal auxiliary relatioins on
how to access tuples, like segfile/visimap/block directory in AO/CO
tables. The kernel only handles swapping objects for standard heap
table:
1. swap entries in pg_class
2. swap optional toast tables

The internal auxiliary relations keep the old structure for the new
table, which is definitely wrong.
This commit adds a new callback to swap the internal auxiliary relations
for AO/CO and custom table AM.
@gfphoenix78 gfphoenix78 merged commit 2970799 into apache:main Dec 18, 2023
@gfphoenix78 gfphoenix78 deleted the feature-swap-aux branch December 18, 2023 12:08
foreyes pushed a commit to foreyes/cloudberrydb that referenced this pull request Jul 8, 2024
…che#338)

Custom table access method may have internal auxiliary relatioins on
how to access tuples, like segfile/visimap/block directory in AO/CO
tables. The kernel only handles swapping objects for standard heap
table:
1. swap entries in pg_class
2. swap optional toast tables

The internal auxiliary relations keep the old structure for the new
table, which is definitely wrong.
This commit adds a new callback to swap the internal auxiliary relations
for AO/CO and custom table AM.

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