-
Notifications
You must be signed in to change notification settings - Fork 2
Comparing changes
Open a pull request
base repository: postgresql-cfbot/postgresql
base: cf/5160~1
head repository: postgresql-cfbot/postgresql
compare: cf/5160
- 5 commits
- 18 files changed
- 2 contributors
Commits on May 29, 2025
-
Specs to reproduce the issues with CREATE INDEX CONCURRENTLY and REIN…
…DEX CONCURRENTLY in scenarios involving INSERT ON CONFLICT DO UPDATE. These tests reproduce different error cases related to "duplicate key value violates unique constraint" where this error should not occur by design. * REINDEX CONCURRENTLY and UPSERT with inferred index * CREATE INDEX CONCURRENTLY and UPSERT with inferred indexes * REINDEX CONCURRENTLY on a partitioned table * REINDEX CONCURRENTLY with specified constraint name * CREATE INDEX CONCURRENTLY with predicates In each of these scenarios, the expected behavior is that the INSERT ON CONFLICT DO UPDATE should handle conflicts gracefully without raising a "duplicate key value violates unique constraint" error. However, due to the concurrent operations on the indexes, this error is encountered.
Configuration menu - View commit details
-
Copy full SHA for e621150 - Browse repository at this point
Copy the full SHA e621150View commit details -
Modify the infer_arbiter_indexes function to consider both indisvalid…
… and indisready indexes. Ensure that at least one indisvalid index is still required. The change ensures that all concurrent transactions utilize the same set of indexes as arbiters. This uniformity is required to avoid conditions that could lead to "duplicate key value violates unique constraint" errors during UPSERT operations. The patch resolves the issues in the following specs: * reindex_concurrently_upsert * index_concurrently_upsert * index_concurrently_upsert_predicate Despite the patch, the following specs are still affected: * reindex_concurrently_upsert_partitioned * reindex_concurrently_upsert_on_constraint
Configuration menu - View commit details
-
Copy full SHA for 11035e7 - Browse repository at this point
Copy the full SHA 11035e7View commit details -
Modify the infer_arbiter_indexes function to also look for indexes th…
…at match the specified named constraint to be used as arbiters. This ensures that the same set of arbiter indexes is used for all concurrent transactions in cases where REINDEX CONCURRENTLY processes an index used as a named constraint. The patch resolves the issues in the following specs: * reindex_concurrently_upsert_on_constraint Despite the patch, the following specs are still affected: * reindex_concurrently_upsert_partitioned
Configuration menu - View commit details
-
Copy full SHA for 77e7218 - Browse repository at this point
Copy the full SHA 77e7218View commit details -
Modify the ExecInitPartitionInfo function to consider partitioned ind…
…exes that are potentially processed by REINDEX CONCURRENTLY as arbiters as well. This is necessary to ensure that all concurrent transactions use the same set of arbiter indexes. The patch resolves the issues in the following specs: * reindex_concurrently_upsert_partitioned
Configuration menu - View commit details
-
Copy full SHA for 3c7afd5 - Browse repository at this point
Copy the full SHA 3c7afd5View commit details -
[CF 5160] v9 - Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY
This branch was automatically generated by a robot using patches from an email thread registered at: https://commitfest.postgresql.org/patch/5160 The branch will be overwritten each time a new patch version is posted to the thread, and also periodically to check for bitrot caused by changes on the master branch. Patch(es): https://www.postgresql.org/message-id/CADzfLwWtK9R3GvEp7ANfO3pE3dbpD3T99f9aGFMwV4HSerHE5w@mail.gmail.com Author(s): Michail Nikolaev
Commitfest Bot committedMay 29, 2025 Configuration menu - View commit details
-
Copy full SHA for 7112d41 - Browse repository at this point
Copy the full SHA 7112d41View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff cf/5160~1...cf/5160