Skip to content

Releases: pointfreeco/swift-structured-queries

0.13.0

20 Aug 23:03
b5b5a9e
Compare
Choose a tag to compare

What's Changed

  • Added: Support for distinct in PrimaryKeyedTable.TableColumns.count (#133).
  • Added: FTS5 support (#120).
  • Added: More flexible insert builder (#135).
  • Fixed: Add join overloads for Joins: Table to work around compiler bugs (#136).

Full Changelog: 0.12.1...0.13.0

0.12.1

12 Aug 17:25
2468f4e
Compare
Choose a tag to compare

What's Changed

  • Fixed: Make trigger types sendable. #131
  • Infrastructure: Update SelectStatements.md #130

Full Changelog: 0.12.0...0.12.1

0.12.0

11 Aug 18:35
Compare
Choose a tag to compare

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

06 Aug 17:48
bb12b34
Compare
Choose a tag to compare

What's Changed

  • Added: buildArray support for QueryFragmentBuilder<Bool> (#125).
  • Fixed: Generalize search operations to StringProtocol (#126).

Full Changelog: 0.10.0...0.11.0

0.10.0

04 Aug 20:20
6b3f436
Compare
Choose a tag to compare

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

18 Jul 23:15
Compare
Choose a tag to compare

What's Changed

  • Added: QueryExpression.jsonPatch (#105).
  • Added: QueryFragment can now specify as: 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

Full Changelog: 0.8.1...0.9.0

0.8.1

30 Jun 23:24
efd928f
Compare
Choose a tag to compare

What's Changed

  • Fixed: Revert #95 to fix regression (tested in #97).

Full Changelog: 0.8.0...0.8.1

0.8.0

23 Jun 18:26
Compare
Choose a tag to compare

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 to INSERT 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

Full Changelog: 0.7.0...0.8.0

0.7.0

17 Jun 20:17
6bd8700
Compare
Choose a tag to compare

What's Changed

  • Added: PrimaryKeyedTable now has a PrimaryKey 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: Drafts can now use many of the helpers defined on their parent table type, including find and various dynamic member lookup helpers (#84).
  • Added: jsonGroupArray improvements, including isDistinct and an overload for automatically filtering optionals (#60).
  • Added: where and having 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

0.6.0

10 Jun 16:53
Compare
Choose a tag to compare

What's Changed

  • Added: Expand optional protocol to abstract some and none. #63
  • Added: Fix Table.count(filter:), etc. #66
  • Added: Insert with specific unique constraint by @rcarver in #56
  • Fixed: Macro fixes for release/archive builds and Swift 6.2. #71

New Contributors

Full Changelog: 0.5.1...0.6.0