aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authordrx777 <david.rekowski@gmx.de>2010-04-29 18:42:54 +0000
committerdrx777 <david.rekowski@gmx.de>2010-04-29 18:42:54 +0000
commit6f6a32030c374acc5afd253bc3a8f6488d0b9433 (patch)
tree4d721f5155490f9bf9e0f9ee3cd3d64c41dd85cc /Source
parent230f6295f5c6a80201410bc0347e83920df08bfe (diff)
downloadsequelpro-6f6a32030c374acc5afd253bc3a8f6488d0b9433.tar.gz
sequelpro-6f6a32030c374acc5afd253bc3a8f6488d0b9433.tar.bz2
sequelpro-6f6a32030c374acc5afd253bc3a8f6488d0b9433.zip
Only switch to the renamed/duplicated database name, if the action was successful. Caused an existing DB to be selected, after ren/dup failed because it exists.
Diffstat (limited to 'Source')
-rw-r--r--Source/SPDatabaseCopy.m5
-rw-r--r--Source/SPDatabaseRename.m5
-rw-r--r--Source/TableDocument.m20
3 files changed, 19 insertions, 11 deletions
diff --git a/Source/SPDatabaseCopy.m b/Source/SPDatabaseCopy.m
index 5f0c8fe8..2d5f92c3 100644
--- a/Source/SPDatabaseCopy.m
+++ b/Source/SPDatabaseCopy.m
@@ -63,7 +63,7 @@
}
DLog(@"list of found tables of source db: %@", tables);
- [self createDatabase:targetDatabaseName];
+ BOOL success = [self createDatabase:targetDatabaseName];
SPTableCopy *dbActionTableCopy = [[SPTableCopy alloc] init];
[dbActionTableCopy setConnection:connection];
@@ -72,8 +72,11 @@
from:sourceDatabaseName
to:targetDatabaseName
withContent:copyWithContent]) {
+ } else {
+ success = NO;
}
}
+ return success;
}
- (BOOL) createDatabase: (NSString *)newDatabaseName {
diff --git a/Source/SPDatabaseRename.m b/Source/SPDatabaseRename.m
index 448b2690..26a983e5 100644
--- a/Source/SPDatabaseRename.m
+++ b/Source/SPDatabaseRename.m
@@ -63,7 +63,7 @@
}
DLog(@"list of found tables of source db: %@", tables);
- [self createDatabase:targetDatabaseName];
+ BOOL success = [self createDatabase:targetDatabaseName];
SPTableCopy *dbActionTableCopy = [[SPTableCopy alloc] init];
[dbActionTableCopy setConnection:connection];
@@ -71,6 +71,8 @@
if ([dbActionTableCopy moveTable:currentTable
from:sourceDatabaseName
to:targetDatabaseName]) {
+ } else {
+ success = FALSE;
}
}
tables = [connection listTablesFromDB:sourceDatabaseName];
@@ -83,6 +85,7 @@
@"delete database not empty error informative message"),
sourceDatabaseName]);
}
+ return success;
}
- (BOOL) createDatabase: (NSString *)newDatabaseName {
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 7b5c3d2f..ea071365 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -4150,12 +4150,13 @@
BOOL copyWithContent = [copyOnlyStructureButton state] == NSOffState;
- [dbActionCopy copyDatabaseFrom: [self database]
- to: [databaseCopyNameField stringValue]
- withContent: copyWithContent];
+ if ([dbActionCopy copyDatabaseFrom: [self database]
+ to: [databaseCopyNameField stringValue]
+ withContent: copyWithContent]) {
+ [selectedDatabase release];
+ selectedDatabase = [[NSString alloc] initWithString:[databaseCopyNameField stringValue]];
+ }
[dbActionCopy release];
- [selectedDatabase release];
- selectedDatabase = [[NSString alloc] initWithString:[databaseCopyNameField stringValue]];
[self setDatabases: self];
}
@@ -4168,11 +4169,12 @@
[dbActionRename setConnection: [self getConnection]];
[dbActionRename setMessageWindow: tableWindow];
- [dbActionRename renameDatabaseFrom: [self database]
- to: [databaseRenameNameField stringValue]];
+ if ([dbActionRename renameDatabaseFrom: [self database]
+ to: [databaseRenameNameField stringValue]]) {
+ [selectedDatabase release];
+ selectedDatabase = [[NSString alloc] initWithString:[databaseRenameNameField stringValue]];
+ }
[dbActionRename release];
- [selectedDatabase release];
- selectedDatabase = [[NSString alloc] initWithString:[databaseRenameNameField stringValue]];
[self setDatabases: self];
}