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 onExpression
has been removed. Expressions now conform toCustomStringConvertible
, so you can get their SQL representation using thedescription
property 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 fromStatement
toConnection
. 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.registerTokenizer
has been removed: The functionality to register custom FTS4 tokenizers has been removed from the public API. -
Setter.asSQL()
is nowdescription
: Similar toExpression
, theasSQL()
method onSetter
has 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)"