Port of #64 (release/1.1, published as 1.1.0-RC.2) and #65 (develop) to release/1.2. Commit 7874e6e is a cherry-pick of c6edde7; it differs from the develop commit 2837f41 only in the <revision> line of pom.xml, which this pull request does not change.
Rule
The PostgreSQL 17 journal settings query gains an eleventh column: to_regprocedure('aurora_version()') IS NOT NULL (true on Amazon Aurora PostgreSQL, false on stock PostgreSQL 17, never raises).
full_page_writes qualifies when it is on, or when it is off and that column is true (PostgresJournalDatabase.tornPagesPrevented).
Everything else is unchanged: stock PostgreSQL with full_page_writes = off is still refused, and synchronous_commit, fsync, recovery, isolation, time zone and lock timeout are checked the same way on Aurora. The refusal message is unchanged.
See #64 for the defect, the tests and what they simulate.
What merging publishes
release/1.2 head is 4df3f17 (tag v1.2.0-RC.1) with <revision>1.2.0-RC.1</revision>. A push to release/1.2 runs build.yaml -> KofTwentyTwo/ci-workflowsmaven.yaml@v1, whose release/X.Y rule publishes X.Y.0-RC.N+1. Merging this pull request therefore publishes 1.2.0-RC.2, commits Bump version to 1.2.0-RC.2 [skip ci] and pushes tag v1.2.0-RC.2. 1.2.0-RC.2 is not in the registry and no such tag exists today. The same flow published 1.1.0-RC.2 from the merge of #64 (run 7345).
Verification
Local, Windows 11, Java 21, Docker 29.9.2, commit 7874e6e:
./mvnw -B -DpostgresJournalTests=true verify, one run: 335 tests run, 0 failures, 0 errors, 11 skipped, Checkstyle 0 violations, All coverage checks have been met, BUILD SUCCESS. Within it PostgresUploadJournalTest (real postgres:17 container, includes the three Aurora cases) ran 15 tests with 0 failures, 0 errors, 0 skipped, and PostgresJournalDatabaseTest ran 3 with 0 failures. The 11 skipped are the opt-in MySqlUploadJournalTest.
No gate was skipped. Maven was given a settings file that only adds the QRun-IO Gitea registry as a repository, as the CI workflow does.
The jar built from this commit has the same CRC as the published qbit-collaboration-1.1.0-RC.2.jar for every .class entry (312 entries each). Only pom.properties, pom.xml, help/qbit-collaboration.yaml and qbit-collaboration.properties differ; they carry the version and the dependency versions.
Port of #64 (`release/1.1`, published as `1.1.0-RC.2`) and #65 (`develop`) to `release/1.2`. Commit `7874e6e` is a cherry-pick of `c6edde7`; it differs from the `develop` commit `2837f41` only in the `<revision>` line of `pom.xml`, which this pull request does not change.
## Rule
- The PostgreSQL 17 journal settings query gains an eleventh column: `to_regprocedure('aurora_version()') IS NOT NULL` (true on Amazon Aurora PostgreSQL, false on stock PostgreSQL 17, never raises).
- `full_page_writes` qualifies when it is `on`, or when it is `off` and that column is true (`PostgresJournalDatabase.tornPagesPrevented`).
- Everything else is unchanged: stock PostgreSQL with `full_page_writes = off` is still refused, and `synchronous_commit`, `fsync`, recovery, isolation, time zone and lock timeout are checked the same way on Aurora. The refusal message is unchanged.
See #64 for the defect, the tests and what they simulate.
## What merging publishes
`release/1.2` head is `4df3f17` (tag `v1.2.0-RC.1`) with `<revision>1.2.0-RC.1</revision>`. A push to `release/1.2` runs `build.yaml` -> `KofTwentyTwo/ci-workflows` `maven.yaml@v1`, whose `release/X.Y` rule publishes `X.Y.0-RC.N+1`. Merging this pull request therefore publishes `1.2.0-RC.2`, commits `Bump version to 1.2.0-RC.2 [skip ci]` and pushes tag `v1.2.0-RC.2`. `1.2.0-RC.2` is not in the registry and no such tag exists today. The same flow published `1.1.0-RC.2` from the merge of #64 (run 7345).
## Verification
Local, Windows 11, Java 21, Docker 29.9.2, commit `7874e6e`:
- `./mvnw -B -DpostgresJournalTests=true verify`, one run: 335 tests run, 0 failures, 0 errors, 11 skipped, Checkstyle 0 violations, `All coverage checks have been met`, BUILD SUCCESS. Within it `PostgresUploadJournalTest` (real `postgres:17` container, includes the three Aurora cases) ran 15 tests with 0 failures, 0 errors, 0 skipped, and `PostgresJournalDatabaseTest` ran 3 with 0 failures. The 11 skipped are the opt-in `MySqlUploadJournalTest`.
- No gate was skipped. Maven was given a settings file that only adds the QRun-IO Gitea registry as a repository, as the CI workflow does.
- The jar built from this commit has the same CRC as the published `qbit-collaboration-1.1.0-RC.2.jar` for every `.class` entry (312 entries each). Only `pom.properties`, `pom.xml`, `help/qbit-collaboration.yaml` and `qbit-collaboration.properties` differ; they carry the version and the dependency versions.
Not merged, tagged or released by the author.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The PostgreSQL 17 journal qualification refused every call on Amazon Aurora
PostgreSQL, which reports full_page_writes=off and does not expose the
parameter in its cluster parameter group.
- The settings query gains an eleventh column,
to_regprocedure('aurora_version()') IS NOT NULL, which is true on Aurora,
false on stock PostgreSQL 17 and never raises.
- full_page_writes=off is accepted only when that column is true. Stock
PostgreSQL with full_page_writes=off is still refused, and synchronous_commit,
fsync, recovery, isolation, time zone and lock timeout are unchanged on Aurora.
- The decision is the pure function tornPagesPrevented, covered by an always-on
unit test. The opt-in real PostgreSQL 17 suite simulates Aurora with a
function named aurora_version() and full_page_writes=off on the server.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Port of #64 (
release/1.1, published as1.1.0-RC.2) and #65 (develop) torelease/1.2. Commit7874e6eis a cherry-pick ofc6edde7; it differs from thedevelopcommit2837f41only in the<revision>line ofpom.xml, which this pull request does not change.Rule
to_regprocedure('aurora_version()') IS NOT NULL(true on Amazon Aurora PostgreSQL, false on stock PostgreSQL 17, never raises).full_page_writesqualifies when it ison, or when it isoffand that column is true (PostgresJournalDatabase.tornPagesPrevented).full_page_writes = offis still refused, andsynchronous_commit,fsync, recovery, isolation, time zone and lock timeout are checked the same way on Aurora. The refusal message is unchanged.See #64 for the defect, the tests and what they simulate.
What merging publishes
release/1.2head is4df3f17(tagv1.2.0-RC.1) with<revision>1.2.0-RC.1</revision>. A push torelease/1.2runsbuild.yaml->KofTwentyTwo/ci-workflowsmaven.yaml@v1, whoserelease/X.Yrule publishesX.Y.0-RC.N+1. Merging this pull request therefore publishes1.2.0-RC.2, commitsBump version to 1.2.0-RC.2 [skip ci]and pushes tagv1.2.0-RC.2.1.2.0-RC.2is not in the registry and no such tag exists today. The same flow published1.1.0-RC.2from the merge of #64 (run 7345).Verification
Local, Windows 11, Java 21, Docker 29.9.2, commit
7874e6e:./mvnw -B -DpostgresJournalTests=true verify, one run: 335 tests run, 0 failures, 0 errors, 11 skipped, Checkstyle 0 violations,All coverage checks have been met, BUILD SUCCESS. Within itPostgresUploadJournalTest(realpostgres:17container, includes the three Aurora cases) ran 15 tests with 0 failures, 0 errors, 0 skipped, andPostgresJournalDatabaseTestran 3 with 0 failures. The 11 skipped are the opt-inMySqlUploadJournalTest.qbit-collaboration-1.1.0-RC.2.jarfor every.classentry (312 entries each). Onlypom.properties,pom.xml,help/qbit-collaboration.yamlandqbit-collaboration.propertiesdiffer; they carry the version and the dependency versions.Not merged, tagged or released by the author.
🤖 Generated with Claude Code
The PostgreSQL 17 journal qualification refused every call on Amazon Aurora PostgreSQL, which reports full_page_writes=off and does not expose the parameter in its cluster parameter group. - The settings query gains an eleventh column, to_regprocedure('aurora_version()') IS NOT NULL, which is true on Aurora, false on stock PostgreSQL 17 and never raises. - full_page_writes=off is accepted only when that column is true. Stock PostgreSQL with full_page_writes=off is still refused, and synchronous_commit, fsync, recovery, isolation, time zone and lock timeout are unchanged on Aurora. - The decision is the pure function tornPagesPrevented, covered by an always-on unit test. The opt-in real PostgreSQL 17 suite simulates Aurora with a function named aurora_version() and full_page_writes=off on the server. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>