|
|
@@ -1077,6 +1077,12 @@ - (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArra
|
|
|
if (SQLITE_DONE == rc) {
|
|
|
// all is well, let's return.
|
|
|
}
|
|
|
+ else if (SQLITE_INTERRUPT == rc) {
|
|
|
+ if (_logsErrors) {
|
|
|
+ NSLog(@"Error calling sqlite3_step. Query was interrupted (%d: %s) SQLITE_INTERRUPT", rc, sqlite3_errmsg(_db));
|
|
|
+ NSLog(@"DB Query: %@", sql);
|
|
|
+ }
|
|
|
+ }
|
|
|
else if (rc == SQLITE_ROW) {
|
|
|
NSString *message = [NSString stringWithFormat:@"A executeUpdate is being called with a query string '%@'", sql];
|
|
|
if (_logsErrors) {
|
|
|
@@ -1301,6 +1307,15 @@ - (BOOL)inTransaction {
|
|
|
return _inTransaction;
|
|
|
}
|
|
|
|
|
|
+- (BOOL)interrupt
|
|
|
+{
|
|
|
+ if (_db) {
|
|
|
+ sqlite3_interrupt([self sqliteHandle]);
|
|
|
+ return YES;
|
|
|
+ }
|
|
|
+ return NO;
|
|
|
+}
|
|
|
+
|
|
|
static NSString *FMDBEscapeSavePointName(NSString *savepointName) {
|
|
|
return [savepointName stringByReplacingOccurrencesOfString:@"'" withString:@"''"];
|
|
|
}
|