Skip to content

Allow generic upsert conflict resolutions#197

Merged
gwynne merged 3 commits intomainfrom
allow-generic-upsert-conflict-resolutions
Mar 16, 2026
Merged

Allow generic upsert conflict resolutions#197
gwynne merged 3 commits intomainfrom
allow-generic-upsert-conflict-resolutions

Conversation

@gwynne
Copy link
Member

@gwynne gwynne commented Mar 16, 2026

These changes are now available in 3.35.0

It is now possible to specify an SQLInsert's conflictStrategy as a generic SQLExpression, using the new genericConflictStrategy property, around which conflictStrategy is now a wrapper. All existing code will continue to work unchanged. This is intended for use by extensions to SQLKit which, e.g. provide access to database-specific conflict resolution syntax.

Also updates the docs to resolve lots of warnings and some broken links.

@gwynne gwynne requested review from 0xTim, MahdiBM and ptoffy March 16, 2026 15:30
@gwynne gwynne added the semver-minor Contains new APIs label Mar 16, 2026
@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (c0ea243) to head (951845f).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #197   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          100       100           
  Lines         2606      2608    +2     
=========================================
+ Hits          2606      2608    +2     
Files with missing lines Coverage Δ
...ers/Implementations/SQLConflictUpdateBuilder.swift 100.00% <100.00%> (ø)
...s/Prototypes/SQLCommonTableExpressionBuilder.swift 100.00% <ø> (ø)
...it/Builders/Prototypes/SQLCommonUnionBuilder.swift 100.00% <ø> (ø)
...ssions/Clauses/SQLConflictResolutionStrategy.swift 100.00% <100.00%> (ø)
Sources/SQLKit/Expressions/Queries/SQLInsert.swift 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@gwynne gwynne merged commit 46d1a64 into main Mar 16, 2026
22 checks passed
@gwynne gwynne deleted the allow-generic-upsert-conflict-resolutions branch March 16, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver-minor Contains new APIs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants