mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Revert "Use "transient" files for blind writes, take 2".
This reverts commit fba105b109
.
That approach had problems with the smgr-level state not tracking what
we really want to happen, and with the VFD-level state not tracking the
smgr-level state very well either. In consequence, it was still possible
to hold kernel file descriptors open for long-gone tables (as in recent
report from Tore Halset), and yet there were also cases of FDs being closed
undesirably soon. A replacement implementation will follow.
This commit is contained in:
@@ -66,7 +66,6 @@ extern int max_safe_fds;
|
||||
/* Operations on virtual Files --- equivalent to Unix kernel file ops */
|
||||
extern File PathNameOpenFile(FileName fileName, int fileFlags, int fileMode);
|
||||
extern File OpenTemporaryFile(bool interXact);
|
||||
extern void FileSetTransient(File file);
|
||||
extern void FileClose(File file);
|
||||
extern int FilePrefetch(File file, off_t offset, int amount);
|
||||
extern int FileRead(File file, char *buffer, int amount);
|
||||
|
@@ -60,7 +60,6 @@ typedef struct SMgrRelationData
|
||||
* submodules. Do not touch them from elsewhere.
|
||||
*/
|
||||
int smgr_which; /* storage manager selector */
|
||||
bool smgr_transient; /* T if files are to be closed at EOXact */
|
||||
|
||||
/* for md.c; NULL for forks that are not open */
|
||||
struct _MdfdVec *md_fd[MAX_FORKNUM + 1];
|
||||
@@ -73,7 +72,6 @@ typedef SMgrRelationData *SMgrRelation;
|
||||
|
||||
extern void smgrinit(void);
|
||||
extern SMgrRelation smgropen(RelFileNode rnode, BackendId backend);
|
||||
extern void smgrsettransient(SMgrRelation reln);
|
||||
extern bool smgrexists(SMgrRelation reln, ForkNumber forknum);
|
||||
extern void smgrsetowner(SMgrRelation *owner, SMgrRelation reln);
|
||||
extern void smgrclose(SMgrRelation reln);
|
||||
|
Reference in New Issue
Block a user