Upgrading SQLite.swift
This document outlines breaking changes between major versions and provides guidance on how to update your code.
Upgrading from 0.13 to 0.14
Version 0.14 introduced several API changes to improve consistency and clarity.
-
Expression.asSQL()is nowdescription: TheasSQL()method onExpressionhas been removed. Expressions now conform toCustomStringConvertible, so you can get their SQL representation using thedescriptionproperty or by converting them to aString.Before (0.13):
let sql = email.asSQL()After (0.14):
let sql = email.description // or let sql = "\(email)" -
Statement.prepareRowIterator()is now onConnection: TheprepareRowIterator()method has been moved fromStatementtoConnection. This provides a more consistent API for preparing queries.Before (0.13):
let statement = try db.prepare("SELECT * FROM users") let rowIterator = statement.prepareRowIterator()After (0.14):
let rowIterator = try db.prepareRowIterator("SELECT * FROM users") // or with a query object let rowIterator = try db.prepareRowIterator(users) -
Connection.registerTokenizerhas been removed: The functionality to register custom FTS4 tokenizers has been removed from the public API. -
Setter.asSQL()is nowdescription: Similar toExpression, theasSQL()method onSetterhas been replaced by conformance toCustomStringConvertible.Before (0.13):
let setter = email <- "new@example.com" let sql = setter.asSQL()After (0.14):
let setter = email <- "new@example.com" let sql = setter.description // or let sql = "\(setter)"