     func executeQuery<T>(sqlStr: String, factory: ((SDRow) -> T)) -> Cursor<T>
     func executeQuery<T>(sqlStr: String, factory: ((SDRow) -> T), withArgs args: [AnyObject?]?) -> Cursor<T>
     func executeQueryUnsafe<T>(sqlStr: String, factory: ((SDRow) -> T), withArgs args: [AnyObject?]?) -> Cursor<T>
-    func executeQueryUnsafe<T>(sqlStr: String, factory: ((SDRow) -> T)) -> Cursor<T>
     func interrupt()
     func checkpoint()
     func checkpoint(mode: Int32)

     * Returns a live cursor that holds the query statement and database connection.
     * Instances of this class *must not* leak outside of the connection queue!
     */
    func executeQueryUnsafe<T>(sqlStr: String, factory: ((SDRow) -> T)) -> Cursor<T> {
        return self.executeQueryUnsafe(sqlStr, factory: factory, withArgs: nil)
    }

    func executeQueryUnsafe<T>(sqlStr: String, factory: ((SDRow) -> T), withArgs args: [AnyObject?]?) -> Cursor<T> {
        var error: NSError?
        let statement: SQLiteDBStatement?

    }

    private func pragma<T>(pragma: String, factory: SDRow -> T) -> T? {
        let cursor = executeQueryUnsafe("PRAGMA \(pragma)", factory: factory, withArgs: nil)
        defer { cursor.close() }
        return cursor[0]
    }
