You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2026-05-22 10:15:16 +02:00
Modify InfoBackupData struct to use time_t for backup start/stop times.
The uint64_t types worked but were not consistent with how timestamps are handled in other parts of the code.
This commit is contained in:
committed by
David Steele
parent
6f65dde8d3
commit
c5b76d213b
@@ -259,8 +259,9 @@ backupList(VariantList *backupSection, InfoBackup *info, const String *backupLab
|
||||
// timestamp section
|
||||
KeyValue *timeInfo = kvPutKv(varKv(backupInfo), BACKUP_KEY_TIMESTAMP_VAR);
|
||||
|
||||
kvAdd(timeInfo, KEY_START_VAR, VARUINT64(backupData.backupTimestampStart));
|
||||
kvAdd(timeInfo, KEY_STOP_VAR, VARUINT64(backupData.backupTimestampStop));
|
||||
// time_t is generally a signed int so cast it to uint64 since it can never be negative (before 1970) in our system
|
||||
kvAdd(timeInfo, KEY_START_VAR, VARUINT64((uint64_t)backupData.backupTimestampStart));
|
||||
kvAdd(timeInfo, KEY_STOP_VAR, VARUINT64((uint64_t)backupData.backupTimestampStop));
|
||||
|
||||
// If a backup label was specified and this is that label, then get the manifest
|
||||
if (backupLabel != NULL && strEq(backupData.backupLabel, backupLabel))
|
||||
|
||||
+10
-6
@@ -147,8 +147,10 @@ infoBackupLoadCallback(void *data, const String *section, const String *key, con
|
||||
.backupInfoSizeDelta = varUInt64(kvGet(backupKv, INFO_BACKUP_KEY_BACKUP_INFO_SIZE_DELTA_VAR)),
|
||||
.backupLabel = strDup(key),
|
||||
.backupPgId = cvtZToUInt(strPtr(varStrForce(kvGet(backupKv, INFO_KEY_DB_ID_VAR)))),
|
||||
.backupTimestampStart = varUInt64(kvGet(backupKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_START_VAR)),
|
||||
.backupTimestampStop= varUInt64(kvGet(backupKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_STOP_VAR)),
|
||||
|
||||
// When reading timestamps, read as uint64 to ensure always positive value (guarantee no backups before 1970)
|
||||
.backupTimestampStart = (time_t)varUInt64(kvGet(backupKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_START_VAR)),
|
||||
.backupTimestampStop= (time_t)varUInt64(kvGet(backupKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_STOP_VAR)),
|
||||
.backupType = varStrForce(kvGet(backupKv, INFO_BACKUP_KEY_BACKUP_TYPE_VAR)),
|
||||
|
||||
// Possible NULL values
|
||||
@@ -245,8 +247,10 @@ infoBackupSaveCallback(void *data, const String *sectionNext, InfoSave *infoSave
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_INFO_REPO_SIZE_DELTA_VAR, VARUINT64(backupData.backupInfoRepoSizeDelta));
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_INFO_SIZE_VAR, VARUINT64(backupData.backupInfoSize));
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_INFO_SIZE_DELTA_VAR, VARUINT64(backupData.backupInfoSizeDelta));
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_START_VAR, VARUINT64(backupData.backupTimestampStart));
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_STOP_VAR, VARUINT64(backupData.backupTimestampStop));
|
||||
|
||||
// When storing time_t treat as signed int to avoid casting
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_START_VAR, VARINT64(backupData.backupTimestampStart));
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_TIMESTAMP_STOP_VAR, VARINT64(backupData.backupTimestampStop));
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_BACKUP_TYPE_VAR, VARSTR(backupData.backupType));
|
||||
|
||||
kvPut(backupDataKv, INFO_BACKUP_KEY_OPT_ARCHIVE_CHECK_VAR, VARBOOL(backupData.optionArchiveCheck));
|
||||
@@ -402,8 +406,8 @@ infoBackupDataAdd(const InfoBackup *this, const Manifest *manifest)
|
||||
.backupInfoSize = backupSize,
|
||||
.backupInfoSizeDelta = backupSizeDelta,
|
||||
.backupPgId = manData->pgId,
|
||||
.backupTimestampStart = (uint64_t)manData->backupTimestampStart,
|
||||
.backupTimestampStop= (uint64_t)manData->backupTimestampStop,
|
||||
.backupTimestampStart = manData->backupTimestampStart,
|
||||
.backupTimestampStop= manData->backupTimestampStop,
|
||||
.backupType = backupTypeStr(manData->backupType),
|
||||
|
||||
.backupArchiveStart = strDup(manData->archiveStart),
|
||||
|
||||
@@ -45,8 +45,8 @@ typedef struct InfoBackupData
|
||||
unsigned int backupPgId;
|
||||
const String *backupPrior;
|
||||
StringList *backupReference;
|
||||
uint64_t backupTimestampStart; // ??? Need to fix this so it is time_t
|
||||
uint64_t backupTimestampStop; // ??? Need to fix this so it is time_t
|
||||
time_t backupTimestampStart;
|
||||
time_t backupTimestampStop;
|
||||
const String *backupType;
|
||||
bool optionArchiveCheck;
|
||||
bool optionArchiveCopy;
|
||||
|
||||
Reference in New Issue
Block a user