Ver Fonte

Opens a :memory: database if databasePath is nil

Pascal Pfiffner há 15 anos atrás
pai
commit
6809d43f1c
2 ficheiros alterados com 6 adições e 7 exclusões
  1. 2 3
      fmdb.xcodeproj/project.pbxproj
  2. 4 4
      src/FMDatabase.m

+ 2 - 3
fmdb.xcodeproj/project.pbxproj

@@ -44,7 +44,7 @@
 /* Begin PBXFileReference section */
 /* Begin PBXFileReference section */
 		08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
 		08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
 		32A70AAB03705E1F00C91783 /* fmdb_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmdb_Prefix.pch; sourceTree = "<group>"; };
 		32A70AAB03705E1F00C91783 /* fmdb_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fmdb_Prefix.pch; sourceTree = "<group>"; };
-		8DD76FA10486AA7600D96B5E /* fmdb */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.executable"; path = fmdb; sourceTree = BUILT_PRODUCTS_DIR; };
+		8DD76FA10486AA7600D96B5E /* fmdb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fmdb; sourceTree = BUILT_PRODUCTS_DIR; };
 		C6859EA3029092ED04C91782 /* fmdb.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = fmdb.1; sourceTree = "<group>"; };
 		C6859EA3029092ED04C91782 /* fmdb.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = fmdb.1; sourceTree = "<group>"; };
 		CC50F2CB0DF9183600E4AAAE /* FMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMDatabaseAdditions.m; path = src/FMDatabaseAdditions.m; sourceTree = "<group>"; };
 		CC50F2CB0DF9183600E4AAAE /* FMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMDatabaseAdditions.m; path = src/FMDatabaseAdditions.m; sourceTree = "<group>"; };
 		CC50F2CC0DF9183600E4AAAE /* FMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FMDatabaseAdditions.h; path = src/FMDatabaseAdditions.h; sourceTree = "<group>"; };
 		CC50F2CC0DF9183600E4AAAE /* FMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FMDatabaseAdditions.h; path = src/FMDatabaseAdditions.h; sourceTree = "<group>"; };
@@ -277,6 +277,7 @@
 		1DEB927908733DD40010E9CD /* Debug */ = {
 		1DEB927908733DD40010E9CD /* Debug */ = {
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			buildSettings = {
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
@@ -303,7 +304,6 @@
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				PREBINDING = NO;
 				PREBINDING = NO;
 				PRODUCT_NAME = FMDB;
 				PRODUCT_NAME = FMDB;
-				SDKROOT = iphoneos;
 			};
 			};
 			name = Debug;
 			name = Debug;
 		};
 		};
@@ -316,7 +316,6 @@
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 				PREBINDING = NO;
 				PREBINDING = NO;
 				PRODUCT_NAME = FMDB;
 				PRODUCT_NAME = FMDB;
-				SDKROOT = iphoneos;
 				ZERO_LINK = NO;
 				ZERO_LINK = NO;
 			};
 			};
 			name = Release;
 			name = Release;

+ 4 - 4
src/FMDatabase.m

@@ -47,7 +47,7 @@ - (BOOL)open {
 		return YES;
 		return YES;
 	}
 	}
 	
 	
-	int err = sqlite3_open([databasePath fileSystemRepresentation], &db );
+	int err = sqlite3_open((databasePath ? [databasePath fileSystemRepresentation] : ":memory:"), &db );
 	if(err != SQLITE_OK) {
 	if(err != SQLITE_OK) {
         NSLog(@"error opening!: %d", err);
         NSLog(@"error opening!: %d", err);
 		return NO;
 		return NO;
@@ -58,7 +58,7 @@ - (BOOL)open {
 
 
 #if SQLITE_VERSION_NUMBER >= 3005000
 #if SQLITE_VERSION_NUMBER >= 3005000
 - (BOOL)openWithFlags:(int)flags {
 - (BOOL)openWithFlags:(int)flags {
-    int err = sqlite3_open_v2([databasePath fileSystemRepresentation], &db, flags, NULL /* Name of VFS module to use */);
+    int err = sqlite3_open_v2((databasePath ? [databasePath fileSystemRepresentation] : ":memory:"), &db, flags, NULL /* Name of VFS module to use */);
 	if(err != SQLITE_OK) {
 	if(err != SQLITE_OK) {
 		NSLog(@"error opening!: %d", err);
 		NSLog(@"error opening!: %d", err);
 		return NO;
 		return NO;
@@ -375,7 +375,7 @@ - (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray*)arr
         }
         }
     }
     }
     
     
-    // the statement gets close in rs's dealloc or [rs close];
+    // the statement gets closed in rs's dealloc or [rs close];
     rs = [FMResultSet resultSetWithStatement:statement usingParentDatabase:self];
     rs = [FMResultSet resultSetWithStatement:statement usingParentDatabase:self];
     [rs setQuery:sql];
     [rs setQuery:sql];
     
     
@@ -403,7 +403,7 @@ - (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)ar
 }
 }
 
 
 - (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args {
 - (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args {
-
+	
     if (inUse) {
     if (inUse) {
         [self compainAboutInUse];
         [self compainAboutInUse];
         return NO;
         return NO;