Definition at line 1694 of file snapbuild.c.
1696{
1701
1702 sprintf(path,
"%s/%X-%X.snap",
1705
1707
1709 {
1710 if (missing_ok && errno == ENOENT)
1711 return false;
1712
1715 errmsg(
"could not open file \"%s\": %m", path)));
1716 }
1717
1718
1719
1720
1721
1722
1723
1724
1725
1728
1729
1731
1735 errmsg(
"snapbuild state file \"%s\" has wrong magic number: %u instead of %u",
1737
1741 errmsg(
"snapbuild state file \"%s\" has unsupported version: %u instead of %u",
1743
1748
1749
1752
1753
1755 {
1760 }
1761
1762
1764 {
1769 }
1770
1774 errmsg(
"could not close file \"%s\": %m", path)));
1775
1777
1778
1782 errmsg(
"checksum mismatch for snapbuild state file \"%s\": is %u, should be %u",
1783 path, checksum, ondisk->
checksum)));
1784
1785 return true;
1786}
int errcode_for_file_access(void)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
int CloseTransientFile(int fd)
void fsync_fname(const char *fname, bool isdir)
int OpenTransientFile(const char *fileName, int fileFlags)
void * MemoryContextAllocZero(MemoryContext context, Size size)
#define ERRCODE_DATA_CORRUPTED
#define COMP_CRC32C(crc, data, len)
#define EQ_CRC32C(c1, c2)
static int fd(const char *x, int i)
#define PG_LOGICAL_SNAPSHOTS_DIR
#define SNAPBUILD_VERSION
#define SnapBuildOnDiskNotChecksummedSize
#define SnapBuildOnDiskConstantSize
static void SnapBuildRestoreContents(int fd, void *dest, Size size, const char *path)
struct SnapBuild::@117 committed
struct SnapBuild::@118 catchange
#define LSN_FORMAT_ARGS(lsn)
References SnapBuildOnDisk::builder, SnapBuild::catchange, SnapBuildOnDisk::checksum, CloseTransientFile(), SnapBuild::committed, COMP_CRC32C, EQ_CRC32C, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errcode_for_file_access(), errmsg(), ERROR, fd(), FIN_CRC32C, fsync_fname(), INIT_CRC32C, LSN_FORMAT_ARGS, SnapBuildOnDisk::magic, MAXPGPATH, MemoryContextAllocZero(), OpenTransientFile(), PG_BINARY, PG_LOGICAL_SNAPSHOTS_DIR, SNAPBUILD_MAGIC, SNAPBUILD_VERSION, SnapBuildOnDiskConstantSize, SnapBuildOnDiskNotChecksummedSize, SnapBuildRestoreContents(), sprintf, SnapBuildOnDisk::version, SnapBuild::xcnt, and SnapBuild::xip.
Referenced by pg_get_logical_snapshot_info(), pg_get_logical_snapshot_meta(), and SnapBuildRestore().