Fix duplicate key handling after expression index alters - #3179
Conversation
|
|
@fulghum DOLT
|
|
SummaryCoverage focuses on database schema changes and data integrity: adding nullable fields while preserving existing rows and constraints, rejecting duplicate writes, maintaining transaction safety, and handling conflict updates and inserts. It includes normal write flows, constraint and transaction edge cases, repeated conflicting operations, and recovery behavior across fresh connections. Safe to merge — the only failure is a pre-existing medium-severity database conflict-update defect that is explicitly not attributable to this PR; the PR introduces no observed regressions or new failures. Tests run by ItoAdditional Findings DetailsThese findings are unrelated to the current changes but were observed during testing. 🟡 Conflict update rejects valid changes
Evidence PackageTip Reply with @itoqa to send us feedback on this test run. |
867c753 to
0ca9215
Compare
Commit: SummaryCoverage spans core data-management behavior: preserving existing records through schema changes, maintaining visible and expression-based indexes, enforcing uniqueness, and keeping later and concurrent writes correct. It also exercises edge cases such as duplicate writes, conflict retries, and standard upsert behavior, with both successful workflows and compatibility gaps identified. Safe to merge — the observed failures are pre-existing database compatibility issues unrelated to this PR, with no regressions or newly introduced failures attributable to the change. They are worth flagging for later, but do not present a merge blocker for this pull request. Tests run by ItoAdditional Findings DetailsThese findings are unrelated to the current changes but were observed during testing. 🟠 Conflict retries fail instead of updating the existing row
Evidence Package🟡 Conflict update cannot use incoming values
Evidence Package🟡 Conflict update rejects incoming values
Evidence Package🟡 Unique-key conflict update fails
Evidence PackageTip Reply with @itoqa to send us feedback on this test run. |
0ca9215 to
6dd9d86
Compare
Commit: SummaryCoverage spans normal table changes and data updates, along with edge cases involving duplicate keys, conflicting writes, ignored conflicts, transaction rollback, and continued use of existing data and indexes. The exercised behavior is healthy across schema evolution, data integrity, error handling, and recovery flows. Safe to merge — the run found no failures attributable to this PR and showed no regressions in the covered data-integrity or recovery behaviors. No merge-blocking issue was identified. Tests run by Ito
Tip Reply with @itoqa to send us feedback on this test run. |
zachmu
left a comment
There was a problem hiding this comment.
LGTM, just one comment about testing coverage
6dd9d86 to
56bd1f0
Compare
Commit: SummaryCoverage focuses on database write integrity across normal updates and deletes, duplicate and conflicting inserts, uniqueness enforcement, no-op behavior, nullable fields, and reuse of values after deletion. The exercised edge cases remained healthy, with correct row counts, updates, cleanup, and conflict handling throughout. Safe to merge — the run found no regressions, new failures, or previously flagged failures attributable to this PR, and all exercised data-integrity behaviors passed. No merge-blocking risk was identified. Tests run by Ito
Tip Reply with @itoqa to send us feedback on this test run. |

Adds PostgreSQL regression coverage for duplicate-key errors and ON CONFLICT operations after adding a column to a table with an expression index. The underlying Dolt writer fix is now present on main.
Fixes #3082