Skip to content

Releases: Kitura/Swift-Kuery

Remove support for Swift 4.x; update CI rules and github org references

21 Aug 21:20
b9f5355
Compare
Choose a tag to compare
Update TravisCI rules (remove Swift 4.x; add Swift 5.4); update githu…

…b org to Kitura (#204)

3.0.1

10 Apr 16:34
Compare
Choose a tag to compare

Support Swift 5

3.0.0

18 Dec 14:07
Compare
Choose a tag to compare

Swift Kuery 3.0 includes the following updates:

  • API updated to be consistently asynchronous in design
  • New API added for result handling
  • Column building moved to plugins

The release contains breaking API and behavior changes.

For further details please see the included MigrationGuide.md

2.0.0

07 Jun 10:13
Compare
Choose a tag to compare
  • Add case protection for PostgreSQL #130 (Breaking Change)
  • Improve Foreign Key Support #133
  • Add AUTO INCREMENT support for SQLite #136
  • Handle failure of ConnectionPool connection generator #137

Notes

Add case protection for PostgreSQL #130 is a breaking change. Prior to this change all values for table and column names passed into the underlying database were converted to lower case by the PostgreSQL database. With the change the values are now wrapped to ensure the case is respected by the PostgreSQL database.

If you have previously created a database that specifies mixed case table or column names you will encounter issues that may include:

  • Table does not exist.
  • Column does not exist.
  • Queries returning no data.

To continue using your existing database you can align the table and column names in your application with the actual values in the database.

Any raw queries you use may also require updating to ensure your table and column names are wrapped appropriately.

Consider a simple example:

For the table defined as myTable

class MyTable : Table {
        let aColumn = Column("a")
        let tableName = "myTable"
}

Your previous raw select statement

SELECT aColumn FROM myTable

should be updated to

SELECT "aColumn" FROM "myTable"

if you wish to use the mixed case column names, or

SELECT acolumn FROM mytable

to continue using a previously created instance of myTable.

If you build your select statement through the SwiftKuery API the table and column names will automatically be wrapped. In this case should you wish to use a previously created database you would need to change the table definition as follows

class MyTable : Table {
        let acolumn = Column("a")
        let tableName = "mytable"
}

1.3.1

30 Apr 15:46
Compare
Choose a tag to compare
  • Fixed not using provided date formatter (#132)

1.3.0

19 Apr 12:44
a95ae01
Compare
Choose a tag to compare
  • fix: Connection Pool should not vend dead connections (#123, #127)
  • fix: Enable Connection Pool to recover from zero capacity (#128)
  • feat: Add UUID type (#125)

1.2.0

17 Apr 15:55
3bbaacc
Compare
Choose a tag to compare
  • Add initializer for creating a Table from a [Column], rather than by reflection (#121)

1.1.0

17 Apr 15:50
Compare
Choose a tag to compare
  • Add a flag to indicate whether to return the ID resulting from an insert query (#118)

1.0.0

30 Oct 19:25
Compare
Choose a tag to compare

What's New

  • Makes full migration to Swift 4

Add Swift 4 Support

12 Sep 12:46
Compare
Choose a tag to compare
Add Swift 4 support (#102)

* Swift 4 Linux fixes

* Linux Swift 4 fixes

* Remove comments

* Reduce force unwraps