gongxun0928 opened a new pull request, #848:
URL: https://github.com/apache/cloudberry/pull/848

   
   Add two hook functions for extension, make custom Table-Am can hook in xlog 
redo
   
   ```
   typedef void (*ConsistencyCheck_hook_type) (void);
   extern PGDLLIMPORT ConsistencyCheck_hook_type xlog_check_consistency_hook;
   
   typedef void (*XLOGDropDatabase_hook_type)(Oid dbid);
   extern XLOGDropDatabase_hook_type XLOGDropDatabase_hook;
   ```
   
   In cloudberrydb,  when mirror instance redo xlog, `StartupXLog` will start 
replaying from the 
   latest checkpoint's REDO location in pg_control. When  processing the xlog 
of data writing, 
   we need to write the data in xlog into the data file, but the entire db 
directory may be deleted 
   due to the drop database xlog that has been replayed last time. 
   
   `XLogDropDatabase` and `XLogCheckInvalidPages` limits the table to be 
organized in page mode. 
   For custom Table-Am, their data organization is not necessarily in page mode.
   
   We need to provide a hook for the implementation of custom wal log to handle 
this situation.
   
   
   
   <!-- Thank you for your contribution to Apache Cloudberry (Incubating)! -->
   
   Fixes #ISSUE_Number
   
   ### What does this PR do?
   <!-- Brief overview of the changes, including any major features or fixes -->
   
   ### Type of Change
   - [ ] Bug fix (non-breaking change)
   - [ ] New feature (non-breaking change)
   - [ ] Breaking change (fix or feature with breaking changes)
   - [ ] Documentation update
   
   ### Breaking Changes
   <!-- Remove if not applicable. If yes, explain impact and migration path -->
   
   ### Test Plan
   <!-- How did you test these changes? -->
   - [ ] Unit tests added/updated
   - [ ] Integration tests added/updated
   - [ ] Passed `make installcheck`
   - [ ] Passed `make -C src/test installcheck-cbdb-parallel`
   
   ### Impact
   <!-- Remove sections that don't apply -->
   **Performance:**
   <!-- Any performance implications? -->
   
   **User-facing changes:**
   <!-- Any changes visible to users? -->
   
   **Dependencies:**
   <!-- New dependencies or version changes? -->
   
   ### Checklist
   - [ ] Followed [contribution 
guide](https://cloudberry.apache.org/contribute/code)
   - [ ] Added/updated documentation
   - [ ] Reviewed code for security implications
   - [ ] Requested review from [cloudberry 
committers](https://github.com/orgs/apache/teams/cloudberry-committers)
   
   ### Additional Context
   <!-- Any other information that would help reviewers? Remove if none -->
   
   ### CI Skip Instructions
   <!--
   To skip CI builds, add the appropriate CI skip identifier to your PR title.
   The identifier must:
   - Be in square brackets []
   - Include the word "ci" and either "skip" or "no"
   - Only use for documentation-only changes or when absolutely necessary
   -->
   
   ---
   <!-- Join our community:
   - Mailing list: 
[[email protected]](https://lists.apache.org/[email protected])
 (subscribe: [email protected])
   - Discussions: https://github.com/apache/cloudberry/discussions -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to