diff --git a/src/backend/access/appendonly/aomd.c b/src/backend/access/appendonly/aomd.c index 342e7771b7b..df07769f033 100644 --- a/src/backend/access/appendonly/aomd.c +++ b/src/backend/access/appendonly/aomd.c @@ -714,9 +714,12 @@ ao_segfile_get_physical_size(Relation aorel, int segno, FileNumber filenum) filenum, segno, fileSegNo); - fd = PathNameOpenFile(filenamepath, O_RDONLY | PG_BINARY); + fd = aorel->rd_smgr->smgr_ao->smgr_AORelOpenSegFile(RelationGetRelid(aorel), filenamepath, O_RDONLY | PG_BINARY); if (fd >= 0) - physical_size = FileDiskSize(fd); + { + physical_size = aorel->rd_smgr->smgr_ao->smgr_FileDiskSize(fd); + aorel->rd_smgr->smgr_ao->smgr_FileClose(fd); + } else elogif(Debug_appendonly_print_compaction, LOG, "No gp_relation_node entry for append-optimized relation \"%s\", relation id %u, relfilenode %u filenum #%d, logical segment #%d (physical segment file #%d)", @@ -726,5 +729,6 @@ ao_segfile_get_physical_size(Relation aorel, int segno, FileNumber filenum) filenum, segno, fileSegNo); + return physical_size; } diff --git a/src/backend/cdb/cdbappendonlyxlog.c b/src/backend/cdb/cdbappendonlyxlog.c index 6b717978b31..8f2aaa89c0f 100644 --- a/src/backend/cdb/cdbappendonlyxlog.c +++ b/src/backend/cdb/cdbappendonlyxlog.c @@ -177,7 +177,7 @@ ao_truncate_replay(XLogReaderState *record) return; } - if (FileTruncate(file, xlrec->target.offset, WAIT_EVENT_DATA_FILE_TRUNCATE) != 0) + if (smgr->smgr_ao->smgr_FileTruncate(file, xlrec->target.offset, WAIT_EVENT_DATA_FILE_TRUNCATE) != 0) { ereport(WARNING, (errcode_for_file_access(), @@ -185,7 +185,7 @@ ao_truncate_replay(XLogReaderState *record) path, xlrec->target.offset))); } - FileClose(file); + smgr->smgr_ao->smgr_FileClose(file); } void