diff options
author | drx777 <david.rekowski@gmx.de> | 2010-04-29 18:42:54 +0000 |
---|---|---|
committer | drx777 <david.rekowski@gmx.de> | 2010-04-29 18:42:54 +0000 |
commit | 6f6a32030c374acc5afd253bc3a8f6488d0b9433 (patch) | |
tree | 4d721f5155490f9bf9e0f9ee3cd3d64c41dd85cc /Source | |
parent | 230f6295f5c6a80201410bc0347e83920df08bfe (diff) | |
download | sequelpro-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.m | 5 | ||||
-rw-r--r-- | Source/SPDatabaseRename.m | 5 | ||||
-rw-r--r-- | Source/TableDocument.m | 20 |
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]; } |