GPKGConnectionPool

Objective-C

@interface GPKGConnectionPool : NSObject

Swift

class GPKGConnectionPool : NSObject

Connection pool to manage retrieving a sqlite3 connection to a database file. Connections should be released after the database operation has completed. Opens connections as needed and keeps a configured amount of connections open for us.

  • Get the number of unused connections to keep open and available for use

    Declaration

    Objective-C

    + (int)openConnectionsPerPool;

    Swift

    class func openConnectionsPerPool() -> Int32

    Return Value

    open connection per pool

  • Set the number of unused connections to keep open and available for use

    Declaration

    Objective-C

    + (void)setOpenConnectionsPerPool:(int)connections;

    Swift

    class func setOpenConnectionsPer(_ connections: Int32)

    Parameters

    connections

    open connection per pool

  • Get the check connections state, when true used connections are checked to see if they are left open for long periods of time or indefinitly

    Declaration

    Objective-C

    + (BOOL)checkConnections;

    Swift

    class func checkConnections() -> Bool

    Return Value

    check connections flag

  • Set the check connections state, when true used connections are checked to see if they are left open for long periods of time or indefinitly

    Declaration

    Objective-C

    + (void)setCheckConnections:(BOOL)check;

    Swift

    class func setCheckConnections(_ check: Bool)

    Parameters

    check

    check connections flag

  • Get the check connections frequency in seconds as the minimum time to wait before checking for stale open connections

    Declaration

    Objective-C

    + (int)checkConnectionsFrequency;

    Swift

    class func checkConnectionsFrequency() -> Int32

    Return Value

    check frequency in seconds

  • Set the check connections frequency in seconds as the minimum time to wait before checking for stale open connections

    Declaration

    Objective-C

    + (void)setCheckConnectionsFrequency:(int)frequency;

    Swift

    class func setCheckConnectionsFrequency(_ frequency: Int32)

    Parameters

    frequency

    check frequency in seconds

  • Get the check connections warning time in seconds as the time an open connection causes warnings for being stale

    Declaration

    Objective-C

    + (int)checkConnectionsWarningTime;

    Swift

    class func checkConnectionsWarningTime() -> Int32

    Return Value

    warning time in seconds

  • Set the check connections warning time in seconds as the time an open connection causes warnings for being stale

    Declaration

    Objective-C

    + (void)setCheckConnectionsWarningTime:(int)time;

    Swift

    class func setCheckConnectionsWarningTime(_ time: Int32)

    Parameters

    time

    warning time in seconds

  • Get the maintain statck traces state, when check connections is enabled and when true, stack traces are maintained from the thread that checks out a connection

    Declaration

    Objective-C

    + (BOOL)maintainStackTraces;

    Swift

    class func maintainStackTraces() -> Bool

    Return Value

    maintain stack traces flag

  • Set the maintain statck traces state, when check connections is enabled and when true, stack traces are maintained from the thread that checks out a connection

    Declaration

    Objective-C

    + (void)setMaintainStackTraces:(BOOL)maintain;

    Swift

    class func setMaintainStackTraces(_ maintain: Bool)

    Parameters

    maintain

    maintain stack traces flag

  • Initialize

    Declaration

    Objective-C

    - (instancetype)initWithDatabaseFilename:(NSString *)filename;

    Swift

    init!(databaseFilename filename: String!)

    Parameters

    filename

    GeoPackage filename

    Return Value

    new connection

  • Close the connection pool, closing all connections

    Declaration

    Objective-C

    - (void)close;

    Swift

    func close()
  • Get a connection for single database reads (do not maintain open result sets), such as counts. The connection must be released when done.

    Declaration

    Objective-C

    - (GPKGDbConnection *)connection;

    Swift

    func connection() -> GPKGDbConnection!

    Return Value

    connection

  • Get a connection for database reads that maintain open result sets, such as row queries. The connection must be released when done.

    Declaration

    Objective-C

    - (GPKGDbConnection *)resultConnection;

    Swift

    func resultConnection() -> GPKGDbConnection!

    Return Value

    connection for result sets

  • Get a connection for database updates. The connection must be released when done.

    Declaration

    Objective-C

    - (GPKGDbConnection *)writeConnection;

    Swift

    func writeConnection() -> GPKGDbConnection!

    Return Value

    connection for writing

  • Begin an exclusive transaction on the database

    Declaration

    Objective-C

    - (void)beginTransaction;

    Swift

    func beginTransaction()
  • Begin an exclusive transaction on the database, resetting other open connections upon commit

    Declaration

    Objective-C

    - (void)beginResettableTransaction;

    Swift

    func beginResettableTransaction()
  • Commit an active transaction

    Declaration

    Objective-C

    - (void)commitTransaction;

    Swift

    func commitTransaction()
  • Rollback an active transaction

    Declaration

    Objective-C

    - (void)rollbackTransaction;

    Swift

    func rollbackTransaction()
  • Determine if currently within a transaction

    Declaration

    Objective-C

    - (BOOL)inTransaction;

    Swift

    func inTransaction() -> Bool

    Return Value

    true if in transaction

  • Release a connection, either adding it back to available pool connections or closing it

    Declaration

    Objective-C

    - (BOOL)releaseConnection:(GPKGDbConnection *)connection;

    Swift

    func releaseConnection(_ connection: GPKGDbConnection!) -> Bool

    Parameters

    connection

    connection

    Return Value

    true if released

  • Release a connection by id, either adding it back to available pool connections or closing it

    Declaration

    Objective-C

    - (BOOL)releaseConnectionWithId:(NSNumber *)connectionId;

    Swift

    func releaseConnection(withId connectionId: NSNumber!) -> Bool

    Parameters

    connectionId

    connection id

    Return Value

    true if released

  • Total connection count of open available and used connections

    Declaration

    Objective-C

    - (NSUInteger)connectionCount;

    Swift

    func connectionCount() -> UInt

    Return Value

    connection count

  • Add a custom function to be created on write connections

    Declaration

    Objective-C

    - (void)addWriteFunction:(GPKGConnectionFunction *)function;

    Swift

    func addWrite(_ function: GPKGConnectionFunction!)

    Parameters

    function

    write connection function

  • Add a custom function to be created on write connections

    Declaration

    Objective-C

    - (void)addWriteFunctions:(NSArray<GPKGConnectionFunction *> *)functions;

    Swift

    func addWrite(_ functions: [GPKGConnectionFunction]!)

    Parameters

    functions

    write connection functions

  • Execute the statement once on all open connections, waiting for used connections

    Declaration

    Objective-C

    - (void)execAllConnectionStatement:(NSString *)statement;

    Swift

    func execAllConnectionStatement(_ statement: String!)

    Parameters

    statement

    SQL statement

  • Execute the statement on all open and new connections, waiting for used connections

    Declaration

    Objective-C

    - (void)execPersistentAllConnectionStatement:(NSString *)statement
                                          asName:(NSString *)name;

    Swift

    func execPersistentAllConnectionStatement(_ statement: String!, asName name: String!)

    Parameters

    statement

    SQL statement

    name

    unique statement key name

  • Remove a persistent statement

    Declaration

    Objective-C

    - (NSString *)removePersistentAllConnectionStatementWithName:(NSString *)name;

    Swift

    func removePersistentAllConnectionStatement(withName name: String!) -> String!

    Parameters

    name

    SQL statement key name

    Return Value

    removed statement or nil if not found

  • Clear all persistent statements

    Declaration

    Objective-C

    - (int)clearPersistentStatements;

    Swift

    func clearPersistentStatements() -> Int32

    Return Value

    removed statement count