1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-07-17 01:12:23 +02:00

Pass file by reference in manifestFileAdd().

Coverity complained that this pass by value was inefficient:

CID 376402:  Performance inefficiencies  (PASS_BY_VALUE)
Passing parameter file of type "ManifestFile" (size 136 bytes) by value.

This was completely intentional since it gives us a copy of the struct that we can change without bothering the caller. However, updating fields is fine and may benefit the caller at some future data, and in any case does no harm now.

And as usual it is easier not to fight with Coverity.
This commit is contained in:
David Steele
2022-02-20 16:45:07 -06:00
parent b489707793
commit e6e1122dbc
7 changed files with 68 additions and 67 deletions

View File

@ -136,6 +136,7 @@
<github-issue id="1149"/>
<github-pull-request id="1662"/>
</commit>
<commit subject="Pass file by reference in manifestFileAdd()."/>
<release-item-contributor-list>
<release-item-contributor id="david.steele"/>

View File

@ -990,7 +990,7 @@ backupFilePut(BackupData *backupData, Manifest *manifest, const String *name, ti
file.checksumSha1, strZ(pckReadStrP(ioFilterGroupResultP(filterGroup, CRYPTO_HASH_FILTER_TYPE))),
HASH_TYPE_SHA1_SIZE_HEX + 1);
manifestFileAdd(manifest, file);
manifestFileAdd(manifest, &file);
LOG_DETAIL_FMT("wrote '%s' file returned from pg_stop_backup()", strZ(name));
}
@ -2088,7 +2088,7 @@ backupArchiveCheckCopy(const BackupData *const backupData, Manifest *const manif
memcpy(file.checksumSha1, strZ(strSubN(archiveFile, 25, 40)), HASH_TYPE_SHA1_SIZE_HEX + 1);
manifestFileAdd(manifest, file);
manifestFileAdd(manifest, &file);
}
}
MEM_CONTEXT_TEMP_END();

View File

@ -417,25 +417,25 @@ manifestFileUnpack(const Manifest *const manifest, const ManifestFilePack *const
}
void
manifestFileAdd(Manifest *this, ManifestFile file)
manifestFileAdd(Manifest *const this, ManifestFile *const file)
{
FUNCTION_TEST_BEGIN();
FUNCTION_TEST_PARAM(MANIFEST, this);
FUNCTION_TEST_PARAM(VOID, file);
FUNCTION_TEST_PARAM(MANIFEST_FILE, file);
FUNCTION_TEST_END();
ASSERT(this != NULL);
ASSERT(file.name != NULL);
ASSERT(file->name != NULL);
file.user = manifestOwnerCache(this, file.user);
file.group = manifestOwnerCache(this, file.group);
file->user = manifestOwnerCache(this, file->user);
file->group = manifestOwnerCache(this, file->group);
if (file.reference != NULL)
file.reference = strLstAddIfMissing(this->referenceList, file.reference);
if (file->reference != NULL)
file->reference = strLstAddIfMissing(this->referenceList, file->reference);
MEM_CONTEXT_BEGIN(lstMemContext(this->pub.fileList))
{
const ManifestFilePack *const filePack = manifestFilePack(this, &file);
const ManifestFilePack *const filePack = manifestFilePack(this, file);
lstAdd(this->pub.fileList, &filePack);
}
MEM_CONTEXT_END();
@ -1054,7 +1054,7 @@ manifestBuildCallback(void *data, const StorageInfo *info)
!strEqZ(manifestName, MANIFEST_TARGET_PGDATA "/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL);
}
manifestFileAdd(buildData.manifest, file);
manifestFileAdd(buildData.manifest, &file);
break;
}
@ -1871,7 +1871,7 @@ manifestLoadCallback(void *callbackData, const String *section, const String *ke
else
file.user = manifest->fileUserDefault;
manifestFileAdd(manifest, file);
manifestFileAdd(manifest, &file);
}
MEM_CONTEXT_END();
}

View File

@ -291,7 +291,7 @@ manifestFile(const Manifest *const this, const unsigned int fileIdx)
}
// Add a file
void manifestFileAdd(Manifest *this, ManifestFile file);
void manifestFileAdd(Manifest *this, ManifestFile *file);
// Find file in pack format by name
const ManifestFilePack *manifestFilePackFind(const Manifest *this, const String *name);

View File

@ -1935,7 +1935,7 @@ testRun(void)
manifestTargetAdd(manifestResume, &(ManifestTarget){.name = MANIFEST_TARGET_PGDATA_STR, .path = STRDEF("/pg")});
manifestPathAdd(manifestResume, &(ManifestPath){.name = MANIFEST_TARGET_PGDATA_STR});
manifestFileAdd(manifestResume, (ManifestFile){.name = STRDEF("pg_data/" PG_FILE_PGVERSION)});
manifestFileAdd(manifestResume, &(ManifestFile){.name = STRDEF("pg_data/" PG_FILE_PGVERSION)});
manifestSave(
manifestResume,
@ -2057,7 +2057,7 @@ testRun(void)
OBJ_NEW_BEGIN(Manifest)
{
manifest = manifestNewInternal();
manifestFileAdd(manifest, (ManifestFile){.name = STRDEF("pg_data/test")});
manifestFileAdd(manifest, &(ManifestFile){.name = STRDEF("pg_data/test")});
}
OBJ_NEW_END();
@ -2483,7 +2483,7 @@ testRun(void)
HRN_STORAGE_PUT_EMPTY(
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/size-mismatch.gz", strZ(resumeLabel))));
manifestFileAdd(
manifestResume, (ManifestFile){
manifestResume, &(ManifestFile){
.name = STRDEF("pg_data/size-mismatch"), .checksumSha1 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
.size = 33});
@ -2492,7 +2492,7 @@ testRun(void)
HRN_STORAGE_PUT_EMPTY(
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/time-mismatch.gz", strZ(resumeLabel))));
manifestFileAdd(
manifestResume, (ManifestFile){
manifestResume, &(ManifestFile){
.name = STRDEF("pg_data/time-mismatch"), .checksumSha1 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", .size = 4,
.timestamp = backupTimeStart - 1});
@ -2502,7 +2502,7 @@ testRun(void)
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/zero-size.gz", strZ(resumeLabel))),
"ZERO-SIZE");
manifestFileAdd(
manifestResume, (ManifestFile){.name = STRDEF("pg_data/zero-size"), .size = 0, .timestamp = backupTimeStart});
manifestResume, &(ManifestFile){.name = STRDEF("pg_data/zero-size"), .size = 0, .timestamp = backupTimeStart});
// Path is not in manifest
HRN_STORAGE_PATH_CREATE(
@ -2663,7 +2663,7 @@ testRun(void)
HRN_STORAGE_PUT_EMPTY(
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/resume-ref.gz", strZ(resumeLabel))));
manifestFileAdd(
manifestResume, (ManifestFile){.name = STRDEF("pg_data/resume-ref"), .size = 0, .reference = STRDEF("BOGUS")});
manifestResume, &(ManifestFile){.name = STRDEF("pg_data/resume-ref"), .size = 0, .reference = STRDEF("BOGUS")});
// Time does not match between cluster and resume manifest (but resume because time is in future so delta enabled). Note
// also that the repo file is intenionally corrupt to generate a warning about corruption in the repository.
@ -2671,7 +2671,7 @@ testRun(void)
HRN_STORAGE_PUT_EMPTY(
storageRepoWrite(), strZ(strNewFmt(STORAGE_REPO_BACKUP "/%s/pg_data/time-mismatch2.gz", strZ(resumeLabel))));
manifestFileAdd(
manifestResume, (ManifestFile){
manifestResume, &(ManifestFile){
.name = STRDEF("pg_data/time-mismatch2"), .checksumSha1 = "984816fd329622876e14907634264e6f332e9fb3", .size = 4,
.timestamp = backupTimeStart});

View File

@ -131,7 +131,7 @@ testManifestMinimal(const String *label, unsigned int pgVersion, const String *p
manifestPathAdd(result, &pathBase);
ManifestFile fileVersion = {
.name = STRDEF("pg_data/" PG_FILE_PGVERSION), .mode = 0600, .group = groupName(), .user = userName()};
manifestFileAdd(result, fileVersion);
manifestFileAdd(result, &fileVersion);
}
OBJ_NEW_END();
@ -815,7 +815,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/pg_hba.conf"), .size = 4, .timestamp = 1482182860});
&(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/pg_hba.conf"), .size = 4, .timestamp = 1482182860});
TEST_RESULT_VOID(restoreManifestMap(manifest), "remap links");
@ -982,7 +982,7 @@ testRun(void)
ManifestPath path = {.name = STRDEF("pg_data/bogus_path"), .user = STRDEF("path-user-bogus")};
manifestPathAdd(manifest, &path);
ManifestFile file = {.name = STRDEF("pg_data/bogus_file"), .mode = 0600, .group = STRDEF("file-group-bogus")};
manifestFileAdd(manifest, file);
manifestFileAdd(manifest, &file);
ManifestLink link = {.name = STRDEF("pg_data/bogus_link"), .destination = STRDEF("/"), .group = STRDEF("link-group-bogus")};
manifestLinkAdd(manifest, &link);
@ -1034,7 +1034,7 @@ testRun(void)
manifest = testManifestMinimal(STRDEF("20161219-212741F_20161219-21275D"), PG_VERSION_96, pgPath);
manifestFileAdd(manifest, file);
manifestFileAdd(manifest, &file);
manifestLinkAdd(manifest, &link);
TEST_RESULT_VOID(restoreManifestOwner(manifest, &rootReplaceUser, &rootReplaceGroup), "check ownership");
@ -1051,7 +1051,7 @@ testRun(void)
TEST_TITLE("owner is root and ownership of pg_data is bad");
manifestPathAdd(manifest, &path);
manifestFileAdd(manifest, file);
manifestFileAdd(manifest, &file);
HRN_SYSTEM_FMT("sudo chown 77777:77777 %s", strZ(pgPath));
@ -1243,7 +1243,7 @@ testRun(void)
HRN_SYSTEM_FMT("rm -rf %s/*", strZ(pgPath));
manifestFileAdd(manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_POSTGRESQLAUTOCONF)});
manifestFileAdd(manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_POSTGRESQLAUTOCONF)});
HRN_STORAGE_PUT_EMPTY(storagePgWrite(), PG_FILE_POSTGRESQLAUTOCONF);
HRN_STORAGE_PUT_EMPTY(storagePgWrite(), PG_FILE_RECOVERYSIGNAL);
@ -1303,7 +1303,7 @@ testRun(void)
manifest->pub.data.pgCatalogVersion = hrnPgCatalogVersion(PG_VERSION_90);
manifestTargetAdd(manifest, &(ManifestTarget){.name = MANIFEST_TARGET_PGDATA_STR, .path = STRDEF("/pg")});
manifestFileAdd(manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION)});
manifestFileAdd(manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION)});
}
OBJ_NEW_END();
@ -1324,11 +1324,11 @@ testRun(void)
manifestDbAdd(manifest, &(ManifestDb){.name = STRDEF("user-made-system-db"), .id = 16380, .lastSystemId = 12168});
manifestDbAdd(manifest, &(ManifestDb){.name = STRDEF(UTF8_DB_NAME), .id = 16384, .lastSystemId = 12168});
manifestFileAdd(
manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/1/" PG_FILE_PGVERSION)});
manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/1/" PG_FILE_PGVERSION)});
manifestFileAdd(
manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/16381/" PG_FILE_PGVERSION)});
manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/16381/" PG_FILE_PGVERSION)});
manifestFileAdd(
manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/16385/" PG_FILE_PGVERSION)});
manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/16385/" PG_FILE_PGVERSION)});
}
MEM_CONTEXT_END();
@ -1353,7 +1353,7 @@ testRun(void)
MEM_CONTEXT_BEGIN(manifest->pub.memContext)
{
manifestFileAdd(
manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/16384/" PG_FILE_PGVERSION)});
manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/16384/" PG_FILE_PGVERSION)});
}
MEM_CONTEXT_END();
@ -1424,7 +1424,7 @@ testRun(void)
{
manifestDbAdd(manifest, &(ManifestDb){.name = STRDEF("test2"), .id = 32768, .lastSystemId = 12168});
manifestFileAdd(
manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/32768/" PG_FILE_PGVERSION)});
manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/32768/" PG_FILE_PGVERSION)});
}
MEM_CONTEXT_END();
@ -1448,7 +1448,7 @@ testRun(void)
.name = STRDEF(MANIFEST_TARGET_PGTBLSPC "/16387"), .tablespaceId = 16387, .tablespaceName = STRDEF("ts1"),
.path = STRDEF("/ts1")});
manifestFileAdd(
manifest, (ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/32768/" PG_FILE_PGVERSION)});
manifest, &(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_PATH_BASE "/32768/" PG_FILE_PGVERSION)});
}
MEM_CONTEXT_END();
@ -1470,7 +1470,7 @@ testRun(void)
{
manifestDbAdd(manifest, &(ManifestDb){.name = STRDEF("test3"), .id = 65536, .lastSystemId = 12168});
manifestFileAdd(
manifest, (ManifestFile){
manifest, &(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGTBLSPC "/16387/PG_9.4_201409291/65536/" PG_FILE_PGVERSION)});
}
MEM_CONTEXT_END();
@ -2053,7 +2053,7 @@ testRun(void)
// PG_VERSION
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA PG_FILE_PGVERSION), .size = 4, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "b74d60e763728399bcd3fb63f7dd1f97b46c6b44"});
@ -2184,7 +2184,7 @@ testRun(void)
// tablespace_map (will be ignored during restore)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA PG_FILE_TABLESPACEMAP), .size = 0, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(), .checksumSha1 = HASH_TYPE_SHA1_ZERO});
HRN_STORAGE_PUT_EMPTY(storageRepoWrite(), TEST_REPO_PATH PG_FILE_TABLESPACEMAP);
@ -2218,7 +2218,7 @@ testRun(void)
// pg_tblspc/1/16384/PG_VERSION
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGTBLSPC "/1/16384/" PG_FILE_PGVERSION), .size = 4,
.timestamp = 1482182860, .mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "b74d60e763728399bcd3fb63f7dd1f97b46c6b44"});
@ -2400,7 +2400,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL), .size = 8192, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "5e2b96c19c4f5c63a5afa2de504d29fe64a4c908"});
@ -2409,7 +2409,7 @@ testRun(void)
// global/999
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA PG_PATH_GLOBAL "/999"), .size = 0, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = HASH_TYPE_SHA1_ZERO});
@ -2418,7 +2418,7 @@ testRun(void)
// PG_VERSION
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA PG_FILE_PGVERSION), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(), .bundleId = 1, .bundleOffset = 0,
.reference = STRDEF(TEST_LABEL), .checksumSha1 = "8dbabb96e032b8d9f1993c0e4b9141e71ade01a1"});
@ -2440,7 +2440,7 @@ testRun(void)
// base/1/PG_VERSION. File was written as part of bundle 1 above
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "base/1/" PG_FILE_PGVERSION), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(), .bundleId = 1, .bundleOffset = 4,
.checksumSha1 = "8dbabb96e032b8d9f1993c0e4b9141e71ade01a1"});
@ -2452,7 +2452,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "base/1/2"), .size = 8192, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "4d7b2a36c5387decf799352a3751883b7ceb96aa"});
@ -2470,7 +2470,7 @@ testRun(void)
// base/16384/PG_VERSION
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "base/16384/" PG_FILE_PGVERSION), .size = 4, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "8dbabb96e032b8d9f1993c0e4b9141e71ade01a1"});
@ -2483,7 +2483,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "base/16384/16385"), .size = 16384, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "d74e5f7ebe52a3ed468ba08c5b6aefaccd1ca88f"});
@ -2499,7 +2499,7 @@ testRun(void)
// base/32768/PG_VERSION
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "base/32768/" PG_FILE_PGVERSION), .size = 4, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "8dbabb96e032b8d9f1993c0e4b9141e71ade01a1"});
@ -2512,7 +2512,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "base/32768/32769"), .size = 32768, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "a40f0986acb1531ce0cc75a23dcf8aa406ae9081"});
@ -2529,7 +2529,7 @@ testRun(void)
.name = name, .destination = STRDEF("../config/postgresql.conf"), .group = groupName(), .user = userName()});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "postgresql.conf"), .size = 15, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "98b8abb2e681e2a5a7d8ab082c0a79727887558d"});
@ -2546,7 +2546,7 @@ testRun(void)
.name = name, .destination = STRDEF("../config/pg_hba.conf"), .group = groupName(), .user = userName()});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA "pg_hba.conf"), .size = 11, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(),
.checksumSha1 = "401215e092779574988a854d8c7caed7f91dba4b"});
@ -2555,7 +2555,7 @@ testRun(void)
// tablespace_map (will be ignored during restore)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(TEST_PGDATA PG_FILE_TABLESPACEMAP), .size = 0, .timestamp = 1482182860,
.mode = 0600, .group = groupName(), .user = userName(), .checksumSha1 = HASH_TYPE_SHA1_ZERO});
HRN_STORAGE_PUT_EMPTY(storageRepoWrite(), TEST_REPO_PATH PG_FILE_TABLESPACEMAP);

View File

@ -957,7 +957,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION), .size = 4, .timestamp = 1482182860});
&(ManifestFile){.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION), .size = 4, .timestamp = 1482182860});
TEST_RESULT_VOID(manifestBuildValidate(manifest, false, 1482182860, false), "validate manifest");
TEST_RESULT_INT(manifest->pub.data.backupTimestampCopyStart, 1482182860, "check copy start");
@ -1036,22 +1036,22 @@ testRun(void)
&(ManifestPath){.name = MANIFEST_TARGET_PGDATA_STR, .mode = 0700, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/BOGUS"), .size = 6, .sizeRepo = 6, .timestamp = 1482182860,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE3"), .size = 0, .sizeRepo = 0, .timestamp = 1482182860,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE4"), .size = 55, .sizeRepo = 55, .timestamp = 1482182861,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
}
@ -1066,17 +1066,17 @@ testRun(void)
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE3"), .size = 0, .sizeRepo = 0, .timestamp = 1482182860,
.checksumSha1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709"});
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE4"), .size = 55, .sizeRepo = 55, .timestamp = 1482182860,
.checksumSha1 = "ccccccccccaaaaaaaaaabbbbbbbbbbdddddddddd"});
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.checksumSha1 = "aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd"});
}
@ -1116,18 +1116,18 @@ testRun(void)
lstClear(manifest->pub.fileList);
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE1"), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/" PG_FILE_PGVERSION), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE1"), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.reference = STRDEF("20190101-010101F_20190202-010101D"),
.checksumSha1 = "aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd"});
@ -1167,7 +1167,7 @@ testRun(void)
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE1"), .size = 4, .sizeRepo = 4, .timestamp = 1482182859,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
@ -1178,7 +1178,7 @@ testRun(void)
varLstAdd(checksumPageErrorList, varNewUInt(77));
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE1"), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.reference = STRDEF("20190101-010101F_20190202-010101D"),
.checksumSha1 = "aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd", .checksumPage = true, .checksumPageError = true,
@ -1218,18 +1218,18 @@ testRun(void)
lstClear(manifest->pub.fileList);
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE1"), .size = 6, .sizeRepo = 6, .timestamp = 1482182861,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE2"), .size = 6, .sizeRepo = 6, .timestamp = 1482182860,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE2"), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.reference = STRDEF("20190101-010101F_20190202-010101D"),
.checksumSha1 = "ddddddddddbbbbbbbbbbccccccccccaaaaaaaaaa"});
@ -1286,14 +1286,14 @@ testRun(void)
lstClear(manifest->pub.fileList);
manifestFileAdd(
manifest,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE1"), .size = 6, .sizeRepo = 6, .timestamp = 1482182861,
.mode = 0600, .group = STRDEF("test"), .user = STRDEF("test")});
manifest->pub.data.backupOptionOnline = BOOL_TRUE_VAR;
manifestFileAdd(
manifestPrior,
(ManifestFile){
&(ManifestFile){
.name = STRDEF(MANIFEST_TARGET_PGDATA "/FILE2"), .size = 4, .sizeRepo = 4, .timestamp = 1482182860,
.checksumSha1 = "ddddddddddbbbbbbbbbbccccccccccaaaaaaaaaa"});