All Projects → Kitura → Swift-Kuery-SQLite

Kitura / Swift-Kuery-SQLite

Licence: Apache-2.0 license
An SQLite plugin for the Swift-Kuery framework

Programming Languages

swift
15916 projects

Kitura

APIDoc Build Status - Master macOS Linux Apache 2 Slack Status

Swift-Kuery-SQLite

SQLite plugin for the Swift-Kuery framework. It enables you to use Swift-Kuery to manipulate data in an SQLite database.

SQLite installation

To use Swift-Kuery-SQLite you must install SQLite.

macOS

You can install SQLite with Homebrew:

$ brew install sqlite

Or, if you prefer MacPorts, you can use that too, though note that you need to symlink a file into the place that Homebrew installs it:

$ port install sqlite3
$ mkdir -p /usr/local/opt/sqlite/include
$ ln -s /opt/local/include/sqlite3.h /usr/local/opt/sqlite/include/

Linux

$ sudo apt-get install sqlite3 libsqlite3-dev

Usage

Add dependencies

Add the Swift-Kuery-SQLite package to the dependencies within your application’s Package.swift file. Substitute "x.x.x" with the latest Swift-Kuery-SQLite release.

.package(url: "https://github.com/IBM-Swift/Swift-Kuery-SQLite.git", from: "x.x.x")

Add SwiftKuerySQLite to your target's dependencies:

.target(name: "example", dependencies: ["SwiftKuerySQLite"]),

Import package

import SwiftKuerySQLite

Using Swift-Kuery-SQLite

First create an instance of Swift-Kuery-SQLite by calling:

let connection = SQLiteConnection(filename: "myDB.db")

You don't have to pass a filename, if you choose not to pass in a filename then your database will be in-memory.

To establish a connection call:

connection.connect() { result in
    guard result.success else {
        // Connection unsuccessful
        return
    }
    // Connection succesful
    // Use connection
}

If you want to have multiple connections to your database you can create a ConnectionPool as follows:

let pool = SQLiteConnection.createPool(filename: "myDB.db", poolOptions: ConnectionPoolOptions(initialCapacity: 10, maxCapacity: 30))

pool.getConnection() { connection, error in
    guard let connection = connection else {
        // Handle error
        return
    }
    // Use connection
}

Note, you don't have to pass a filename to the createPool method, if you choose not to pass in a filename then your pool will be shared in-memory.

You now have a connection that can be used to execute SQL queries created using Swift-Kuery. View the Kuery documentation for more information, or see the Database Connectivity with Kuery chapter of the Kitura Until Dawn guidebook/tutorial.

API Documentation

For more information visit our API reference.

Community

We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!

License

This library is licensed under Apache 2.0. Full license text is available in LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].