فهرست منبع

Merge pull request #194 from GrahamDennis/issue-193

Fix issue #193: inSavepoint: should release savepoints that are rolled back
August "Gus" Mueller 12 سال پیش
والد
کامیت
d0c59ffa3f
3فایلهای تغییر یافته به همراه6 افزوده شده و 9 حذف شده
  1. 2 3
      src/FMDatabase.m
  2. 2 3
      src/FMDatabasePool.m
  3. 2 3
      src/FMDatabaseQueue.m

+ 2 - 3
src/FMDatabase.m

@@ -1147,11 +1147,10 @@ - (NSError*)inSavePoint:(void (^)(BOOL *rollback))block {
     block(&shouldRollback);
     
     if (shouldRollback) {
+        // We need to rollback and release this savepoint to remove it
         [self rollbackToSavePointWithName:name error:&err];
     }
-    else {
-        [self releaseSavePointWithName:name error:&err];
-    }
+    [self releaseSavePointWithName:name error:&err];
     
     return err;
 }

+ 2 - 3
src/FMDatabasePool.m

@@ -229,11 +229,10 @@ - (NSError*)inSavePoint:(void (^)(FMDatabase *db, BOOL *rollback))block {
     block(db, &shouldRollback);
     
     if (shouldRollback) {
+        // We need to rollback and release this savepoint to remove it
         [db rollbackToSavePointWithName:name error:&err];
     }
-    else {
-        [db releaseSavePointWithName:name error:&err];
-    }
+    [db releaseSavePointWithName:name error:&err];
     
     [self pushDatabaseBackInPool:db];
     

+ 2 - 3
src/FMDatabaseQueue.m

@@ -185,11 +185,10 @@ - (NSError*)inSavePoint:(void (^)(FMDatabase *db, BOOL *rollback))block {
             block([self database], &shouldRollback);
             
             if (shouldRollback) {
+                // We need to rollback and release this savepoint to remove it
                 [[self database] rollbackToSavePointWithName:name error:&err];
             }
-            else {
-                [[self database] releaseSavePointWithName:name error:&err];
-            }
+            [[self database] releaseSavePointWithName:name error:&err];
             
         }
     });