Correctly seek to the end of buffile that contains multiple physical files
When stash a 'VisimapDelete' to the buffile, we must seek to end of the last physical file if the buffile contains multiple files. This commit cherry-pick part of the commit from upstream: commit 808e13b282efa7e7ac7b78e886aca5684f4bccd3 Author: Amit Kapila <akapila@postgresql.org> Date: Wed Aug 26 07:36:43 2020 +0530 Extend the BufFile interface. Allow BufFile to support temporary files that can be used by the single backend when the corresponding files need to be survived across the transaction and need to be opened and closed multiple times. Such files need to be created as a member of a SharedFileSet. Additionally, this commit implements the interface for BufFileTruncate to allow files to be truncated up to a particular offset and extends the BufFileSeek API to support the SEEK_END case. This also adds an option to provide a mode while opening the shared BufFiles instead of always opening in read-only mode. These enhancements in BufFile interface are required for the upcoming patch to allow the replication apply worker, to handle streamed in-progress transactions. Author: Dilip Kumar, Amit Kapila Reviewed-by: Amit Kapila Tested-by: Neha Sharma Discussion: https://postgr.es/m/688b0b7f-2f6c-d827-c27b-216a8e3ea700@2ndquadrant.com
Showing
想要评论请 注册 或 登录