Browse Source

Deprecation of a method, because its name sucked.

August Mueller 11 years ago
parent
commit
50f8efa236
5 changed files with 30 additions and 6 deletions
  1. 0 1
      Tests/FMDatabasePoolTests.m
  2. 2 2
      Tests/FMDatabaseTests.m
  3. 10 1
      src/fmdb/FMDatabase.h
  4. 16 0
      src/fmdb/FMDatabase.m
  5. 2 2
      src/sample/main.m

+ 0 - 1
Tests/FMDatabasePoolTests.m

@@ -256,7 +256,6 @@ - (void)testStressTest
 - (BOOL)databasePool:(FMDatabasePool*)pool shouldAddDatabaseToPool:(FMDatabase*)database {
     [database setMaxBusyRetryTimeInterval:10];
     // [database setCrashOnErrors:YES];
-    #pragma message "FIXME: Gus - we need to check for a SQLITE_BUSY when we call sqlite3_step.  sqlite will sleep for the retry amount - BUT, it won't just try the step again.  We'll have to put the old loops back in.  testReadWriteStressTest shows this mistake.  Maybe add a private method to FMDatabase that does the stepping and loop for us, and replace sqlite3_step with that?"
     return YES;
 }
 

+ 2 - 2
Tests/FMDatabaseTests.m

@@ -84,7 +84,7 @@ - (void)testFailOnBadStatement
 - (void)testFailOnBadStatementWithError
 {
     NSError *error = nil;
-    XCTAssertFalse([self.db update:@"blah blah blah" withErrorAndBindings:&error], @"Invalid statement should fail");
+    XCTAssertFalse([self.db executeUpdate:@"blah blah blah" withErrorAndBindings:&error], @"Invalid statement should fail");
     XCTAssertNotNil(error, @"Should have a non-nil NSError");
     XCTAssertEqual([error code], (NSInteger)SQLITE_ERROR, @"Error should be SQLITE_ERROR");
 }
@@ -599,7 +599,7 @@ - (void)testUpdateWithErrorAndBindings
     XCTAssertTrue([self.db executeUpdate:@"create table t5 (a text, b int, c blob, d text, e text)"]);
     
     NSError *err = nil;
-    BOOL result = [self.db update:@"insert into t5 values (?, ?, ?, ?, ?)" withErrorAndBindings:&err, @"text", [NSNumber numberWithInt:42], @"BLOB", @"d", [NSNumber numberWithInt:0]];
+    BOOL result = [self.db executeUpdate:@"insert into t5 values (?, ?, ?, ?, ?)" withErrorAndBindings:&err, @"text", [NSNumber numberWithInt:42], @"BLOB", @"d", [NSNumber numberWithInt:0]];
     XCTAssertTrue(result);
 }
 

+ 10 - 1
src/fmdb/FMDatabase.h

@@ -265,7 +265,16 @@ typedef int(^FMDBExecuteBulkSQLCallbackBlock)(NSDictionary *resultsDictionary);
  @see [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html)
  */
 
-- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ...;
+- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ...;
+
+/** Execute single update statement
+ 
+ @see executeUpdate:withErrorAndBindings:
+ 
+ @warning **Deprecated**: Please use `<executeUpdate:withErrorAndBindings>` instead.
+ */
+
+- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... __attribute__ ((deprecated));
 
 /** Execute single update statement
 

+ 16 - 0
src/fmdb/FMDatabase.m

@@ -1132,6 +1132,20 @@ - (BOOL)executeBulkSQL:(NSString *)sql block:(FMDBExecuteBulkSQLCallbackBlock)bl
     return (rc == SQLITE_OK);
 }
 
+- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... {
+    
+    va_list args;
+    va_start(args, outErr);
+    
+    BOOL result = [self executeUpdate:sql error:outErr withArgumentsInArray:nil orDictionary:nil orVAList:args];
+    
+    va_end(args);
+    return result;
+}
+
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-implementations"
 - (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... {
     va_list args;
     va_start(args, outErr);
@@ -1142,6 +1156,8 @@ - (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... {
     return result;
 }
 
+#pragma clang diagnostic pop
+
 #pragma mark Transactions
 
 - (BOOL)rollback {

+ 2 - 2
src/sample/main.m

@@ -57,7 +57,7 @@ int main (int argc, const char * argv[]) {
     }
     
     NSError *err = 0x00;
-    FMDBQuickCheck(![db update:@"blah blah blah" withErrorAndBindings:&err]);
+    FMDBQuickCheck(![db executeUpdate:@"blah blah blah" withErrorAndBindings:&err]);
     FMDBQuickCheck(err != nil);
     FMDBQuickCheck([err code] == SQLITE_ERROR);
     NSLog(@"err: '%@'", err);
@@ -791,7 +791,7 @@ int main (int argc, const char * argv[]) {
     
     
     {
-        FMDBQuickCheck(([db update:@"insert into t5 values (?, ?, ?, ?, ?)" withErrorAndBindings:&err, @"text", [NSNumber numberWithInt:42], @"BLOB", @"d", [NSNumber numberWithInt:0]]));
+        FMDBQuickCheck(([db executeUpdate:@"insert into t5 values (?, ?, ?, ?, ?)" withErrorAndBindings:&err, @"text", [NSNumber numberWithInt:42], @"BLOB", @"d", [NSNumber numberWithInt:0]]));
         
     }