Releases: pointfreeco/swift-structured-queries
Releases · pointfreeco/swift-structured-queries
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:
buildArray
support 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
TableDefinition
dynamic subscript for better compiler errors (#123). - Fixed: Remove
#sql
literal requirement (#122).
New Contributors
Full Changelog: 0.9.0...0.10.0
0.9.0
What's Changed
- Added:
QueryExpression.jsonPatch
(#105). - Added:
QueryFragment
can 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
excluded
keyword 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 TRIGGER
builder (#82). - Added: Allow 'find' to work with query expressions (#86).
- Added: Generalize
IN
for any sequence of expressions (#87). - Added:
Table.exists()
(#88). - Added: Relax
INSERT
-SELECT
to work with partial select statements (#89). - Added: Introduce
excluded
toINSERT
upsert clauses (#95). - Fixed: Output proper sequence number in
QueryFragment.prepare
(thanks @skyien, #90; #92). - Fixed:
INSERT
-SELECT
type-checking for#sql
selections (#91). - Fixed: Check if
assertQuery
results are expected to be empty (thanks @natemann, #65). - Infrastructure: Ignore and remove
.swiftpm
directory (#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:
PrimaryKeyedTable
now has aPrimaryKey
primary associated type (#69). - Added:
QueryExpression<Optional>.map,flatMap
for unwrapping optional expressions (#80). - Added:
QueryFragment.prepare
, for preparing SQL and bindings for a database driver (#78). - Added:
Draft
s can now use many of the helpers defined on their parent table type, includingfind
and various dynamic member lookup helpers (#84). - Added:
jsonGroupArray
improvements, includingisDistinct
and an overload for automatically filtering optionals (#60). - Added:
where
andhaving
can now return optional booleans (#61). - Fixed: Remove trailing comma to restore Swift 6.0 support (#75).
- Fixed: Allow
group(by:)
to work with#sql
strings 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