X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/744612b5d258474e367710b870a5caaed7d11ab9..HEAD:/ITSQLite3Database.h diff --git a/ITSQLite3Database.h b/ITSQLite3Database.h index ed13477..b08327d 100644 --- a/ITSQLite3Database.h +++ b/ITSQLite3Database.h @@ -2,22 +2,20 @@ * ITFoundation * ITSQLite3Database.h * - * Copyright (c) 2008 by iThink Software. - * All Rights Reserved. - * - * $Id$ + * Copyright (c) 2008 iThink Software * */ #import #import -static int sqlite3_bind_objc_object(sqlite3_stmt *statement, int index, id object); -static id sqlite3_column_objc_object(sqlite3_stmt *statement, int columnIndex); +extern int sqlite3_bind_objc_object(sqlite3_stmt *statement, int index, id object); +extern id sqlite3_column_objc_object(sqlite3_stmt *statement, int columnIndex); @interface ITSQLite3Database : NSObject { NSString *dbPath; sqlite3 *db; + NSRecursiveLock *dbLock; } - (id)initWithPath:(NSString *)path; @@ -29,13 +27,18 @@ static id sqlite3_column_objc_object(sqlite3_stmt *statement, int columnIndex); - (BOOL)rollback; - (BOOL)rollbackTransaction; -- (BOOL)executeQuery:(NSString *)query va_args:(va_list)args; - (BOOL)executeQuery:(NSString *)query, ...; -- (NSDictionary *)fetchRow:(NSString *)query va_args:(va_list)args; +// returns a dictionary with column names as keys, or nil - (NSDictionary *)fetchRow:(NSString *)query, ...; -- (NSArray *)fetchTable:(NSString *)query va_args:(va_list)args; +// returns an array of dictionaries with column names as keys, or an empty array - (NSArray *)fetchTable:(NSString *)query, ...; +// returns a single column value, or nil +- (id)fetchRowColumn:(NSString *)query, ...; + +// returns an array of single column values, or an empty array +- (NSArray *)fetchTableColumn:(NSString *)query, ...; + @end