v2.44: Remove PostgreSQL 9.0/9.1/9.2 Support
commit : 053468bfb156a8ecbd5d0325d35141056c89ec52
author : David Steele <[email protected]>
date : Mon, 30 Jan 2023 09:15:44 +0700
committer: David Steele <[email protected]>
date : Mon, 30 Jan 2023 09:15:44 +0700
Improvements:
* Remove support for PostgreSQL 9.0/9.1/9.2. (Reviewed by Stefan Fercot.)
* Restore errors when no backup matches the current version of PostgreSQL. (Contributed by Stefan Fercot. Reviewed by David Steele. Suggested by Soulou.)
* Add compress-level range checking for each compress-type. (Reviewed by Stefan Fercot. Suggested by gkleen, ViperRu.)
Documentation Improvements:
* Add warning about enabling "hierarchical namespace" on Azure storage. (Reviewed by Stefan Fercot. Suggested by Vojtech Galda, Pluggi, asjonos.)
* Add replacement for linefeeds in monitoring example. (Reviewed by Stefan Fercot. Suggested by rudonx, gmustdie, Ivan Shelestov.)
* Clarify target-action behavior on various PostgreSQL versions. (Contributed by Chris Bandy. Reviewed by David Steele, Anton Kurochkin, Stefan Fercot. Suggested by Anton Kurochkin, Chris Bandy.)
* Updates and clarifications to index page. (Reviewed by Stefan Fercot.)
* Add dark mode to the website. (Suggested by Stephen Frost.)
M CONTRIBUTING.md
M README.md
M doc/release.pl
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release.xml
M meson.build
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml
Add --no-back-trace option to test.pl.
commit : a28f3d49c23d7dbd8873d07b7d513b6b7e59345a
author : David Steele <[email protected]>
date : Sat, 28 Jan 2023 18:55:53 +0700
committer: David Steele <[email protected]>
date : Sat, 28 Jan 2023 18:55:53 +0700
Running valgrind and backtrace together has been causing tests to timeout in CI, mostly likely due to limited resources. This has not been a problem in normal development environments.
Since it is still important to run backtraces for debugging, split the u22 test that was doing all this work to run coverage and backtrace together and valgrind-only as a separate test. As a bonus these tests run faster separately and since they run in parallel the total execution time is faster.
M .github/workflows/test.yml
M test/lib/pgBackRestTest/Common/JobTest.pm
M test/src/build/config/config.yaml
M test/src/build/help/help.xml
M test/src/command/test/build.c
M test/src/command/test/build.h
M test/src/command/test/test.c
M test/src/command/test/test.h
M test/src/main.c
M test/src/module/test/testTest.c
M test/test.pl
Skip test modules in coverage report.
commit : 16c625353db2569ebcc0c28e09d76a9811d2a241
author : David Steele <[email protected]>
date : Sat, 28 Jan 2023 16:22:04 +0700
committer: David Steele <[email protected]>
date : Sat, 28 Jan 2023 16:22:04 +0700
Coverage of the test code is useful during development but it does not seem worth adding it to the core code coverage report.
M test/lib/pgBackRestTest/Common/CoverageTest.pm
Fix permissions on source files.
commit : d5ef4ce747f0d743b76c5fe05c4e4a02cdd9bd09
author : David Steele <[email protected]>
date : Sat, 28 Jan 2023 11:01:29 +0700
committer: David Steele <[email protected]>
date : Sat, 28 Jan 2023 11:01:29 +0700
M src/protocol/helper.c
M src/storage/posix/write.c
M test/src/module/common/lockTest.c
Add warning about enabling "hierarchical namespace" on Azure storage.
commit : 3aea997df5ace85251d0579ccbe13fa938f587ee
author : David Steele <[email protected]>
date : Wed, 25 Jan 2023 10:59:13 +0700
committer: GitHub <[email protected]>
date : Wed, 25 Jan 2023 10:59:13 +0700
If this feature is enabled expire will fail since directories need to be deleted separately.
Ideally we would add support for this feature but for now we'll just document the issue.
M doc/xml/release.xml
M doc/xml/user-guide.xml
Add dark mode to the website.
commit : ed818b31867c640d72ef829dd36cd0a7feff12df
author : David Steele <[email protected]>
date : Wed, 25 Jan 2023 10:35:03 +0700
committer: David Steele <[email protected]>
date : Wed, 25 Jan 2023 10:35:03 +0700
The colors could use more tweaking but at least the website will no longer blind users running dark mode.
M doc/resource/html/default.css
M doc/xml/release.xml
Add manifest test harness.
commit : 1da2666a9ef41457ac64ddf2cabccc93b3b05aeb
author : David Steele <[email protected]>
date : Sat, 21 Jan 2023 14:03:27 +0700
committer: David Steele <[email protected]>
date : Sat, 21 Jan 2023 14:03:27 +0700
These macros make adding paths/files/etc to a manifest simpler and easier to read.
M src/info/manifest.h
M test/define.yaml
A test/src/common/harnessManifest.c
A test/src/common/harnessManifest.h
M test/src/module/command/backupTest.c
M test/src/module/command/restoreTest.c
M test/src/module/info/manifestTest.c
Block-level incremental backup.
commit : 912eec63bb971c10a545e582f628c982f4e00005
author : David Steele <[email protected]>
date : Fri, 20 Jan 2023 16:48:57 +0700
committer: GitHub <[email protected]>
date : Fri, 20 Jan 2023 16:48:57 +0700
The primary goal of the block incremental backup is to save space in the repository by only storing changed parts of a file rather than the entire file. This implementation is focused on restore performance more than saving space in the repository, though there may be substantial savings depending on the workload.
The repo-block option enables the feature (when repo-bundle is already enabled). The block size is determined based on the file size and age. Very old or very small files will not use block incremental.
M doc/xml/release.xml
M src/Makefile.in
M src/build/config/config.yaml
M src/build/help/help.xml
M src/command/backup/backup.c
A src/command/backup/blockIncr.c
A src/command/backup/blockIncr.h
A src/command/backup/blockMap.c
A src/command/backup/blockMap.h
M src/command/backup/common.c
M src/command/backup/common.h
M src/command/backup/file.c
M src/command/backup/file.h
M src/command/backup/protocol.c
M src/command/info/info.c
M src/command/remote/remote.c
A src/command/restore/deltaMap.c
A src/command/restore/deltaMap.h
M src/command/restore/file.c
M src/command/restore/file.h
M src/command/restore/protocol.c
M src/command/restore/restore.c
A src/common/io/chunkedRead.c
A src/common/io/chunkedRead.h
A src/common/io/filter/chunk.c
A src/common/io/filter/chunk.h
M src/common/io/write.c
M src/config/config.auto.h
M src/config/parse.auto.c.inc
M src/config/parse.c
M src/info/infoBackup.c
M src/info/infoBackup.h
M src/info/manifest.c
M src/info/manifest.h
M src/meson.build
M test/define.yaml
M test/lib/pgBackRestTest/Env/Host/HostBackupTest.pm
M test/lib/pgBackRestTest/Env/HostEnvTest.pm
M test/lib/pgBackRestTest/Module/Real/RealAllTest.pm
M test/src/module/command/backupTest.c
M test/src/module/command/infoTest.c
M test/src/module/command/restoreTest.c
M test/src/module/common/ioTest.c
M test/src/module/config/parseTest.c
M test/src/module/info/infoBackupTest.c
M test/src/module/info/manifestTest.c
M test/src/module/performance/typeTest.c
Fix comment indentation and wrapping.
commit : 008a18555c6474be4327bfe0830ef13166a18ece
author : David Steele <[email protected]>
date : Fri, 20 Jan 2023 15:44:01 +0700
committer: David Steele <[email protected]>
date : Fri, 20 Jan 2023 15:44:01 +0700
M src/common/io/http/response.c
M src/common/io/socket/common.c
M src/common/io/tls/server.c
M src/info/infoBackup.c
M src/protocol/helper.c
M src/storage/posix/write.c
M src/storage/s3/write.c
M test/src/module/common/lockTest.c
Fix incorrect FUNCTION_TEST_END() in hrnPgWalToBuffer().
commit : bfc9a5c33e032ee7f95180cafcec07ce19e11aa9
author : David Steele <[email protected]>
date : Sat, 14 Jan 2023 18:01:48 +0700
committer: David Steele <[email protected]>
date : Sat, 14 Jan 2023 18:01:48 +0700
M test/src/common/harnessPostgres.c
Reduce log level of pgVersionFromStr() and pgVersionToStr().
commit : ccee5c0fb1653f00e74de13d917a24b8b3506c22
author : David Steele <[email protected]>
date : Sat, 14 Jan 2023 17:12:15 +0700
committer: David Steele <[email protected]>
date : Sat, 14 Jan 2023 17:12:15 +0700
M src/postgres/interface.c
Simply return in pgVersionToStr().
commit : 596c62c54e375fd25e7e34e9604b47ecc1ab73ff
author : David Steele <[email protected]>
date : Sat, 14 Jan 2023 15:25:25 +0700
committer: David Steele <[email protected]>
date : Sat, 14 Jan 2023 15:25:25 +0700
M src/postgres/interface.c
Refactor common/ini module to remove callbacks and duplicated code.
commit : 34e4835ff30e7f44cb36b3f1ed29d670e74a75ca
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 21:24:28 +0700
committer: GitHub <[email protected]>
date : Thu, 12 Jan 2023 21:24:28 +0700
The callbacks in iniLoad() made the downstream code more complicated than it needed to be so use an iterator model instead.
Combine the two functions that were used to load the ini data to remove code duplication. In theory it would be nice to use iniValueNext() in the config/parse module rather than loading a KeyValue store but this would mean a big change to the parser, which does not seem worthwhile at this time.
M doc/xml/release.xml
M src/common/ini.c
M src/common/ini.h
M src/config/parse.c
M src/info/info.c
M test/define.yaml
M test/src/common/harnessInfo.c
M test/src/module/common/iniTest.c
M test/src/module/performance/typeTest.c
Audit mem contexts returned from functions into the calling context.
commit : 9ca492cecfd40516b8815080af23ee3e64efc22a
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 17:36:57 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 17:36:57 +0700
It is possible for functions to accidentally leak child contexts into the calling context, which may use a lot of memory depending on the use case and where it happens.
Use the function return type to determine what should be returned and error when something else is returned. Add FUNCTION_AUDIT_*() macros to handle exceptions.
This checking is only performed during unit tests on the code being covered by the specific unit test.
Note that this does not work yet for memory allocations, i.e. memNew(). These are pretty rare so are not as much of an issue and they can be added in the future.
M src/command/archive/get/file.c
M src/command/archive/get/get.c
M src/command/archive/push/file.c
M src/command/archive/push/push.c
M src/command/backup/backup.c
M src/command/backup/pageChecksum.c
M src/command/check/check.c
M src/command/info/info.c
M src/command/repo/ls.c
M src/command/restore/restore.c
M src/command/verify/verify.c
M src/common/compress/bz2/compress.c
M src/common/compress/bz2/decompress.c
M src/common/compress/gz/compress.c
M src/common/compress/gz/decompress.c
M src/common/compress/lz4/compress.c
M src/common/compress/lz4/decompress.c
M src/common/compress/zst/compress.c
M src/common/compress/zst/decompress.c
M src/common/crypto/cipherBlock.c
M src/common/crypto/hash.c
M src/common/debug.h
M src/common/io/bufferRead.c
M src/common/io/bufferWrite.c
M src/common/io/fdRead.c
M src/common/io/fdWrite.c
M src/common/io/filter/buffer.c
M src/common/io/filter/sink.c
M src/common/io/filter/size.c
M src/common/io/socket/client.c
M src/common/io/socket/server.c
M src/common/io/socket/session.c
M src/common/io/tls/client.c
M src/common/io/tls/server.c
M src/common/io/tls/session.c
M src/common/lock.c
M src/common/memContext.c
M src/common/memContext.h
M src/common/type/keyValue.c
M src/common/type/object.h
M src/common/type/pack.c
M src/common/type/pack.h
M src/common/type/stringList.h
M src/common/type/variant.c
M src/common/type/variantList.h
M src/common/type/xml.c
M src/config/load.c
M src/config/parse.c
M src/db/db.c
M src/db/helper.c
M src/info/info.c
M src/info/infoBackup.c
M src/info/infoPg.c
M src/info/manifest.c
M src/protocol/helper.c
M src/protocol/server.c
M src/storage/azure/read.c
M src/storage/azure/storage.c
M src/storage/azure/write.c
M src/storage/gcs/read.c
M src/storage/gcs/storage.c
M src/storage/gcs/write.c
M src/storage/posix/read.c
M src/storage/posix/storage.c
M src/storage/posix/write.c
M src/storage/read.c
M src/storage/remote/protocol.c
M src/storage/remote/read.c
M src/storage/remote/storage.c
M src/storage/remote/write.c
M src/storage/s3/read.c
M src/storage/s3/storage.c
M src/storage/s3/write.c
M src/storage/storage.c
M src/storage/write.c
M test/define.yaml
M test/src/command/test/define.c
M test/src/command/test/test.c
M test/src/module/common/memContextTest.c
Refactor logging functions to never allocate memory.
commit : de1dfb66ca022e7ab8370503eacda94629f6ae3f
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 17:14:36 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 17:14:36 +0700
Allocating memory made these functions simpler but it meant that memory was leaking into the calling context when logging was enabled. It is not clear that this was an issue but it seems that trace level logging could result it a lot of memory usage depending on the use case.
This also makes it possible to audit allocations returned to the calling context, which will be done in a followup commit.
Also rename objToLog() to objNameToLog() since it seemed logical to name the new function objToLog().
M CONTRIBUTING.md
M doc/xml/contributing.xml
M src/Makefile.in
M src/build/common/yaml.h
M src/command/backup/backup.c
M src/command/backup/pageChecksum.c
M src/command/info/info.c
M src/command/restore/restore.c
M src/command/verify/verify.c
M src/common/compress/bz2/compress.c
M src/common/compress/bz2/decompress.c
M src/common/compress/gz/compress.c
M src/common/compress/gz/decompress.c
M src/common/compress/lz4/compress.c
M src/common/compress/lz4/decompress.c
M src/common/compress/zst/compress.c
M src/common/compress/zst/decompress.c
M src/common/crypto/cipherBlock.c
M src/common/crypto/hash.c
M src/common/debug.c
M src/common/debug.h
M src/common/error.h
M src/common/exec.h
M src/common/ini.h
M src/common/io/bufferRead.c
M src/common/io/bufferWrite.c
M src/common/io/client.c
M src/common/io/client.h
M src/common/io/client.intern.h
M src/common/io/fdRead.c
M src/common/io/fdWrite.c
M src/common/io/filter/buffer.c
M src/common/io/filter/filter.c
M src/common/io/filter/filter.h
M src/common/io/filter/filter.intern.h
M src/common/io/filter/group.c
M src/common/io/filter/group.h
M src/common/io/filter/sink.c
M src/common/io/filter/size.c
M src/common/io/http/client.c
M src/common/io/http/client.h
M src/common/io/http/header.c
M src/common/io/http/header.h
M src/common/io/http/query.c
M src/common/io/http/query.h
M src/common/io/http/request.c
M src/common/io/http/request.h
M src/common/io/http/response.c
M src/common/io/http/response.h
M src/common/io/http/session.h
M src/common/io/http/url.c
M src/common/io/http/url.h
M src/common/io/read.h
M src/common/io/read.intern.h
M src/common/io/server.c
M src/common/io/server.h
M src/common/io/server.intern.h
M src/common/io/session.c
M src/common/io/session.h
M src/common/io/session.intern.h
M src/common/io/socket/client.c
M src/common/io/socket/server.c
M src/common/io/socket/session.c
M src/common/io/tls/client.c
M src/common/io/tls/server.c
M src/common/io/tls/session.c
M src/common/io/write.h
M src/common/io/write.intern.h
M src/common/memContext.h
M src/common/regExp.h
M src/common/type/blob.h
M src/common/type/buffer.c
M src/common/type/buffer.h
M src/common/type/json.c
M src/common/type/json.h
M src/common/type/keyValue.h
M src/common/type/list.c
M src/common/type/list.h
M src/common/type/pack.c
M src/common/type/pack.h
M src/common/type/string.c
M src/common/type/string.h
M src/common/type/stringId.h
M src/common/type/stringList.c
M src/common/type/stringList.h
A src/common/type/stringStatic.c
A src/common/type/stringStatic.h
M src/common/type/variant.c
M src/common/type/variant.h
M src/common/type/variantList.h
M src/common/type/xml.h
M src/common/wait.h
M src/db/db.c
M src/db/db.h
M src/db/helper.h
M src/info/info.h
M src/info/infoArchive.h
M src/info/infoBackup.c
M src/info/infoBackup.h
M src/info/infoPg.c
M src/info/infoPg.h
M src/info/manifest.h
M src/meson.build
M src/postgres/client.c
M src/postgres/client.h
M src/postgres/interface.c
M src/postgres/interface.h
M src/protocol/client.c
M src/protocol/client.h
M src/protocol/command.c
M src/protocol/command.h
M src/protocol/parallel.c
M src/protocol/parallel.h
M src/protocol/parallelJob.c
M src/protocol/parallelJob.h
M src/protocol/server.c
M src/protocol/server.h
M src/storage/azure/read.c
M src/storage/azure/storage.intern.h
M src/storage/azure/write.c
M src/storage/gcs/read.c
M src/storage/gcs/storage.intern.h
M src/storage/gcs/write.c
M src/storage/info.h
M src/storage/iterator.c
M src/storage/iterator.h
M src/storage/list.c
M src/storage/list.h
M src/storage/posix/read.c
M src/storage/posix/storage.intern.h
M src/storage/posix/write.c
M src/storage/read.c
M src/storage/read.h
M src/storage/remote/read.c
M src/storage/remote/storage.intern.h
M src/storage/remote/write.c
M src/storage/s3/read.c
M src/storage/s3/storage.intern.h
M src/storage/s3/write.c
M src/storage/storage.c
M src/storage/storage.h
M src/storage/storage.intern.h
M src/storage/write.c
M src/storage/write.h
M test/define.yaml
M test/src/command/test/build.h
M test/src/module/common/compressTest.c
M test/src/module/common/debugOnTest.c
M test/src/module/common/ioHttpTest.c
M test/src/module/common/ioTlsTest.c
M test/src/module/common/typeBufferTest.c
M test/src/module/common/typeListTest.c
M test/src/module/common/typePackTest.c
M test/src/module/common/typeStringTest.c
M test/src/module/common/typeVariantTest.c
M test/src/module/info/infoBackupTest.c
M test/src/module/info/infoPgTest.c
M test/src/module/postgres/interfaceTest.c
M test/src/module/protocol/protocolTest.c
M test/src/module/storage/azureTest.c
M test/src/module/storage/s3Test.c
M test/src/module/test/testTest.c
Remove mostly useless mem context in storageRemoteInfoProtocolPut().
commit : 890b9d009390e472bd96ac74f6b347d7b1cc5a12
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 15:04:49 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 15:04:49 +0700
Maybe this once had a deeper purpose but now at least it is just used to avoid a few trivial allocations. If we really wanted to do that a flag would be better but it does not seem worth the trouble.
M src/storage/remote/protocol.c
Fix leak in protocolServer().
commit : 6ec2241e15c4d6d6c8fe9a09c2cd562631ba8423
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:24:20 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:24:20 +0700
M src/protocol/helper.c
Fix leaks in db module.
commit : 9d42435ffbaa20febae5a9a5c62446a0fe5d0090
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:22:09 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:22:09 +0700
M src/db/db.c
Fix leak in configOptionRemote().
commit : 7f7d515441ee28e10d5f2aa63f986128638342bc
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:19:10 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:19:10 +0700
M src/config/protocol.c
Minor optimizations on config/parse module.
commit : 123d5e77ae188dfe75a431fcb131dcca1b1913bb
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:17:48 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 14:17:48 +0700
M src/config/parse.c
Enhance libbacktrace to handle incomplete stack traces.
commit : 0becb6da3147e7992b7e91f78032a961e7c352be
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 10:22:26 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 10:22:26 +0700
This fills in backtrace info at the bottom of the call stack when the stack trace is incomplete due to testing. This does not affect release builds, which is why it did not make the first cut, but it turns out to be useful for testing and barely changes the release code (when we do release this).
The recursion test in common/error was simplified because it would now return a very large trace.
M src/common/stackTrace.c
M test/define.yaml
A test/src/common/harnessStackTrace.c
A test/src/common/harnessStackTrace.h
M test/src/module/common/errorTest.c
M test/src/module/common/stackTraceTest.c
M test/src/module/test/testTest.c
Update RHEL user guide to PostgreSQL 11/12.
commit : 57fc4aaeb9b2aea84fce5bb813980116ad01dbe7
author : David Steele <[email protected]>
date : Thu, 12 Jan 2023 09:06:01 +0700
committer: David Steele <[email protected]>
date : Thu, 12 Jan 2023 09:06:01 +0700
PostgreSQL 10 has expired from the PGDG yum repository.
M doc/xml/user-guide.xml
Revert macro changes from 38d32045.
commit : 74ca9b50bbdbb33dafedcc8e1230a83cb619c3f5
author : David Steele <[email protected]>
date : Wed, 11 Jan 2023 19:43:10 +0700
committer: David Steele <[email protected]>
date : Wed, 11 Jan 2023 19:43:10 +0700
This seemed like it would be cleaner but an important detail was missed (logAny) and it does not seem simpler when factoring that back in.
Keep the removal of the extraneous semicolons and all the downstream changes required by the removal.
M src/common/debug.h
Fix error detail output to stderr.
commit : 9347313cbf1dbd5590b7ca481bd37bcb5de14b00
author : David Steele <[email protected]>
date : Wed, 11 Jan 2023 19:16:31 +0700
committer: David Steele <[email protected]>
date : Wed, 11 Jan 2023 19:16:31 +0700
The error detail should be output when the error is an assert (this part was working) or the log level is at least debug. In cases where log-level-console was at least debug but log-level-stderr was not the detail was lost.
Improve the range checking to output error detail to stderr when log-level-console is at least debug.
M src/common/log.c
M test/src/module/common/logTest.c
Improve libbacktrace implementation.
commit : c8264291238e0bd199e4babab7013060e7fcba7d
author : David Steele <[email protected]>
date : Wed, 11 Jan 2023 11:19:26 +0700
committer: David Steele <[email protected]>
date : Wed, 11 Jan 2023 11:19:26 +0700
The libbacktrace feature has not been working since the move to meson because libbacktrace detection was not added to the meson build. Add libbacktrace to meson and improve the feature so that it can be compiled into release builds.
The prior implementation fetched line numbers with each stack trace push. Not only was this slow but it missed any functions that were not being tracked on our stack.
Instead just examine the backtrace when an error happens and merge it with the info we have on our stack. If the backtrace is not available then the output remains as before.
Also remove --backtrace from test.pl since the library is now auto-detected.
Leave this library out of the production build for now to give it a little time to shake out in testing.
M .github/workflows/symbol.out
M meson.build
M src/common/stackTrace.c
M src/common/stackTrace.h
M src/main.c
M src/meson.build
M test/lib/pgBackRestTest/Common/JobTest.pm
M test/lib/pgBackRestTest/Common/VmTest.pm
M test/src/command/test/build.c
M test/src/common/harnessDebug.h
M test/src/meson.build
M test/src/module/common/errorTest.c
M test/src/module/common/stackTraceTest.c
M test/src/module/test/testTest.c
M test/src/test.c
M test/test.pl
Fix leak in jsonReadVarRecurse().
commit : 0dd2997714ed31b4a005fc0061048f3697c9ea1a
author : David Steele <[email protected]>
date : Tue, 10 Jan 2023 11:45:48 +0700
committer: David Steele <[email protected]>
date : Tue, 10 Jan 2023 11:45:48 +0700
M src/common/type/json.c
Fix leak in archivePushDropWarning().
commit : 675b4ae251564742e23a9e6acdfb1d764b9b159d
author : David Steele <[email protected]>
date : Tue, 10 Jan 2023 11:17:08 +0700
committer: David Steele <[email protected]>
date : Tue, 10 Jan 2023 11:17:08 +0700
M src/command/archive/push/push.c
Fix incorrect return type in backupFile().
commit : bf9e331ac15b0bd261f1a71e1307b51c9934aa85
author : David Steele <[email protected]>
date : Tue, 10 Jan 2023 10:14:43 +0700
committer: David Steele <[email protected]>
date : Tue, 10 Jan 2023 10:14:43 +0700
M src/command/backup/file.c
Fix formatting of archiveGetFile().
commit : b722d2b6ca31edead49b6dcc8fe0286bb508f5b2
author : David Steele <[email protected]>
date : Tue, 10 Jan 2023 09:28:57 +0700
committer: David Steele <[email protected]>
date : Tue, 10 Jan 2023 09:28:57 +0700
M src/command/archive/get/file.c
Remove duplication from FUNCTION_LOG_BEGIN_BASE() macro definitions.
commit : 38d320455336ab6da16c7c1b86e52d3118bcbd73
author : David Steele <[email protected]>
date : Mon, 9 Jan 2023 14:47:57 +0700
committer: David Steele <[email protected]>
date : Mon, 9 Jan 2023 14:47:57 +0700
It is a bit simpler to define STACK_TRACE_TEST_START()/STACK_TRACE_TEST_STOP() in a separate #ifdef so FUNCTION_LOG_BEGIN_BASE() does not need to be defined twice.
Also add missing semicolons exposed by this change.
M src/command/repo/get.c
M src/command/repo/ls.c
M src/command/repo/put.c
M src/common/debug.h
M src/common/exec.c
M src/common/io/client.c
M src/common/io/http/client.c
M src/common/io/http/request.c
M src/common/io/http/response.c
M src/common/io/http/session.c
M src/common/io/server.c
M src/common/io/session.c
M src/common/io/socket/client.c
M src/common/io/socket/server.c
M src/common/io/socket/session.c
M src/common/io/tls/session.c
Do not output stderr on unit/integration test errors.
commit : 6633ccd18d66f3354ce6af27c93916bce330981b
author : David Steele <[email protected]>
date : Thu, 5 Jan 2023 14:03:43 +0700
committer: David Steele <[email protected]>
date : Thu, 5 Jan 2023 14:03:43 +0700
Since stderr is being redirected to stdout this results in duplication of the error output.
M test/lib/pgBackRestTest/Common/JobTest.pm
Add unit tests for the unit test build code.
commit : 4429bc82f530fd87cd4e370c012054be117b76b9
author : David Steele <[email protected]>
date : Thu, 5 Jan 2023 12:59:06 +0700
committer: David Steele <[email protected]>
date : Thu, 5 Jan 2023 12:59:06 +0700
When this code was migrated to C the unit tests were not included because there were more important priorities at the time.
This also requires some adjustments to coverage because of the new code location.
M test/define.yaml
M test/lib/pgBackRestTest/Common/CoverageTest.pm
M test/src/command/test/build.c
M test/src/command/test/define.c
M test/src/command/test/test.c
M test/src/command/test/test.h
M test/src/main.c
A test/src/module/test/testTest.c
M test/src/test.c
Add CHECK_FMT() macros and tests for CHECK*() macros.
commit : a5499afabc7729efc2254010b47aeced74d0e918
author : David Steele <[email protected]>
date : Thu, 5 Jan 2023 12:44:00 +0700
committer: David Steele <[email protected]>
date : Thu, 5 Jan 2023 12:44:00 +0700
The CHECK_FMT() macro will be used in some upcoming tests but could also be useful in the core code.
The CHECK*() macros never had tests so add them.
M src/common/assert.h
M test/src/module/common/assertOffTest.c
M test/src/module/common/assertOnTest.c
Remove extra linefeed.
commit : 2e3513984ef528404341e4e399f5257d6f2f1ccb
author : David Steele <[email protected]>
date : Thu, 5 Jan 2023 12:33:17 +0700
committer: David Steele <[email protected]>
date : Thu, 5 Jan 2023 12:33:17 +0700
M src/build/config/parse.c
Update LICENSE.txt and PostgreSQL copyright for 2023.
commit : 877bb2ac9e452ddeef6ddd4845c4fb59d83379fe
author : David Steele <[email protected]>
date : Tue, 3 Jan 2023 08:26:44 +0700
committer: David Steele <[email protected]>
date : Tue, 3 Jan 2023 08:26:44 +0700
M LICENSE
M src/common/macro.h
M src/postgres/interface/pageChecksum.vendor.c.inc
M src/postgres/interface/static.vendor.h
M src/postgres/interface/version.vendor.h
Cleanup of common/ini module in preparation for a refactor.
commit : 2b2a6edf355f50c0d399243e6d4d9fa495a1ec34
author : David Steele <[email protected]>
date : Mon, 2 Jan 2023 18:53:05 +0700
committer: David Steele <[email protected]>
date : Mon, 2 Jan 2023 18:53:05 +0700
M src/common/ini.c
Fix formatting of restoreFile() definition.
commit : 92d5fd17b4ddb2e72e4cf5c10fd7708d5a9fad56
author : David Steele <[email protected]>
date : Mon, 2 Jan 2023 17:32:09 +0700
committer: David Steele <[email protected]>
date : Mon, 2 Jan 2023 17:32:09 +0700
M src/command/restore/file.c
Add BUFFER_EXTERN() and cleanup hash zero constants.
commit : d51a86c6210001359f86aadc36285137fe8f2da9
author : David Steele <[email protected]>
date : Mon, 2 Jan 2023 17:30:57 +0700
committer: David Steele <[email protected]>
date : Mon, 2 Jan 2023 17:30:57 +0700
BUFFER_EXTERN() provides a clean way to create buffer constants.
Convert HASH_TYPE_SHA256_ZERO_STR to HASH_TYPE_SHA256_ZERO_BUF to be consistent with HASH_TYPE_SHA1_ZERO_BUF.
M src/common/crypto/hash.c
M src/common/crypto/hash.h
M src/common/type/buffer.h
M src/storage/s3/storage.c
M test/src/module/storage/s3Test.c
Cleanup terminology in Buffer/Variant/String macros.
commit : 66f108ea8a01ac881a47f4cbd8d5fb3ca8102e1d
author : David Steele <[email protected]>
date : Mon, 2 Jan 2023 17:26:53 +0700
committer: David Steele <[email protected]>
date : Mon, 2 Jan 2023 17:26:53 +0700
M src/common/type/buffer.h
M src/common/type/string.h
M src/common/type/variant.c
M src/common/type/variant.h
Split VR_EXTERN/FN_EXTERN macros from FV_EXTERN.
commit : f0189129088456cf22f7bf86fa505cf9c28a5e37
author : David Steele <[email protected]>
date : Mon, 2 Jan 2023 15:24:51 +0700
committer: David Steele <[email protected]>
date : Mon, 2 Jan 2023 15:24:51 +0700
This should make it a little clearer what the variable (VR) macros are doing since the declaration/definition cannot both be set to extern (but functions can).
Splitting the variable macros out also allows them to be changed in the future with little churn, while changing the function macro creates a large amount of churn.
M .github/workflows/test.yml
M doc/xml/release.xml
M src/build.auto.h.in
M src/command/annotate/annotate.c
M src/command/annotate/annotate.h
M src/command/archive/common.c
M src/command/archive/common.h
M src/command/archive/get/file.c
M src/command/archive/get/file.h
M src/command/archive/get/get.c
M src/command/archive/get/get.h
M src/command/archive/get/protocol.c
M src/command/archive/get/protocol.h
M src/command/archive/push/file.c
M src/command/archive/push/file.h
M src/command/archive/push/protocol.c
M src/command/archive/push/protocol.h
M src/command/archive/push/push.c
M src/command/archive/push/push.h
M src/command/backup/backup.c
M src/command/backup/backup.h
M src/command/backup/common.c
M src/command/backup/common.h
M src/command/backup/file.c
M src/command/backup/file.h
M src/command/backup/pageChecksum.c
M src/command/backup/pageChecksum.h
M src/command/backup/protocol.c
M src/command/backup/protocol.h
M src/command/check/check.c
M src/command/check/check.h
M src/command/check/common.c
M src/command/check/common.h
M src/command/command.c
M src/command/command.h
M src/command/control/common.c
M src/command/control/common.h
M src/command/control/start.c
M src/command/control/start.h
M src/command/control/stop.c
M src/command/control/stop.h
M src/command/exit.c
M src/command/exit.h
M src/command/expire/expire.c
M src/command/expire/expire.h
M src/command/help/help.c
M src/command/help/help.h
M src/command/info/info.c
M src/command/info/info.h
M src/command/local/local.c
M src/command/local/local.h
M src/command/remote/remote.c
M src/command/remote/remote.h
M src/command/repo/common.c
M src/command/repo/common.h
M src/command/repo/create.c
M src/command/repo/create.h
M src/command/repo/get.c
M src/command/repo/get.h
M src/command/repo/ls.c
M src/command/repo/ls.h
M src/command/repo/put.c
M src/command/repo/put.h
M src/command/repo/rm.c
M src/command/repo/rm.h
M src/command/restore/file.c
M src/command/restore/file.h
M src/command/restore/protocol.c
M src/command/restore/protocol.h
M src/command/restore/restore.c
M src/command/restore/restore.h
M src/command/server/ping.c
M src/command/server/ping.h
M src/command/server/server.c
M src/command/server/server.h
M src/command/stanza/common.c
M src/command/stanza/common.h
M src/command/stanza/create.c
M src/command/stanza/create.h
M src/command/stanza/delete.c
M src/command/stanza/delete.h
M src/command/stanza/upgrade.c
M src/command/stanza/upgrade.h
M src/command/verify/file.c
M src/command/verify/file.h
M src/command/verify/protocol.c
M src/command/verify/protocol.h
M src/command/verify/verify.c
M src/command/verify/verify.h
M src/common/compress/bz2/common.c
M src/common/compress/bz2/common.h
M src/common/compress/bz2/compress.c
M src/common/compress/bz2/compress.h
M src/common/compress/bz2/decompress.c
M src/common/compress/bz2/decompress.h
M src/common/compress/gz/common.c
M src/common/compress/gz/common.h
M src/common/compress/gz/compress.c
M src/common/compress/gz/compress.h
M src/common/compress/gz/decompress.c
M src/common/compress/gz/decompress.h
M src/common/compress/helper.c
M src/common/compress/helper.h
M src/common/compress/helper.intern.h
M src/common/compress/lz4/common.c
M src/common/compress/lz4/common.h
M src/common/compress/lz4/compress.c
M src/common/compress/lz4/compress.h
M src/common/compress/lz4/decompress.c
M src/common/compress/lz4/decompress.h
M src/common/compress/zst/common.c
M src/common/compress/zst/common.h
M src/common/compress/zst/compress.c
M src/common/compress/zst/compress.h
M src/common/compress/zst/decompress.c
M src/common/compress/zst/decompress.h
M src/common/crypto/cipherBlock.c
M src/common/crypto/cipherBlock.h
M src/common/crypto/common.c
M src/common/crypto/common.h
M src/common/crypto/hash.c
M src/common/crypto/hash.h
M src/common/debug.c
M src/common/debug.h
M src/common/encode.c
M src/common/encode.h
M src/common/error.c
M src/common/error.h
M src/common/exec.c
M src/common/exec.h
M src/common/fork.c
M src/common/fork.h
M src/common/ini.c
M src/common/ini.h
M src/common/io/bufferRead.c
M src/common/io/bufferRead.h
M src/common/io/bufferWrite.c
M src/common/io/bufferWrite.h
M src/common/io/client.c
M src/common/io/client.h
M src/common/io/client.intern.h
M src/common/io/fd.c
M src/common/io/fd.h
M src/common/io/fdRead.c
M src/common/io/fdRead.h
M src/common/io/fdWrite.c
M src/common/io/fdWrite.h
M src/common/io/filter/buffer.c
M src/common/io/filter/buffer.h
M src/common/io/filter/filter.c
M src/common/io/filter/filter.h
M src/common/io/filter/filter.intern.h
M src/common/io/filter/group.c
M src/common/io/filter/group.h
M src/common/io/filter/sink.c
M src/common/io/filter/sink.h
M src/common/io/filter/size.c
M src/common/io/filter/size.h
M src/common/io/http/client.c
M src/common/io/http/client.h
M src/common/io/http/common.c
M src/common/io/http/common.h
M src/common/io/http/header.c
M src/common/io/http/header.h
M src/common/io/http/query.c
M src/common/io/http/query.h
M src/common/io/http/request.c
M src/common/io/http/request.h
M src/common/io/http/response.c
M src/common/io/http/response.h
M src/common/io/http/session.c
M src/common/io/http/session.h
M src/common/io/http/url.c
M src/common/io/http/url.h
M src/common/io/io.c
M src/common/io/io.h
M src/common/io/read.c
M src/common/io/read.h
M src/common/io/read.intern.h
M src/common/io/server.c
M src/common/io/server.h
M src/common/io/server.intern.h
M src/common/io/session.c
M src/common/io/session.h
M src/common/io/session.intern.h
M src/common/io/socket/client.c
M src/common/io/socket/client.h
M src/common/io/socket/common.c
M src/common/io/socket/common.h
M src/common/io/socket/server.c
M src/common/io/socket/server.h
M src/common/io/socket/session.c
M src/common/io/socket/session.h
M src/common/io/tls/client.c
M src/common/io/tls/client.h
M src/common/io/tls/common.c
M src/common/io/tls/common.h
M src/common/io/tls/server.c
M src/common/io/tls/server.h
M src/common/io/tls/session.c
M src/common/io/tls/session.h
M src/common/io/write.c
M src/common/io/write.h
M src/common/io/write.intern.h
M src/common/lock.c
M src/common/lock.h
M src/common/log.c
M src/common/log.h
M src/common/memContext.c
M src/common/memContext.h
M src/common/regExp.c
M src/common/regExp.h
M src/common/stackTrace.c
M src/common/stackTrace.h
M src/common/stat.c
M src/common/stat.h
M src/common/time.c
M src/common/time.h
M src/common/type/blob.c
M src/common/type/blob.h
M src/common/type/buffer.c
M src/common/type/buffer.h
M src/common/type/convert.c
M src/common/type/convert.h
M src/common/type/json.c
M src/common/type/json.h
M src/common/type/keyValue.c
M src/common/type/keyValue.h
M src/common/type/list.c
M src/common/type/list.h
M src/common/type/object.c
M src/common/type/object.h
M src/common/type/pack.c
M src/common/type/pack.h
M src/common/type/string.c
M src/common/type/string.h
M src/common/type/stringId.c
M src/common/type/stringId.h
M src/common/type/stringList.c
M src/common/type/stringList.h
M src/common/type/stringZ.c
M src/common/type/stringZ.h
M src/common/type/variant.c
M src/common/type/variant.h
M src/common/type/variantList.c
M src/common/type/variantList.h
M src/common/type/xml.c
M src/common/type/xml.h
M src/common/user.c
M src/common/user.h
M src/common/wait.c
M src/common/wait.h
M src/config/common.c
M src/config/common.h
M src/config/config.c
M src/config/config.h
M src/config/config.intern.h
M src/config/exec.c
M src/config/exec.h
M src/config/load.c
M src/config/load.h
M src/config/parse.c
M src/config/parse.h
M src/config/protocol.c
M src/config/protocol.h
M src/db/db.c
M src/db/db.h
M src/db/helper.c
M src/db/helper.h
M src/db/protocol.c
M src/db/protocol.h
M src/info/info.c
M src/info/info.h
M src/info/infoArchive.c
M src/info/infoArchive.h
M src/info/infoBackup.c
M src/info/infoBackup.h
M src/info/infoPg.c
M src/info/infoPg.h
M src/info/manifest.c
M src/info/manifest.h
M src/meson.build
M src/postgres/client.c
M src/postgres/client.h
M src/postgres/interface.c
M src/postgres/interface.h
M src/postgres/interface/page.c
M src/protocol/client.c
M src/protocol/client.h
M src/protocol/command.c
M src/protocol/command.h
M src/protocol/helper.c
M src/protocol/helper.h
M src/protocol/parallel.c
M src/protocol/parallel.h
M src/protocol/parallelJob.c
M src/protocol/parallelJob.h
M src/protocol/server.c
M src/protocol/server.h
M src/storage/azure/helper.c
M src/storage/azure/helper.h
M src/storage/azure/read.c
M src/storage/azure/read.h
M src/storage/azure/storage.c
M src/storage/azure/storage.h
M src/storage/azure/storage.intern.h
M src/storage/azure/write.c
M src/storage/azure/write.h
M src/storage/cifs/helper.c
M src/storage/cifs/helper.h
M src/storage/cifs/storage.c
M src/storage/cifs/storage.h
M src/storage/gcs/helper.c
M src/storage/gcs/helper.h
M src/storage/gcs/read.c
M src/storage/gcs/read.h
M src/storage/gcs/storage.c
M src/storage/gcs/storage.h
M src/storage/gcs/storage.intern.h
M src/storage/gcs/write.c
M src/storage/gcs/write.h
M src/storage/helper.c
M src/storage/helper.h
M src/storage/iterator.c
M src/storage/iterator.h
M src/storage/list.c
M src/storage/list.h
M src/storage/posix/read.c
M src/storage/posix/read.h
M src/storage/posix/storage.c
M src/storage/posix/storage.h
M src/storage/posix/storage.intern.h
M src/storage/posix/write.c
M src/storage/posix/write.h
M src/storage/read.c
M src/storage/read.h
M src/storage/read.intern.h
M src/storage/remote/protocol.c
M src/storage/remote/protocol.h
M src/storage/remote/read.c
M src/storage/remote/read.h
M src/storage/remote/storage.c
M src/storage/remote/storage.h
M src/storage/remote/write.c
M src/storage/remote/write.h
M src/storage/s3/helper.c
M src/storage/s3/helper.h
M src/storage/s3/read.c
M src/storage/s3/read.h
M src/storage/s3/storage.c
M src/storage/s3/storage.h
M src/storage/s3/storage.intern.h
M src/storage/s3/write.c
M src/storage/s3/write.h
M src/storage/storage.c
M src/storage/storage.h
M src/storage/storage.intern.h
M src/storage/write.c
M src/storage/write.h
M src/storage/write.intern.h
M test/src/command/test/build.c
Remove MacOS from CirrusCI.
commit : 9e29c01891225dd5f371b76d324366bbb3694ca4
author : David Steele <[email protected]>
date : Mon, 2 Jan 2023 15:11:37 +0700
committer: David Steele <[email protected]>
date : Mon, 2 Jan 2023 15:11:37 +0700
CirrusCI stopped supporting Intel but the arm builds are not working, even with the same steps that work on an arm Mac.
Remove to unstick the build pipeline until this can be resolved.
M .cirrus.yml
Fix formatting.
commit : 8993267df9864852efd59a9b5366e9a521a6c08e
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 23:33:45 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 23:33:45 +0700
M src/command/archive/get/get.c
Clean up storage headers and move posix internal type.
commit : 1793839e5a821a7177922e4cdad104eba772c3ec
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 19:12:35 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 19:12:35 +0700
M src/storage/azure/storage.c
M src/storage/gcs/storage.c
M src/storage/posix/read.c
M src/storage/posix/read.h
M src/storage/posix/storage.h
M src/storage/posix/storage.intern.h
M src/storage/posix/write.c
M src/storage/posix/write.h
M src/storage/remote/storage.c
M src/storage/s3/storage.c
Add meson unity build and tests.
commit : 4fb8a0ecdd12bdb01273cebbecf61f6beb22146d
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 17:13:41 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 17:13:41 +0700
This is immediately useful because it will detect any extern'd functions or variables that are not being used. It also detects functions or variables that are declared but not defined.
If a FV/VR_EXTERN macro is missing it will be detected either because of a mismatch in the declaration/definition or because a new defined symbol will appear in the nm test.
Eventually the unity build will be used to create a more optimized pgbackrest binary but that will need to wait.
A .github/workflows/symbol.out
M .github/workflows/test.yml
M doc/xml/release.xml
M meson.build
M meson_options.txt
M src/build.auto.h.in
M src/command/annotate/annotate.c
M src/command/annotate/annotate.h
M src/command/archive/common.c
M src/command/archive/common.h
M src/command/archive/get/file.c
M src/command/archive/get/file.h
M src/command/archive/get/get.c
M src/command/archive/get/get.h
M src/command/archive/get/protocol.c
M src/command/archive/get/protocol.h
M src/command/archive/push/file.c
M src/command/archive/push/file.h
M src/command/archive/push/protocol.c
M src/command/archive/push/protocol.h
M src/command/archive/push/push.c
M src/command/archive/push/push.h
M src/command/backup/backup.c
M src/command/backup/backup.h
M src/command/backup/common.c
M src/command/backup/common.h
M src/command/backup/file.c
M src/command/backup/file.h
M src/command/backup/pageChecksum.c
M src/command/backup/pageChecksum.h
M src/command/backup/protocol.c
M src/command/backup/protocol.h
M src/command/check/check.c
M src/command/check/check.h
M src/command/check/common.c
M src/command/check/common.h
M src/command/command.c
M src/command/command.h
M src/command/control/common.c
M src/command/control/common.h
M src/command/control/start.c
M src/command/control/start.h
M src/command/control/stop.c
M src/command/control/stop.h
M src/command/exit.c
M src/command/exit.h
M src/command/expire/expire.c
M src/command/expire/expire.h
M src/command/help/help.c
M src/command/help/help.h
M src/command/info/info.c
M src/command/info/info.h
M src/command/local/local.c
M src/command/local/local.h
M src/command/remote/remote.c
M src/command/remote/remote.h
M src/command/repo/common.c
M src/command/repo/common.h
M src/command/repo/create.c
M src/command/repo/create.h
M src/command/repo/get.c
M src/command/repo/get.h
M src/command/repo/ls.c
M src/command/repo/ls.h
M src/command/repo/put.c
M src/command/repo/put.h
M src/command/repo/rm.c
M src/command/repo/rm.h
M src/command/restore/file.c
M src/command/restore/file.h
M src/command/restore/protocol.c
M src/command/restore/protocol.h
M src/command/restore/restore.c
M src/command/restore/restore.h
M src/command/server/ping.c
M src/command/server/ping.h
M src/command/server/server.c
M src/command/server/server.h
M src/command/stanza/common.c
M src/command/stanza/common.h
M src/command/stanza/create.c
M src/command/stanza/create.h
M src/command/stanza/delete.c
M src/command/stanza/delete.h
M src/command/stanza/upgrade.c
M src/command/stanza/upgrade.h
M src/command/verify/file.c
M src/command/verify/file.h
M src/command/verify/protocol.c
M src/command/verify/protocol.h
M src/command/verify/verify.c
M src/command/verify/verify.h
M src/common/compress/bz2/common.c
M src/common/compress/bz2/common.h
M src/common/compress/bz2/compress.c
M src/common/compress/bz2/compress.h
M src/common/compress/bz2/decompress.c
M src/common/compress/bz2/decompress.h
M src/common/compress/gz/common.c
M src/common/compress/gz/common.h
M src/common/compress/gz/compress.c
M src/common/compress/gz/compress.h
M src/common/compress/gz/decompress.c
M src/common/compress/gz/decompress.h
M src/common/compress/helper.c
M src/common/compress/helper.h
M src/common/compress/helper.intern.h
M src/common/compress/lz4/common.c
M src/common/compress/lz4/common.h
M src/common/compress/lz4/compress.c
M src/common/compress/lz4/compress.h
M src/common/compress/lz4/decompress.c
M src/common/compress/lz4/decompress.h
M src/common/compress/zst/common.c
M src/common/compress/zst/common.h
M src/common/compress/zst/compress.c
M src/common/compress/zst/compress.h
M src/common/compress/zst/decompress.c
M src/common/compress/zst/decompress.h
M src/common/crypto/cipherBlock.c
M src/common/crypto/cipherBlock.h
M src/common/crypto/common.c
M src/common/crypto/common.h
M src/common/crypto/hash.c
M src/common/crypto/hash.h
M src/common/debug.c
M src/common/debug.h
M src/common/encode.c
M src/common/encode.h
M src/common/error.c
M src/common/error.h
M src/common/exec.c
M src/common/exec.h
M src/common/fork.c
M src/common/fork.h
M src/common/ini.c
M src/common/ini.h
M src/common/io/bufferRead.c
M src/common/io/bufferRead.h
M src/common/io/bufferWrite.c
M src/common/io/bufferWrite.h
M src/common/io/client.c
M src/common/io/client.h
M src/common/io/client.intern.h
M src/common/io/fd.c
M src/common/io/fd.h
M src/common/io/fdRead.c
M src/common/io/fdRead.h
M src/common/io/fdWrite.c
M src/common/io/fdWrite.h
M src/common/io/filter/buffer.c
M src/common/io/filter/buffer.h
M src/common/io/filter/filter.c
M src/common/io/filter/filter.h
M src/common/io/filter/filter.intern.h
M src/common/io/filter/group.c
M src/common/io/filter/group.h
M src/common/io/filter/sink.c
M src/common/io/filter/sink.h
M src/common/io/filter/size.c
M src/common/io/filter/size.h
M src/common/io/http/client.c
M src/common/io/http/client.h
M src/common/io/http/common.c
M src/common/io/http/common.h
M src/common/io/http/header.c
M src/common/io/http/header.h
M src/common/io/http/query.c
M src/common/io/http/query.h
M src/common/io/http/request.c
M src/common/io/http/request.h
M src/common/io/http/response.c
M src/common/io/http/response.h
M src/common/io/http/session.c
M src/common/io/http/session.h
M src/common/io/http/url.c
M src/common/io/http/url.h
M src/common/io/io.c
M src/common/io/io.h
M src/common/io/read.c
M src/common/io/read.h
M src/common/io/read.intern.h
M src/common/io/server.c
M src/common/io/server.h
M src/common/io/server.intern.h
M src/common/io/session.c
M src/common/io/session.h
M src/common/io/session.intern.h
M src/common/io/socket/client.c
M src/common/io/socket/client.h
M src/common/io/socket/common.c
M src/common/io/socket/common.h
M src/common/io/socket/server.c
M src/common/io/socket/server.h
M src/common/io/socket/session.c
M src/common/io/socket/session.h
M src/common/io/tls/client.c
M src/common/io/tls/client.h
M src/common/io/tls/common.c
M src/common/io/tls/common.h
M src/common/io/tls/server.c
M src/common/io/tls/server.h
M src/common/io/tls/session.c
M src/common/io/tls/session.h
M src/common/io/write.c
M src/common/io/write.h
M src/common/io/write.intern.h
M src/common/lock.c
M src/common/lock.h
M src/common/log.c
M src/common/log.h
M src/common/memContext.c
M src/common/memContext.h
M src/common/regExp.c
M src/common/regExp.h
M src/common/stackTrace.c
M src/common/stackTrace.h
M src/common/stat.c
M src/common/stat.h
M src/common/time.c
M src/common/time.h
M src/common/type/blob.c
M src/common/type/blob.h
M src/common/type/buffer.c
M src/common/type/buffer.h
M src/common/type/convert.c
M src/common/type/convert.h
M src/common/type/json.c
M src/common/type/json.h
M src/common/type/keyValue.c
M src/common/type/keyValue.h
M src/common/type/list.c
M src/common/type/list.h
M src/common/type/object.c
M src/common/type/object.h
M src/common/type/pack.c
M src/common/type/pack.h
M src/common/type/string.c
M src/common/type/string.h
M src/common/type/stringId.c
M src/common/type/stringId.h
M src/common/type/stringList.c
M src/common/type/stringList.h
M src/common/type/stringZ.c
M src/common/type/stringZ.h
M src/common/type/variant.c
M src/common/type/variant.h
M src/common/type/variantList.c
M src/common/type/variantList.h
M src/common/type/xml.c
M src/common/type/xml.h
M src/common/user.c
M src/common/user.h
M src/common/wait.c
M src/common/wait.h
M src/config/common.c
M src/config/common.h
M src/config/config.c
M src/config/config.h
M src/config/config.intern.h
M src/config/exec.c
M src/config/exec.h
M src/config/load.c
M src/config/load.h
M src/config/parse.c
M src/config/parse.h
M src/config/protocol.c
M src/config/protocol.h
M src/db/db.c
M src/db/db.h
M src/db/helper.c
M src/db/helper.h
M src/db/protocol.c
M src/db/protocol.h
M src/info/info.c
M src/info/info.h
M src/info/infoArchive.c
M src/info/infoArchive.h
M src/info/infoBackup.c
M src/info/infoBackup.h
M src/info/infoPg.c
M src/info/infoPg.h
M src/info/manifest.c
M src/info/manifest.h
M src/meson.build
M src/postgres/client.c
M src/postgres/client.h
M src/postgres/interface.c
M src/postgres/interface.h
M src/postgres/interface/page.c
M src/protocol/client.c
M src/protocol/client.h
M src/protocol/command.c
M src/protocol/command.h
M src/protocol/helper.c
M src/protocol/helper.h
M src/protocol/parallel.c
M src/protocol/parallel.h
M src/protocol/parallelJob.c
M src/protocol/parallelJob.h
M src/protocol/server.c
M src/protocol/server.h
M src/storage/azure/helper.c
M src/storage/azure/helper.h
M src/storage/azure/read.c
M src/storage/azure/read.h
M src/storage/azure/storage.c
M src/storage/azure/storage.h
M src/storage/azure/storage.intern.h
M src/storage/azure/write.c
M src/storage/azure/write.h
M src/storage/cifs/helper.c
M src/storage/cifs/helper.h
M src/storage/cifs/storage.c
M src/storage/cifs/storage.h
M src/storage/gcs/helper.c
M src/storage/gcs/helper.h
M src/storage/gcs/read.c
M src/storage/gcs/read.h
M src/storage/gcs/storage.c
M src/storage/gcs/storage.h
M src/storage/gcs/storage.intern.h
M src/storage/gcs/write.c
M src/storage/gcs/write.h
M src/storage/helper.c
M src/storage/helper.h
M src/storage/iterator.c
M src/storage/iterator.h
M src/storage/list.c
M src/storage/list.h
M src/storage/posix/read.c
M src/storage/posix/read.h
M src/storage/posix/storage.c
M src/storage/posix/storage.h
M src/storage/posix/storage.intern.h
M src/storage/posix/write.c
M src/storage/posix/write.h
M src/storage/read.c
M src/storage/read.h
M src/storage/read.intern.h
M src/storage/remote/protocol.c
M src/storage/remote/protocol.h
M src/storage/remote/read.c
M src/storage/remote/read.h
M src/storage/remote/storage.c
M src/storage/remote/storage.h
M src/storage/remote/write.c
M src/storage/remote/write.h
M src/storage/s3/helper.c
M src/storage/s3/helper.h
M src/storage/s3/read.c
M src/storage/s3/read.h
M src/storage/s3/storage.c
M src/storage/s3/storage.h
M src/storage/s3/storage.intern.h
M src/storage/s3/write.c
M src/storage/s3/write.h
M src/storage/storage.c
M src/storage/storage.h
M src/storage/storage.intern.h
M src/storage/write.c
M src/storage/write.h
M src/storage/write.intern.h
M test/src/command/test/build.c
M test/src/meson.build
Put logging functions unused by release builds into DEBUG blocks.
commit : 8aa2b101bbd9fe07971794bf4bb4c8d2a61c7b07
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 16:41:01 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 16:41:01 +0700
Also inline some functions that are needed in non-DEBUG builds.
M src/common/debug.c
M src/common/debug.h
M src/common/io/http/url.c
M src/common/io/http/url.h
M src/common/type/convert.c
M src/common/type/convert.h
M src/common/type/json.c
M src/common/type/json.h
M test/src/module/common/typeConvertTest.c
Use memcpy() instead of strncpy when source size is known.
commit : 4a64c5d80c9af2a3498943f326de7295679c63e6
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 15:49:32 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 15:49:32 +0700
In this case the destination will be large enough to hold the source so memcpy is more efficient.
Also, in highly optimized builds the compiler may warn for strncpy() when it can see that the source size won't include the terminator.
M src/common/type/convert.c
M src/common/type/string.c
M src/common/type/variant.c
Move storageHelperFree() to storageHelper test harness.
commit : 2332ce8ffc16494766f1f6ee07341242e2b7b7c2
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 13:14:27 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 13:14:27 +0700
This function was only used for testing so move into a test harness.
M src/storage/helper.c
M src/storage/helper.h
M test/define.yaml
M test/src/common/harnessConfig.c
A test/src/common/harnessStorageHelper.c
A test/src/common/harnessStorageHelper.h
Move regExpMatchPtr()/regExpMatchStr() to build/common/regExp module.
commit : 8b218158ae70136d7a2ddc5a7347f79e69fbeb13
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 12:54:33 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 12:54:33 +0700
Similar to b9be4fa5, these functions are not used by the core code so move them to the build module. The new implementation is a little less efficient but that is much less of a worry in the build/test code.
Also remove regExpMatchSize() since it was not longer needed.
M src/Makefile.in
A src/build/common/regExp.c
A src/build/common/regExp.h
M src/common/regExp.c
M src/common/regExp.h
M test/define.yaml
M test/src/common/harnessLog.c
M test/src/module/common/regExpTest.c
Use error*() getters where possible.
commit : 45ece13678f94c57777180710a7ea71a1c60971a
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 11:57:06 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 11:57:06 +0700
This makes it a little easier to change the underlying representation and ensures that the functions are used.
M src/common/error.c
Move xmlNodeAttribute() to build/common/xml module.
commit : fa9d831f9f722f28567c4997551cd6bd1d7077d3
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 11:09:50 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 11:09:50 +0700
Similar to b9be4fa5, this function was not used by the core code so move it to the build module.
M src/Makefile.in
M src/build/common/string.c
A src/build/common/xml.c
A src/build/common/xml.h
M src/build/help/parse.c
M src/build/help/parse.h
M src/common/type/xml.c
M src/common/type/xml.h
M src/meson.build
M test/define.yaml
Fix comment typo for strLower().
commit : c6264ad4cf55920558513127d4e221ce8e85eb28
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 10:31:15 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 10:31:15 +0700
M src/common/type/string.h
Move strReplace() and strUpper() to build/common/string module.
commit : 163a004f30675403eba2a619412bd803eba4d71a
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 10:26:11 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 10:26:11 +0700
Neither of these functions were used by the core code. strReplace() is only used in the tests but it doesn't hurt to put it in build since the build code is not distributed.
M src/Makefile.in
M src/build/common/render.h
A src/build/common/string.c
A src/build/common/string.h
M src/build/postgres/parse.h
M src/common/type/string.c
M src/common/type/string.h
M src/meson.build
M test/define.yaml
M test/src/command/test/build.h
M test/src/command/test/define.h
M test/src/common/harnessConfig.c
M test/src/meson.build
Add explicit keyword for covered modules included in other modules.
commit : d517d4a3283c0ccc5ca5d06593d1b244dd5e68b4
author : David Steele <[email protected]>
date : Sat, 31 Dec 2022 10:10:44 +0700
committer: David Steele <[email protected]>
date : Sat, 31 Dec 2022 10:10:44 +0700
This was done by checking the extension but it is possible to include a module that does not have a vendor or auto extension. Instead make it explicit that the module is included in another module.
Also change the variable from "include" to "included" to make it clearer what it indicates.
M test/define.yaml
M test/src/command/test/build.c
M test/src/command/test/define.c
M test/src/command/test/define.h
Put memContextSize() in a DEBUG block.
commit : 729d7f071dafe22f85201bfaf2bae461ec54d285
author : David Steele <[email protected]>
date : Fri, 30 Dec 2022 18:45:11 +0700
committer: David Steele <[email protected]>
date : Fri, 30 Dec 2022 18:45:11 +0700
This function is only used in unit tests so no need to include it in the release build.
M src/common/memContext.c
M src/common/memContext.h
Remove unused functions.
commit : cebbf0d012ad7204c4770efa3308daddc267415f
author : David Steele <[email protected]>
date : Fri, 30 Dec 2022 16:26:48 +0700
committer: David Steele <[email protected]>
date : Fri, 30 Dec 2022 16:26:48 +0700
These functions were either added with the intention that they would be used or they became obsolete over time.
M src/common/crypto/common.c
M src/common/crypto/common.h
M src/common/debug.h
M src/common/ini.c
M src/common/ini.h
M src/common/memContext.c
M src/common/memContext.h
M src/common/type/convert.c
M src/common/type/convert.h
M src/common/type/pack.c
M src/common/type/pack.h
M src/common/type/string.c
M src/common/type/string.h
M src/common/type/xml.c
M src/common/type/xml.h
M src/config/config.c
M src/config/config.h
M src/info/manifest.c
M src/info/manifest.h
M src/postgres/interface.c
M src/postgres/interface.h
M test/define.yaml
M test/src/common/harnessPack.c
M test/src/module/common/cryptoTest.c
M test/src/module/common/iniTest.c
M test/src/module/common/memContextTest.c
M test/src/module/common/typeConvertTest.c
M test/src/module/common/typePackTest.c
M test/src/module/common/typeStringTest.c
M test/src/module/common/typeXmlTest.c
M test/src/module/config/parseTest.c
M test/src/module/info/manifestTest.c
M test/src/module/postgres/interfaceTest.c
Remove declaration for function that is no longer defined.
commit : 6f0c652e2c50f288fc4f541a994281032856be2b
author : David Steele <[email protected]>
date : Fri, 30 Dec 2022 14:59:16 +0700
committer: David Steele <[email protected]>
date : Fri, 30 Dec 2022 14:59:16 +0700
M src/db/db.h
Mark functions not used externally as static.
commit : 416fadd60cc0401e5e730867d98ae59ff54f8dcd
author : David Steele <[email protected]>
date : Fri, 30 Dec 2022 14:48:31 +0700
committer: David Steele <[email protected]>
date : Fri, 30 Dec 2022 14:48:31 +0700
Also cleanup a stray linefeed.
M src/command/backup/backup.c
M src/command/repo/get.c
M src/command/repo/put.c
M src/command/verify/verify.c
M src/common/io/filter/buffer.c
M src/common/io/filter/size.c
M src/common/io/socket/session.h
M src/storage/posix/storage.c
M src/storage/posix/storage.intern.h
Restore errors when no backup matches the current version of PostgreSQL.
commit : b9be4fa54039e2c79fad0dc1552c7ffaf883004c
author : Stefan Fercot <[email protected]>
date : Thu, 29 Dec 2022 09:37:27 +0100
committer: GitHub <[email protected]>
date : Thu, 29 Dec 2022 09:37:27 +0100
It is probably not a good idea to restore the latest backup when it was not made from the current PostgreSQL version. If there is no backup after a stanza-upgrade then replicas might be built with a prior version leading to failures.
Add an error in this case if the latest backup would be used, i.e. --set or --type=time/lsn is not specified.
M doc/xml/release.xml
M src/command/restore/restore.c
M test/src/module/command/restoreTest.c
Fix improper formatting in config/parse module.
commit : aa1e72dfe662678919d3b01aa0e6454b677873ad
author : David Steele <[email protected]>
date : Thu, 29 Dec 2022 15:05:45 +0700
committer: David Steele <[email protected]>
date : Thu, 29 Dec 2022 15:05:45 +0700
The prior formatting worked but was confusing to read.
M src/config/parse.c
Updates and clarifications to index page.
commit : 36ee30d118ce6cc7720653a3d3a49a06c655c463
author : David Steele <[email protected]>
date : Wed, 28 Dec 2022 19:15:44 +0700
committer: GitHub <[email protected]>
date : Wed, 28 Dec 2022 19:15:44 +0700
In particular the section about other backup solutions not supporting parallel processing was no longer accurate, so reword it.
Also update some other sections that used older nomenclature, had awkward wording, or needed clarification.
M README.md
M doc/xml/index.xml
M doc/xml/release.xml
Clarify target-action behavior on various PostgreSQL versions.
commit : 84a3ff8b7ac1243c0b47c6585697f4fcf3c12065
author : Chris Bandy <[email protected]>
date : Tue, 27 Dec 2022 21:48:44 -0600
committer: GitHub <[email protected]>
date : Tue, 27 Dec 2022 21:48:44 -0600
The behavior of pause depends on the hot_standby parameter and the PostgreSQL version so mention both.
This behavior has been verified on PostgreSQL 9.6–15. PostgreSQL 12 is an inflection point because the behavior of an unset recovery_target_action with hot_standby=off changed in https://git.postgresql.org/gitweb/?p=postgresql.git;h=2dedf4d9a899b36d1a8ed29be5efbd1b31a8fe85.
M doc/xml/release.xml
M src/build/help/help.xml
Add replacement for linefeeds in monitoring example.
commit : ae258f604e634f1d2a760ffdb92dd359fd1129bb
author : David Steele <[email protected]>
date : Tue, 27 Dec 2022 20:28:38 +0700
committer: GitHub <[email protected]>
date : Tue, 27 Dec 2022 20:28:38 +0700
The copy command was converting \n to a linefeed, which the json conversion did not like. In a healthy repository there won't be any linefeeds but certain errors can contain them.
Fix by loading into a text field and then replacing the linefeed when converting to jsonb.
M doc/example/pgsql-pgbackrest-info.sql
M doc/xml/release.xml
Add compress-level range checking for each compress-type.
commit : 44da314adb2b63f96b1d571f822e91a0e412e984
author : David Steele <[email protected]>
date : Tue, 27 Dec 2022 20:05:08 +0700
committer: GitHub <[email protected]>
date : Tue, 27 Dec 2022 20:05:08 +0700
The prior range checking was done based on the valid values for gz. While this worked it was a subset of what is available for lz4 and zst.
Allow the range to be specified for each compress-type. Adding this functionality to the parse module would be a better solution but that is a bigger project than this fix deserves, at least for now.
M doc/lib/pgBackRestDoc/Custom/DocConfigData.pm
M doc/xml/release.xml
M src/build/config/config.yaml
M src/common/compress/bz2/compress.c
M src/common/compress/bz2/compress.h
M src/common/compress/gz/compress.c
M src/common/compress/gz/compress.h
M src/common/compress/helper.c
M src/common/compress/helper.intern.h
M src/common/compress/lz4/compress.c
M src/common/compress/lz4/compress.h
M src/common/compress/zst/compress.c
M src/common/compress/zst/compress.h
M src/config/load.c
M src/config/parse.auto.c.inc
M test/src/module/common/compressTest.c
M test/src/module/config/loadTest.c
Fix typo.
commit : 34110cfa0134d181c749cc040446f703b643bc9c
author : Stefan Fercot <[email protected]>
date : Tue, 27 Dec 2022 11:31:59 +0700
committer: David Steele <[email protected]>
date : Tue, 27 Dec 2022 11:31:59 +0700
M src/common/lock.c
Improve comment on forced WAL switch at backup start.
commit : 0b67389185558d4593be1ca56143de6a43e45f9f
author : David Steele <[email protected]>
date : Tue, 27 Dec 2022 09:18:17 +0700
committer: David Steele <[email protected]>
date : Tue, 27 Dec 2022 09:18:17 +0700
M src/db/db.c
Move function prototype to a better location in the header.
commit : a63e87ea2cd0efbf9e9b78adccdf7285a6876b3b
author : David Steele <[email protected]>
date : Fri, 23 Dec 2022 14:06:35 +0700
committer: David Steele <[email protected]>
date : Fri, 23 Dec 2022 14:06:35 +0700
M src/common/io/read.h
Add repository checksum to make verify and resume more efficient.
commit : 56b55f81e894c0b2875f92913bda8f0679009b17
author : David Steele <[email protected]>
date : Thu, 22 Dec 2022 09:26:26 +0700
committer: GitHub <[email protected]>
date : Thu, 22 Dec 2022 09:26:26 +0700
Calculate a checksum of the data stored in the repository when a file is transformed (e.g. compressed). This allows resume and verify to operate without needing to decompress/decrypt the data.
This can also be used to verify more complex formats such as block incremental and allow backups from the repository without needing to decompress the data to verify the checksum.
Add some basic encrypted tests to maintain coverage. These will be expanded in a future commit.
M doc/xml/release.xml
M src/command/backup/backup.c
M src/command/backup/file.c
M src/command/backup/file.h
M src/command/backup/protocol.c
M src/command/verify/verify.c
M src/info/manifest.c
M src/info/manifest.h
M test/lib/pgBackRestTest/Env/Host/HostBackupTest.pm
M test/src/module/command/backupTest.c
M test/src/module/command/verifyTest.c
M test/src/module/info/manifestTest.c
Store manifest checksums in memory more efficiently.
commit : 2ab845e2636fcd865032075b4dce9e520d094d87
author : David Steele <[email protected]>
date : Tue, 20 Dec 2022 16:35:27 +0700
committer: GitHub <[email protected]>
date : Tue, 20 Dec 2022 16:35:27 +0700
Manifest checksums were stored as hex-encoded strings due to legacy compatibility with Perl. Storing the checksums as binary in memory uses half the space and avoids many conversions.
There is no change to the on-disk manifest format which stores the checksum as a hex-encoded string.
M doc/xml/release.xml
M src/command/backup/backup.c
M src/command/backup/file.c
M src/command/backup/file.h
M src/command/backup/protocol.c
M src/command/restore/file.c
M src/command/restore/file.h
M src/command/restore/protocol.c
M src/command/restore/restore.c
M src/command/verify/file.c
M src/command/verify/file.h
M src/command/verify/protocol.c
M src/command/verify/verify.c
M src/common/crypto/hash.c
M src/common/crypto/hash.h
M src/info/manifest.c
M src/info/manifest.h
M test/src/module/command/backupTest.c
M test/src/module/command/restoreTest.c
M test/src/module/command/verifyTest.c
M test/src/module/info/manifestTest.c
Remove support for PostgreSQL 9.0/9.1/9.2.
commit : 77c721eb635c6d757d2d5ed6f2ffc083720c10a7
author : David Steele <[email protected]>
date : Tue, 20 Dec 2022 12:20:47 +0700
committer: GitHub <[email protected]>
date : Tue, 20 Dec 2022 12:20:47 +0700
Our new policy is to support ten versions of PostgreSQL, the five supported releases and the last five EOL releases. As of PostgreSQL 15, that means 9.0/9.1/9.2 are no longer supported by pgBackRest.
Remove all logic associated with 9.0/9.1/9.2 and update the tests.
Document the new support policy.
Update InfoPg to read/write control versions for the history in backup.info, since we can no longer rely on the mappings being available. In theory this could have been an issue after removing 8.3/8.4 if anybody was using a version that old.
M CONTRIBUTING.md
M README.md
M doc/xml/contributing.xml
M doc/xml/index.xml
M doc/xml/release.xml
M src/build/help/help.xml
M src/build/postgres/postgres.yaml
M src/command/archive/common.c
M src/command/backup/backup.c
M src/command/restore/restore.c
M src/command/verify/verify.c
M src/db/db.c
M src/info/infoPg.c
M src/info/infoPg.h
M src/info/manifest.c
M src/postgres/interface.c
M src/postgres/interface.h
M src/postgres/interface/version.intern.h
M src/postgres/interface/version.vendor.h
M src/postgres/version.h
M test/code-count/file-type.yaml
M test/container.yaml
M test/lib/pgBackRestTest/Common/DbVersion.pm
M test/lib/pgBackRestTest/Common/VmTest.pm
M test/lib/pgBackRestTest/Env/ExpireEnvTest.pm
M test/lib/pgBackRestTest/Env/Host/HostDbTest.pm
M test/lib/pgBackRestTest/Env/HostEnvTest.pm
M test/lib/pgBackRestTest/Env/Manifest.pm
M test/lib/pgBackRestTest/Module/Mock/MockExpireTest.pm
M test/lib/pgBackRestTest/Module/Real/RealAllTest.pm
M test/src/common/harnessPostgres.c
M test/src/common/harnessPostgres.h
D test/src/common/harnessPostgres/harness090.c
D test/src/common/harnessPostgres/harness091.c
D test/src/common/harnessPostgres/harness092.c
M test/src/common/harnessPostgres/harnessVersion.intern.h
M test/src/common/harnessPq.h
M test/src/module/build/postgresTest.c
M test/src/module/command/archiveCommonTest.c
M test/src/module/command/archiveGetTest.c
M test/src/module/command/backupTest.c
M test/src/module/command/checkTest.c
M test/src/module/command/restoreTest.c
M test/src/module/command/stanzaTest.c
M test/src/module/command/verifyTest.c
M test/src/module/db/dbTest.c
M test/src/module/info/infoPgTest.c
M test/src/module/info/manifestTest.c
M test/src/module/performance/typeTest.c
M test/src/module/postgres/interfaceTest.c
Use smaller type for decode tables.
commit : 17ce738ff749c50f4ca721144cd9addce9e895f2
author : David Steele <[email protected]>
date : Sun, 11 Dec 2022 20:05:31 +0700
committer: David Steele <[email protected]>
date : Sun, 11 Dec 2022 20:05:31 +0700
This saves a bit of space in the binary and should not have a noticeable impact on performance.
M src/common/encode.c
Add hex encode/decoding to decode module.
commit : 010efffb0c3c7935f789e5c560104e5a3019a28f
author : David Steele <[email protected]>
date : Sun, 11 Dec 2022 19:46:48 +0700
committer: David Steele <[email protected]>
date : Sun, 11 Dec 2022 19:46:48 +0700
This replaces the bufHex() function and also allows hex to be decoded.
M src/command/archive/push/file.c
M src/command/backup/backup.c
M src/command/backup/file.c
M src/command/restore/file.c
M src/command/verify/file.c
M src/command/verify/verify.c
M src/common/encode.c
M src/common/encode.h
M src/common/type/buffer.c
M src/common/type/buffer.h
M src/common/type/string.c
M src/info/info.c
M src/storage/gcs/write.c
M src/storage/s3/storage.c
M test/define.yaml
M test/src/common/harnessInfo.c
M test/src/common/harnessPack.c
M test/src/module/command/archivePushTest.c
M test/src/module/command/backupTest.c
M test/src/module/command/verifyTest.c
M test/src/module/common/cryptoTest.c
M test/src/module/common/encodeTest.c
M test/src/module/common/typeBufferTest.c
M test/src/module/common/typePackTest.c
M test/src/module/common/typeStringTest.c
M test/src/module/storage/s3Test.c
Rename EncodeType enum to EncodingType.
commit : 9a9ee8e6406721c5a1825b8a25baef944802c92d
author : David Steele <[email protected]>
date : Sun, 11 Dec 2022 18:55:25 +0700
committer: David Steele <[email protected]>
date : Sun, 11 Dec 2022 18:55:25 +0700
This avoids constructs such as decodeToBin(encodeBase64, ...) which are confusing since decode and encode are used in the same function call. decodeToBin(encodingBase64, ...) makes it clearer what is happening.
M src/command/stanza/common.c
M src/common/encode.c
M src/common/encode.h
M src/common/type/buffer.c
M src/common/type/buffer.h
M src/common/type/string.c
M src/common/type/string.h
M src/storage/azure/helper.c
M src/storage/azure/storage.c
M src/storage/gcs/storage.c
M src/storage/gcs/write.c
M src/storage/s3/storage.c
M test/src/module/common/encodeTest.c
M test/src/module/common/typeBufferTest.c
M test/src/module/common/typeStringTest.c
M test/src/module/storage/azureTest.c
M test/src/module/storage/s3Test.c
Update missing flag in storage/posix test.
commit : 1345caa3f70e24ff759967692c10c07e63f44d00
author : David Steele <[email protected]>
date : Wed, 7 Dec 2022 20:30:38 +0700
committer: David Steele <[email protected]>
date : Wed, 7 Dec 2022 20:30:38 +0700
The storageNewItrP() permissions test was running twice with the errorOnMissing flag set to false. Fix by setting to true for one test.
Also update the comments to be clearer about what the tests are doing and fix minor formatting.
M test/src/module/storage/posixTest.c
Fix typos.
commit : 81d84ab495bfeaf0102adce2425ab3a528bb8845
author : Stefan Fercot <[email protected]>
date : Wed, 7 Dec 2022 10:57:29 +0100
committer: Stefan Fercot <[email protected]>
date : Wed, 7 Dec 2022 10:57:29 +0100
M src/build/help/help.xml
Add backup test harness.
commit : 4dc632d57064420134f3a198fa18dc951d5bf574
author : David Steele <[email protected]>
date : Mon, 5 Dec 2022 14:15:15 +0800
committer: David Steele <[email protected]>
date : Mon, 5 Dec 2022 14:15:15 +0800
This allows test backups to be run in other test modules.
It is likely that more logic will be moved here but for now this suffices to get test backups working in the restore module.
M test/define.yaml
A test/src/common/harnessBackup.c
A test/src/common/harnessBackup.h
M test/src/module/command/backupTest.c
Add missing header in lock module.
commit : 96cf479d3c46b310b87e69bd2e19a30e71e5824c
author : David Steele <[email protected]>
date : Mon, 5 Dec 2022 14:00:25 +0800
committer: David Steele <[email protected]>
date : Mon, 5 Dec 2022 14:00:25 +0800
M src/common/lock.h
Begin v2.44 development.
commit : c972a9359beb5b75c4b0ea57bcb12a34fe5e7d84
author : David Steele <[email protected]>
date : Mon, 28 Nov 2022 17:56:59 +0800
committer: David Steele <[email protected]>
date : Mon, 28 Nov 2022 17:56:59 +0800
M doc/resource/git-history.cache
M doc/xml/release.xml
M meson.build
M src/build/configure.ac
M src/configure
M src/version.h