Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ccgus/fmdb.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FMDB.podspec2
-rw-r--r--README.markdown2
-rw-r--r--fmdb.xcodeproj/project.pbxproj16
-rw-r--r--src/fmdb/FMDatabase.h10
-rw-r--r--src/fmdb/FMDatabase.m16
-rw-r--r--src/fmdb/FMDatabaseAdditions.h2
-rw-r--r--src/fmdb/FMDatabaseAdditions.m2
-rwxr-xr-xsrc/fmdb/FMDatabaseQueue.m2
-rw-r--r--src/fmdb/FMResultSet.h2
-rw-r--r--src/fmdb/FMResultSet.m2
10 files changed, 37 insertions, 19 deletions
diff --git a/FMDB.podspec b/FMDB.podspec
index 0871ee0..eb610dc 100644
--- a/FMDB.podspec
+++ b/FMDB.podspec
@@ -40,7 +40,7 @@ Pod::Spec.new do |s|
# use SQLCipher and enable -DSQLITE_HAS_CODEC flag
s.subspec 'SQLCipher' do |ss|
- ss.dependency 'SQLCipher'
+ ss.dependency 'SQLCipher', '~> 4.0'
ss.source_files = 'src/fmdb/FM*.{h,m}'
ss.exclude_files = 'src/fmdb.m'
ss.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC -DHAVE_USLEEP=1', 'HEADER_SEARCH_PATHS' => 'SQLCipher' }
diff --git a/README.markdown b/README.markdown
index a9b5dd4..012c524 100644
--- a/README.markdown
+++ b/README.markdown
@@ -247,7 +247,7 @@ if ([s next]) {
Each of these methods also has a `{type}ForColumnIndex:` variant that is used to retrieve the data based on the position of the column in the results, as opposed to the column's name.
-Typically, there's no need to `-close` an `FMResultSet` yourself, since that happens when either the result set is deallocated, or the parent database is closed.
+Typically, there's no need to `-close` an `FMResultSet` yourself, since that happens when either the result set is exhausted. However, if you only pull out a single request or any other number of requests which don't exhaust the result set, you will need to call the `-close` method on the `FMResultSet`.
### Closing
diff --git a/fmdb.xcodeproj/project.pbxproj b/fmdb.xcodeproj/project.pbxproj
index 072f0ad..a64fe5d 100644
--- a/fmdb.xcodeproj/project.pbxproj
+++ b/fmdb.xcodeproj/project.pbxproj
@@ -812,6 +812,7 @@
GCC_PREFIX_HEADER = src/sample/fmdb_Prefix.pch;
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNUSED_PARAMETER = NO;
INSTALL_PATH = "$(HOME)/bin";
LIBRARY_SEARCH_PATHS = "$(LIBRARY_SEARCH_PATHS)";
PRODUCT_NAME = fmdb;
@@ -833,6 +834,7 @@
GCC_PREFIX_HEADER = src/sample/fmdb_Prefix.pch;
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNUSED_PARAMETER = NO;
INSTALL_PATH = "$(HOME)/bin";
LIBRARY_SEARCH_PATHS = "$(LIBRARY_SEARCH_PATHS)";
PRODUCT_NAME = fmdb;
@@ -853,6 +855,7 @@
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_EXPLICIT_OWNERSHIP_TYPE = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -873,6 +876,7 @@
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
@@ -893,6 +897,7 @@
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_EXPLICIT_OWNERSHIP_TYPE = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -908,6 +913,7 @@
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
SDKROOT = macosx;
};
@@ -955,6 +961,7 @@
TARGETED_DEVICE_FAMILY = 4;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
+ WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Debug;
};
@@ -997,6 +1004,7 @@
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
+ WATCHOS_DEPLOYMENT_TARGET = 2.0;
};
name = Release;
};
@@ -1269,6 +1277,7 @@
GCC_WARN_PEDANTIC = NO;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_PARAMETER = NO;
INFOPLIST_FILE = "Tests/Tests-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 10.8;
ONLY_ACTIVE_ARCH = YES;
@@ -1309,6 +1318,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_PARAMETER = NO;
INFOPLIST_FILE = "Tests/Tests-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 10.8;
OTHER_LDFLAGS = "-lsqlite3";
@@ -1323,6 +1333,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
COMBINE_HIDPI_IMAGES = YES;
@@ -1330,6 +1341,8 @@
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+ GCC_WARN_UNUSED_PARAMETER = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_NAME = FMDB;
PUBLIC_HEADERS_FOLDER_PATH = include/FMDB;
};
@@ -1339,12 +1352,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
+ GCC_WARN_UNUSED_PARAMETER = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_NAME = FMDB;
PUBLIC_HEADERS_FOLDER_PATH = include/FMDB;
ZERO_LINK = NO;
diff --git a/src/fmdb/FMDatabase.h b/src/fmdb/FMDatabase.h
index 574db3e..defd77e 100644
--- a/src/fmdb/FMDatabase.h
+++ b/src/fmdb/FMDatabase.h
@@ -338,7 +338,7 @@ typedef NS_ENUM(int, FMDBCheckpointMode) {
@see [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html)
*/
-- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError * _Nullable *)outErr, ...;
+- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError * _Nullable __autoreleasing *)outErr, ...;
/** Execute single update statement
@@ -347,7 +347,7 @@ typedef NS_ENUM(int, FMDBCheckpointMode) {
@warning **Deprecated**: Please use `<executeUpdate:withErrorAndBindings>` instead.
*/
-- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError * _Nullable*)outErr, ... __deprecated_msg("Use executeUpdate:withErrorAndBindings: instead");;
+- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError * _Nullable __autoreleasing *)outErr, ... __deprecated_msg("Use executeUpdate:withErrorAndBindings: instead");;
/** Execute single update statement
@@ -985,7 +985,7 @@ typedef NS_ENUM(int, FMDBCheckpointMode) {
@see rollbackToSavePointWithName:error:
*/
-- (BOOL)startSavePointWithName:(NSString*)name error:(NSError * _Nullable *)outErr;
+- (BOOL)startSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr;
/** Release save point
@@ -1000,7 +1000,7 @@ typedef NS_ENUM(int, FMDBCheckpointMode) {
*/
-- (BOOL)releaseSavePointWithName:(NSString*)name error:(NSError * _Nullable *)outErr;
+- (BOOL)releaseSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr;
/** Roll back to save point
@@ -1014,7 +1014,7 @@ typedef NS_ENUM(int, FMDBCheckpointMode) {
*/
-- (BOOL)rollbackToSavePointWithName:(NSString*)name error:(NSError * _Nullable *)outErr;
+- (BOOL)rollbackToSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr;
/** Start save point
diff --git a/src/fmdb/FMDatabase.m b/src/fmdb/FMDatabase.m
index 84d8d68..e91a09b 100644
--- a/src/fmdb/FMDatabase.m
+++ b/src/fmdb/FMDatabase.m
@@ -22,7 +22,7 @@
NS_ASSUME_NONNULL_BEGIN
- (FMResultSet * _Nullable)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray * _Nullable)arrayArgs orDictionary:(NSDictionary * _Nullable)dictionaryArgs orVAList:(va_list)args;
-- (BOOL)executeUpdate:(NSString *)sql error:(NSError * _Nullable *)outErr withArgumentsInArray:(NSArray * _Nullable)arrayArgs orDictionary:(NSDictionary * _Nullable)dictionaryArgs orVAList:(va_list)args;
+- (BOOL)executeUpdate:(NSString *)sql error:(NSError * _Nullable __autoreleasing *)outErr withArgumentsInArray:(NSArray * _Nullable)arrayArgs orDictionary:(NSDictionary * _Nullable)dictionaryArgs orVAList:(va_list)args;
NS_ASSUME_NONNULL_END
@@ -987,7 +987,7 @@ static int FMDBDatabaseBusyHandler(void *f, int count) {
#pragma mark Execute updates
-- (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArray:(NSArray*)arrayArgs orDictionary:(NSDictionary *)dictionaryArgs orVAList:(va_list)args {
+- (BOOL)executeUpdate:(NSString*)sql error:(NSError * _Nullable __autoreleasing *)outErr withArgumentsInArray:(NSArray*)arrayArgs orDictionary:(NSDictionary *)dictionaryArgs orVAList:(va_list)args {
if (![self databaseExists]) {
return NO;
@@ -1286,13 +1286,15 @@ int FMDBExecuteBulkSQLCallback(void *theBlockAsVoid, int columns, char **values,
if (errmsg && [self logsErrors]) {
NSLog(@"Error inserting batch: %s", errmsg);
+ }
+ if (errmsg) {
sqlite3_free(errmsg);
}
return (rc == SQLITE_OK);
}
-- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... {
+- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError * _Nullable __autoreleasing *)outErr, ... {
va_list args;
va_start(args, outErr);
@@ -1306,7 +1308,7 @@ int FMDBExecuteBulkSQLCallback(void *theBlockAsVoid, int columns, char **values,
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-implementations"
-- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... {
+- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError * _Nullable __autoreleasing *)outErr, ... {
va_list args;
va_start(args, outErr);
@@ -1397,7 +1399,7 @@ static NSString *FMDBEscapeSavePointName(NSString *savepointName) {
return [savepointName stringByReplacingOccurrencesOfString:@"'" withString:@"''"];
}
-- (BOOL)startSavePointWithName:(NSString*)name error:(NSError**)outErr {
+- (BOOL)startSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr {
#if SQLITE_VERSION_NUMBER >= 3007000
NSParameterAssert(name);
@@ -1411,7 +1413,7 @@ static NSString *FMDBEscapeSavePointName(NSString *savepointName) {
#endif
}
-- (BOOL)releaseSavePointWithName:(NSString*)name error:(NSError**)outErr {
+- (BOOL)releaseSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr {
#if SQLITE_VERSION_NUMBER >= 3007000
NSParameterAssert(name);
@@ -1425,7 +1427,7 @@ static NSString *FMDBEscapeSavePointName(NSString *savepointName) {
#endif
}
-- (BOOL)rollbackToSavePointWithName:(NSString*)name error:(NSError**)outErr {
+- (BOOL)rollbackToSavePointWithName:(NSString*)name error:(NSError * _Nullable __autoreleasing *)outErr {
#if SQLITE_VERSION_NUMBER >= 3007000
NSParameterAssert(name);
diff --git a/src/fmdb/FMDatabaseAdditions.h b/src/fmdb/FMDatabaseAdditions.h
index 6e8c473..b890c93 100644
--- a/src/fmdb/FMDatabaseAdditions.h
+++ b/src/fmdb/FMDatabaseAdditions.h
@@ -207,7 +207,7 @@ NS_ASSUME_NONNULL_BEGIN
*/
-- (BOOL)validateSQL:(NSString*)sql error:(NSError * _Nullable *)error;
+- (BOOL)validateSQL:(NSString*)sql error:(NSError * _Nullable __autoreleasing *)error;
///-----------------------------------
diff --git a/src/fmdb/FMDatabaseAdditions.m b/src/fmdb/FMDatabaseAdditions.m
index 83f6a3b..24a0ebf 100644
--- a/src/fmdb/FMDatabaseAdditions.m
+++ b/src/fmdb/FMDatabaseAdditions.m
@@ -222,7 +222,7 @@ return ret;
#pragma clang diagnostic pop
-- (BOOL)validateSQL:(NSString*)sql error:(NSError**)error {
+- (BOOL)validateSQL:(NSString*)sql error:(NSError * _Nullable __autoreleasing *)error {
sqlite3_stmt *pStmt = NULL;
BOOL validationSucceeded = YES;
diff --git a/src/fmdb/FMDatabaseQueue.m b/src/fmdb/FMDatabaseQueue.m
index a8fd915..2799c70 100755
--- a/src/fmdb/FMDatabaseQueue.m
+++ b/src/fmdb/FMDatabaseQueue.m
@@ -305,7 +305,7 @@ static const void * const kDispatchQueueSpecificKey = &kDispatchQueueSpecificKey
FMDBRetain(self);
dispatch_sync(_queue, ^() {
- result = [self.database checkpoint:mode name:name logFrameCount:NULL checkpointCount:NULL error:&blockError];
+ result = [self.database checkpoint:mode name:name logFrameCount:logFrameCount checkpointCount:checkpointCount error:&blockError];
});
FMDBRelease(self);
diff --git a/src/fmdb/FMResultSet.h b/src/fmdb/FMResultSet.h
index 2bbc766..b765b7a 100644
--- a/src/fmdb/FMResultSet.h
+++ b/src/fmdb/FMResultSet.h
@@ -89,7 +89,7 @@ NS_ASSUME_NONNULL_BEGIN
@see hasAnotherRow
*/
-- (BOOL)nextWithError:(NSError * _Nullable *)outErr;
+- (BOOL)nextWithError:(NSError * _Nullable __autoreleasing *)outErr;
/** Did the last call to `<next>` succeed in retrieving another row?
diff --git a/src/fmdb/FMResultSet.m b/src/fmdb/FMResultSet.m
index 13f226f..4cb6525 100644
--- a/src/fmdb/FMResultSet.m
+++ b/src/fmdb/FMResultSet.m
@@ -160,7 +160,7 @@
return [self nextWithError:nil];
}
-- (BOOL)nextWithError:(NSError **)outErr {
+- (BOOL)nextWithError:(NSError * _Nullable __autoreleasing *)outErr {
int rc = sqlite3_step([_statement statement]);