Inherits from NSObject
Declared in FMDatabasePool.h
FMDatabasePool.m

Overview

Pool of FMDatabase objects.

See also

Warning: Before using FMDatabasePool, please consider using FMDatabaseQueue instead.

If you really really really know what you’re doing and FMDatabasePool is what you really really need (ie, you’re using a read only database), OK you can use it. But just be careful not to deadlock!

For an example on deadlocking, search for: ONLY_USE_THE_POOL_IF_YOU_ARE_DOING_READS_OTHERWISE_YOULL_DEADLOCK_USE_FMDATABASEQUEUE_INSTEAD in the main.m file.

Tasks

Other Methods

Other Methods

Properties

delegate

Delegate object

@property (atomic, assign) id delegate

Declared In

FMDatabasePool.h

maximumNumberOfDatabasesToCreate

Maximum number of databases to create

@property (atomic, assign) NSUInteger maximumNumberOfDatabasesToCreate

Declared In

FMDatabasePool.h

openFlags

Open flags

@property (atomic, readonly) int openFlags

Declared In

FMDatabasePool.h

path

Database path

@property (atomic, retain) NSString *path

Declared In

FMDatabasePool.h

Class Methods

databasePoolWithPath:

Create pool using path.

+ (instancetype)databasePoolWithPath:(NSString *)aPath

Parameters

aPath

The file path of the database.

Return Value

The FMDatabasePool object. nil on error.

Declared In

FMDatabasePool.h

databasePoolWithPath:flags:

Create pool using path and specified flags

+ (instancetype)databasePoolWithPath:(NSString *)aPath flags:(int)openFlags

Parameters

aPath

The file path of the database.

openFlags

Flags passed to the openWithFlags method of the database

Return Value

The FMDatabasePool object. nil on error.

Declared In

FMDatabasePool.h

Instance Methods

countOfCheckedInDatabases

Number of checked-in databases in pool

- (NSUInteger)countOfCheckedInDatabases

Return Value

Number of databases

Declared In

FMDatabasePool.h

countOfCheckedOutDatabases

Number of checked-out databases in pool

- (NSUInteger)countOfCheckedOutDatabases

Return Value

Number of databases

Declared In

FMDatabasePool.h

countOfOpenDatabases

Total number of databases in pool

- (NSUInteger)countOfOpenDatabases

Return Value

Number of databases

Declared In

FMDatabasePool.h

inDatabase:

Synchronously perform database operations in pool.

- (void)inDatabase:(void ( ^ ) ( FMDatabase *db ))block

Parameters

block

The code to be run on the FMDatabasePool pool.

Declared In

FMDatabasePool.h

inDeferredTransaction:

Synchronously perform database operations in pool using deferred transaction.

- (void)inDeferredTransaction:(void ( ^ ) ( FMDatabase *db , BOOL *rollback ))block

Parameters

block

The code to be run on the FMDatabasePool pool.

Declared In

FMDatabasePool.h

inSavePoint:

Synchronously perform database operations in pool using save point.

- (NSError *)inSavePoint:(void ( ^ ) ( FMDatabase *db , BOOL *rollback ))block

Parameters

block

The code to be run on the FMDatabasePool pool.

Return Value

NSError object if error; nil if successful.

Discussion

Warning: You can not nest these, since calling it will pull another database out of the pool and you’ll get a deadlock. If you need to nest, use [FMDatabase startSavePointWithName:error:] instead.

Declared In

FMDatabasePool.h

inTransaction:

Synchronously perform database operations in pool using transaction.

- (void)inTransaction:(void ( ^ ) ( FMDatabase *db , BOOL *rollback ))block

Parameters

block

The code to be run on the FMDatabasePool pool.

Declared In

FMDatabasePool.h

initWithPath:

Create pool using path.

- (instancetype)initWithPath:(NSString *)aPath

Parameters

aPath

The file path of the database.

Return Value

The FMDatabasePool object. nil on error.

Declared In

FMDatabasePool.h

initWithPath:flags:

Create pool using path and specified flags.

- (instancetype)initWithPath:(NSString *)aPath flags:(int)openFlags

Parameters

aPath

The file path of the database.

openFlags

Flags passed to the openWithFlags method of the database

Return Value

The FMDatabasePool object. nil on error.

Declared In

FMDatabasePool.h

releaseAllDatabases

Release all databases in pool

- (void)releaseAllDatabases

Declared In

FMDatabasePool.h