/** * @brief Release resources used in the reader */ static void BTReaderTerm(BTReader *reader) { /* FIXME: We should use smgrclose, but it is not managed in smgr. */ Assert(reader->smgr.smgr_which == 0); mdclose(&reader->smgr, MAIN_FORKNUM); pfree(reader->page); }
/* * mdexists() -- Does the physical file exist? * * Note: this will return true for lingering files, with pending deletions */ bool mdexists(SMgrRelation reln, ForkNumber forkNum) { /* * Close it first, to ensure that we notice if the fork has been unlinked * since we opened it. */ mdclose(reln, forkNum); return (mdopen(reln, forkNum, EXTENSION_RETURN_NULL) != NULL); }