@@ -46,7 +46,7 @@ extern const char *PROGRAM_URL;
4646extern const char * PROGRAM_EMAIL ;
4747
4848/* Directory/File names */
49- #define DATABASE_DIR "database"
49+ #define DATABASE_DIR "database"
5050#define BACKUPS_DIR "backups"
5151#if PG_VERSION_NUM >= 100000
5252#define PG_XLOG_DIR "pg_wal"
@@ -90,6 +90,7 @@ extern const char *PROGRAM_EMAIL;
9090/* retry attempts */
9191#define PAGE_READ_ATTEMPTS 100
9292
93+ /* max size of note, that can be added to backup */
9394#define MAX_NOTE_SIZE 1024
9495
9596/* Check if an XLogRecPtr value is pointed to 0 offset */
@@ -514,18 +515,18 @@ typedef struct lsnInterval
514515typedef enum xlogFileType
515516{
516517 SEGMENT ,
518+ TEMP_SEGMENT ,
517519 PARTIAL_SEGMENT ,
518520 BACKUP_HISTORY_FILE
519521} xlogFileType ;
520522
521523typedef struct xlogFile
522524{
523- pgFile file ;
524- XLogSegNo segno ;
525+ pgFile file ;
526+ XLogSegNo segno ;
525527 xlogFileType type ;
526- bool keep ; /* Used to prevent removal of WAL segments
527- * required by ARCHIVE backups.
528- */
528+ bool keep ; /* Used to prevent removal of WAL segments
529+ * required by ARCHIVE backups. */
529530} xlogFile ;
530531
531532
@@ -607,6 +608,21 @@ typedef struct BackupPageHeader
607608 XLogFromFileName(fname, tli, logSegNo)
608609#endif
609610
611+ #define IsPartialCompressXLogFileName (fname ) \
612+ (strlen(fname) == XLOG_FNAME_LEN + strlen(".gz.partial") && \
613+ strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && \
614+ strcmp((fname) + XLOG_FNAME_LEN, ".gz.partial") == 0)
615+
616+ #define IsTempXLogFileName (fname ) \
617+ (strlen(fname) == XLOG_FNAME_LEN + strlen(".part") && \
618+ strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && \
619+ strcmp((fname) + XLOG_FNAME_LEN, ".part") == 0)
620+
621+ #define IsTempCompressXLogFileName (fname ) \
622+ (strlen(fname) == XLOG_FNAME_LEN + strlen(".gz.part") && \
623+ strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && \
624+ strcmp((fname) + XLOG_FNAME_LEN, ".gz.part") == 0)
625+
610626#define IsSshProtocol () (instance_config.remote.host && strcmp(instance_config.remote.proto, "ssh") == 0)
611627
612628/* directory options */
0 commit comments