Procházet zdrojové kódy

Merge branch 'master' of git://github.com/rob2468/fmdb into rob2468-master

August Mueller před 7 roky
rodič
revize
4cdedc7801
2 změnil soubory, kde provedl 14 přidání a 1 odebrání
  1. 13 1
      Tests/FMDatabaseTests.m
  2. 1 0
      src/fmdb/FMDatabase.m

+ 13 - 1
Tests/FMDatabaseTests.m

@@ -1151,12 +1151,24 @@ - (void)testExecuteStatements {
         XCTAssertEqual(count, 1, @"expected one record for dictionary %@", dictionary);
         return 0;
     }];
+    
+    XCTAssertTrue(success, @"bulk select");
+
+    // select blob type records
+    [self.db executeUpdate:@"create table bulktest4 (id integer primary key autoincrement, b blob);"];
+    NSData *blobData = [[NSData alloc] initWithContentsOfFile:@"/bin/bash"];
+    [self.db executeUpdate:@"insert into bulktest4 (b) values (?)" values:@[blobData] error:nil];
 
+    sql = @"select * from bulktest4";
+    success = [self.db executeStatements:sql withResultBlock:^int(NSDictionary * _Nonnull resultsDictionary) {
+        return 0;
+    }];
     XCTAssertTrue(success, @"bulk select");
 
     sql = @"drop table bulktest1;"
            "drop table bulktest2;"
-           "drop table bulktest3;";
+           "drop table bulktest3;"
+           "drop table bulktest4";
 
     success = [self.db executeStatements:sql];
 

+ 1 - 0
src/fmdb/FMDatabase.m

@@ -1261,6 +1261,7 @@ int FMDBExecuteBulkSQLCallback(void *theBlockAsVoid, int columns, char **values,
     for (NSInteger i = 0; i < columns; i++) {
         NSString *key = [NSString stringWithUTF8String:names[i]];
         id value = values[i] ? [NSString stringWithUTF8String:values[i]] : [NSNull null];
+        value = value ? value : [NSNull null];
         [dictionary setObject:value forKey:key];
     }