Ответ 1
Определения
#define SQLITE_STATIC ((sqlite3_destructor_type)0)
#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1)
из <sqlite3.h>
не импортируются в Swift, возможно, из-за "небезопасного" перевода указателя.
Возможное определение Swift показано в SQLite.swift проект, в Statement.swift:
let SQLITE_STATIC = sqlite3_destructor_type(COpaquePointer(bitPattern: 0))
let SQLITE_TRANSIENT = sqlite3_destructor_type(COpaquePointer(bitPattern: -1))
Для Swift 2 вам понадобится
let SQLITE_STATIC = unsafeBitCast(0, sqlite3_destructor_type.self)
let SQLITE_TRANSIENT = unsafeBitCast(-1, sqlite3_destructor_type.self)
(взято из "Helpers.swift" из ветки Swift 2 проекта SQLite.swift).
Обновление для Swift 3:
let SQLITE_STATIC = unsafeBitCast(0, to: sqlite3_destructor_type.self)
let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)