Line data Source code
1 : use crate::PgMajorVersion;
2 :
3 : pub const MY_PGVERSION: PgMajorVersion = PgMajorVersion::PG17;
4 :
5 : pub const XACT_XINFO_HAS_DROPPED_STATS: u32 = 1u32 << 8;
6 :
7 : pub const XLOG_DBASE_CREATE_FILE_COPY: u8 = 0x00;
8 : pub const XLOG_DBASE_CREATE_WAL_LOG: u8 = 0x10;
9 : pub const XLOG_DBASE_DROP: u8 = 0x20;
10 :
11 : pub const BKPIMAGE_APPLY: u8 = 0x02; /* page image should be restored during replay */
12 : pub const BKPIMAGE_COMPRESS_PGLZ: u8 = 0x04; /* page image is compressed */
13 : pub const BKPIMAGE_COMPRESS_LZ4: u8 = 0x08; /* page image is compressed */
14 : pub const BKPIMAGE_COMPRESS_ZSTD: u8 = 0x10; /* page image is compressed */
15 :
16 : pub const SIZEOF_RELMAPFILE: usize = 524; /* sizeof(RelMapFile) in relmapper.c */
17 :
18 : // List of subdirectories inside pgdata.
19 : // Copied from src/bin/initdb/initdb.c
20 : pub const PGDATA_SUBDIRS: [&str; 23] = [
21 : "global",
22 : "pg_wal/archive_status",
23 : "pg_wal/summaries",
24 : "pg_commit_ts",
25 : "pg_dynshmem",
26 : "pg_notify",
27 : "pg_serial",
28 : "pg_snapshots",
29 : "pg_subtrans",
30 : "pg_twophase",
31 : "pg_multixact",
32 : "pg_multixact/members",
33 : "pg_multixact/offsets",
34 : "base",
35 : "base/1",
36 : "pg_replslot",
37 : "pg_tblspc",
38 : "pg_stat",
39 : "pg_stat_tmp",
40 : "pg_xact",
41 : "pg_logical",
42 : "pg_logical/snapshots",
43 : "pg_logical/mappings",
44 : ];
45 :
46 0 : pub fn bkpimg_is_compressed(bimg_info: u8) -> bool {
47 : const ANY_COMPRESS_FLAG: u8 = BKPIMAGE_COMPRESS_PGLZ | BKPIMAGE_COMPRESS_LZ4 | BKPIMAGE_COMPRESS_ZSTD;
48 :
49 0 : (bimg_info & ANY_COMPRESS_FLAG) != 0
50 0 : }
51 :
52 :
53 : pub const XLOG_HEAP2_PRUNE_ON_ACCESS: u8 = 0x10;
54 : pub const XLOG_HEAP2_PRUNE_VACUUM_SCAN: u8 = 0x20;
55 : pub const XLOG_HEAP2_PRUNE_VACUUM_CLEANUP: u8 = 0x30;
56 :
57 :
58 : pub const XLOG_OVERWRITE_CONTRECORD: u8 = 0xD0;
59 : pub const XLOG_CHECKPOINT_REDO: u8 = 0xE0;
|