Releases: pointfreeco/swift-structured-queries
Releases · pointfreeco/swift-structured-queries
0.14.0
0.13.0
0.12.1
0.12.0
What's Changed
- Added: Swift 6.2 support for default main actor isolation (#128).
Full Changelog: 0.11.0...0.12.0
0.11.0
What's Changed
- Added:
buildArraysupport forQueryFragmentBuilder<Bool>(#125). - Fixed: Generalize search operations to
StringProtocol(#126).
Full Changelog: 0.10.0...0.11.0
0.10.0
What's Changed
- Added:
QueryExpression<Codable>.jsonObject()(#124). - Fixed: Work around Swift parameter pack bugs affecting single-join selects (thanks @KayLeung, #121).
- Fixed: Add
TableDefinitiondynamic subscript for better compiler errors (#123). - Fixed: Remove
#sqlliteral requirement (#122).
New Contributors
Full Changelog: 0.9.0...0.10.0
0.9.0
What's Changed
- Added:
QueryExpression.jsonPatch(#105). - Added:
QueryFragmentcan now specifyas:in interpolation (#106).#sql("\(Date(), as: Date.UnixTimeRepresentation.self)")
- Added: Support for generated columns(thanks @remimarsal, #101; #111; #112).
@Column(generated: .stored) let isPastDue: Bool
- Added:
PrimaryKeyedTable.primaryKey(#110). - Added:
Table.none, for producing empty queries (#119). - Re-added: Support for
excludedkeyword in upsert clauses (#98). This was originally added in 0.8.0 but was removed in 0.8.1 to fix a regression. - Fixed:
jsonGroupArray()consistently applies its filter (thanks @seanwoodward, #104). - Fixed: Apply default scope to
Table.{delete,update}()(#117). - Fixed:
Where.{and,or,not}()no longer produces invalid SQL when used with predicate-less queries (#118). - Fixed: Support Archiving for Mac Catalyst (thanks @robfeldmann, #116).
New Contributors
- @seanwoodward made their first contribution in #104
- @remimarsal made their first contribution in #101
- @robfeldmann made their first contribution in #116
Full Changelog: 0.8.1...0.9.0
0.8.1
0.8.0
What's Changed
- Added: Type-safe
CREATE TEMPORARY TRIGGERbuilder (#82). - Added: Allow 'find' to work with query expressions (#86).
- Added: Generalize
INfor any sequence of expressions (#87). - Added:
Table.exists()(#88). - Added: Relax
INSERT-SELECTto work with partial select statements (#89). - Added: Introduce
excludedtoINSERTupsert clauses (#95). - Fixed: Output proper sequence number in
QueryFragment.prepare(thanks @skyien, #90; #92). - Fixed:
INSERT-SELECTtype-checking for#sqlselections (#91). - Fixed: Check if
assertQueryresults are expected to be empty (thanks @natemann, #65). - Infrastructure: Ignore and remove
.swiftpmdirectory (#85). - Infrastructure: Documentation fixes (thanks @bradhowes, #93).
New Contributors
- @skyien made their first contribution in #90
- @bradhowes made their first contribution in #93
Full Changelog: 0.7.0...0.8.0
0.7.0
What's Changed
- Added:
PrimaryKeyedTablenow has aPrimaryKeyprimary associated type (#69). - Added:
QueryExpression<Optional>.map,flatMapfor unwrapping optional expressions (#80). - Added:
QueryFragment.prepare, for preparing SQL and bindings for a database driver (#78). - Added:
Drafts can now use many of the helpers defined on their parent table type, includingfindand various dynamic member lookup helpers (#84). - Added:
jsonGroupArrayimprovements, includingisDistinctand an overload for automatically filtering optionals (#60). - Added:
whereandhavingcan now return optional booleans (#61). - Fixed: Remove trailing comma to restore Swift 6.0 support (#75).
- Fixed: Allow
group(by:)to work with#sqlstrings without qualifying the expression type (#79). - Fixed:
QueryExpression.min,max()now work with any type, not just integers (thanks @Graveion, #76).
New Contributors
Full Changelog: 0.6.0...0.7.0