Changelog
- a42b6e7 Add a slicer that cuts a table into blocks of at most block_size rows
- a9ff6db Add the max_html_rows setting
- 0de9ebe Address recent CVEs
- f0457d5 Check the client key matches the certificate before installing
- 5b37fb9 Coderabbit review
- 158e61f Count a key on a leaf bound in one Merkle tree leaf
- abaab8c Count every copy of a row in the block hash
- b5c49eb Create the XOR operator in the ACE schema, not in search_path.
- 8a64636 Cut Merkle tree leaves with the slicer
- 4829f02 Cut table-diff blocks with the slicer
- 23d24ce Describe the block hash functions.
- ae4f4af Describe the open first block in the Merkle tree design notes
- 8e47afd Disable parallel query on ACE connections
- c9d8475 Do not apply trim_scale to numeric arrays
- f4204e2 Document schema-diff --compare=structure
- f51b615 Document the HTML report limit
- b470405 Fit the cutting workers under --max-connections
- 2e0fbcc Fix Coderabbitai recommendations.
- 557892d Fix four bugs in repair plans built in the HTML report
- 9561f09 Give the first Merkle tree block no lower bound
- 207a48a Give the hash_version column no default
- 74214a1 Give the table-diff pool room for the cutting workers
- 81b5315 Give the test workflow a read-only token
- 2570b81 Hash Merkle tree leaves in one place, and let each node run at its pace
- d53940e Hash each row and combine the row hashes with XOR
- 622c235 Install the repo client certificate before configuring the pgEdge repos
- 86c0f1d Keep every leaf of a Merkle tree in the algorithm of its hash version
- b3153c5 Keep one helper for open range bounds
- 5822e51 Keep the key order of blocks in the slicer
- 9d791df Key rows and block bounds by identity, not by their Go rendering
- 62589cf Let the slicer choose its default number of parts
- 43c99c1 Make mtree parallelism controllable and predictable
- 18ad6ad Make the key order of the HTML diff report total
- 9100ff5 Merge pull request #170 from pgEdge/fix/ACE-218/mtree-cpu
- 32e8d5e Merge pull request #173 from pgEdge/ace-222
- 3ec41a6 Merge pull request #174 from pgEdge/ace-223
- 8e347d5 Merge pull request #177 from pgEdge/fix/SPOC-725/ci-all-tests
- 47328cf Note that primary key columns are read in the order of the constraint.
- fd5b909 Number the blocks of a ranges file from 0
- 2b0522a Pin the builder action by commit SHA and verify the certificate chain issuer
- 8cbbb1d Pin the output settings on every ACE connection
- 7275ef3 Prepare the 3.0.0 release notes and version.
- 990acff Quote key columns in the mtree split queries
- dfa282c Read primary key columns in the order of the index
- 77e5ea7 Read table metadata from pg_catalog instead of information_schema
- 4651a83 Refuse mtree on partitioned tables and inheritance parents
- 81cc1e4 Remove Windows support
- 1c39c12 Remove an inheritance parent from the publication on mtree teardown-table
- 35fe24b Remove only the diff files of the test table in first-block tests
- be8f44f Remove the TABLESAMPLE block bounds query
- aa1f72d Remove the unused ResetPositionsByStart queries
- 23e663e Remove unused mtree block queries
- 0d51707 Removes bullseye from supported platform list
- a788c5b Rename the html_report key of the embedded report data
- 22068dc Report the rows counted by the cut as total_rows_checked
- 75df0d8 Revert "Check the client key matches the certificate before installing"
- 6a46b3b Revert "Install the repo client certificate before configuring the pgEdge repos"
- c588c41 Revert "Pin the builder action by commit SHA and verify the certificate chain issuer"
- 29530b6 Revert "Scope the issuer check, reject expired certificates, and fail on a failed repo rewrite"
- 23d11ae Revert "Verify the certificate and its issuer are within their validity period"
- 774f5cc Run every test package in CI, each test once
- 16b3064 Scope the issuer check, reject expired certificates, and fail on a failed repo rewrite
- b3360ab Share one connection pool per node across the mtree diff
- f87d3d0 Show at most max_html_rows rows per node pair in the HTML report
- d02bf81 Skip unreadable tables in schema-diff and repset-diff, check schema USAGE
- e8b7f5e Split the HTML report writer into smaller functions
- b3c9ddc Stop creating the XOR operator; call bytea_xor directly.
- 25fa13b Stop requiring pgcrypto
- 729ead4 Stream the HTML diff report to disk
- 3592a9a Take the leaves of the tie test from a ranges file
- ce79b51 Take the parts of a filtered cut from a sample
- b88d570 Test the block hash changes of #172 through the diff commands.
- 7842e8a Test the block hash on a real server
- 52bb07f Treat an all-NULL range bound as open in mtree range helpers
- 77f9ed7 Verify the certificate and its issuer are within their validity period
- 86af353 Wait for a restarted node in the node-failure tests
- 7dcbfdd Warn about reports left by earlier Windows builds
- 87a6cf0 ci: run query, diff, and repair unit tests
- 1543cb4 ci: run the new schema-diff and scope tests
- fa1787f feat(mtree): refuse foreign tables and parents with foreign children
- 8d64169 feat(queries): read a table's inheritance tree in one recursive query
- abbc135 feat(schema-diff): report skipped foreign tables; skip them in repset-diff
- 8f23a97 feat: add a package to collect and compare table structure across nodes
- 7b9baf6 feat: add a scope package for resolving which tables to compare
- 13abad3 feat: add schema-diff --compare=structure
- 1707c5d feat: give table-diff's schema-mismatch error a real diff
- 1e9e967 feat: refuse foreign tables, views, and partitioned tables with foreign partitions with a clear message
- ccedc3d fix(mtree): do not report a match when part of the comparison failed
- e35897f fix(mtree): send decoded pkey values, not the rendered map key
- e812f32 fix(mtree): sort block bounds the way the server sorts them
- 9df6058 fix(repset-diff): leave out a relation refused on any node, not just where it was refused
- 19cce48 fix(repset-diff): leave out relations ACE cannot compare instead of failing the run on them
- 4976a1b fix(security): write ACE artifacts owner-only instead of trusting the umask
- bdf7d01 fix: correct five reporting defects in schema structure comparison
- 0582014 fix: name every non-table relation kind, and say why a foreign table cannot be compared
- bd84575 fix: reconcile ace.example.yaml with the template
config initwrites - b534efa fix: rename ace.yaml to ace.example.yaml so
config initworks in a checkout - 26478e0 refactor: extract Spock topology reading into its own package
- a9d4f8b refactor: name the reference config ace.sample.yaml
- d4b5556 table-diff: remove the 1 MB limit on bytea columns
Released by GoReleaser.