Skip to content

Modernize SQLite feature support

Compare
Choose a tag to compare
@VaporBot VaporBot released this 12 Nov 12:06
· 19 commits to main since this release
c07d530
This patch was authored and released by @gwynne.

The following changes have been made:

  • SQLiteDatabase now vends the version of SQLite in use per the SQLDatabaseReportedVersion protocol.
  • UPSERT syntax is now available for SQLite when the runtime library version is new enough (3.24.0 or newer)
  • RETURNING syntax is now available for SQLite when the runtime library version is new enough (3.35.0 or newer)
  • When emitting placeholders for bound parameters, the numbered ?NNN syntax is now used instead of plain ? placeholders.
  • Requests to create columns of type .bigint (via SQLCreateTable or Fluent's SchemaBuilder) now map explicitly to the INTEGER type name, which has the same data size but will correctly enable auto-increment behavior if the column is a table's primary key (previously this only worked when specifying SQLDataType.int or Fluent equivalent).
  • Dropped support for Swift up to and including 5.4, 5.5 is now the minimum.
  • CI was heavily updated, with the same changes as were made to SQLiteNIO.

These changes depend on vapor/sqlite-nio#34.