aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2010-08-13 16:48:59 +0000
committerstuconnolly <stuart02@gmail.com>2010-08-13 16:48:59 +0000
commitf1e829f98f50d9e75e7ba111361a625f7aab802d (patch)
tree930c14091b0cba5d4c44ec1e4fc70c34f55c56fe /Source
parentefdcfb17f87863fef42f209f72eb4c4ccd888d35 (diff)
downloadsequelpro-f1e829f98f50d9e75e7ba111361a625f7aab802d.tar.gz
sequelpro-f1e829f98f50d9e75e7ba111361a625f7aab802d.tar.bz2
sequelpro-f1e829f98f50d9e75e7ba111361a625f7aab802d.zip
Tidy up database renaming and copying by removing the use of alert dialogs within loops to prevent locking up the main thread. These operations ideally should also be threaded.
Diffstat (limited to 'Source')
-rw-r--r--Source/SPDBActionCommons.h5
-rw-r--r--Source/SPDatabaseCopy.h4
-rw-r--r--Source/SPDatabaseCopy.m59
-rw-r--r--Source/SPDatabaseDocument.m45
-rw-r--r--Source/SPDatabaseInfo.m28
-rw-r--r--Source/SPDatabaseRename.h9
-rw-r--r--Source/SPDatabaseRename.m94
-rw-r--r--Source/SPTableCopy.m87
8 files changed, 156 insertions, 175 deletions
diff --git a/Source/SPDBActionCommons.h b/Source/SPDBActionCommons.h
index 1b7185bd..6ff6e11c 100644
--- a/Source/SPDBActionCommons.h
+++ b/Source/SPDBActionCommons.h
@@ -23,7 +23,6 @@
// More info at <http://code.google.com/p/sequel-pro/>
#import <MCPKit/MCPKit.h>
-#import "SPAlertSheets.h"
@interface SPDBActionCommons : NSObject
{
@@ -32,12 +31,12 @@
}
/**
- * @property MCPConnection references the MCPKit connection to MySQL; it has to be set.
+ * @property connection References the MCPKit connection to MySQL; it has to be set.
*/
@property (retain) MCPConnection *connection;
/**
- * @property the NSWindow instance to send message sheets to
+ * @property messageWindow The NSWindow instance to send message sheets to.
*/
@property (assign) NSWindow *messageWindow;
diff --git a/Source/SPDatabaseCopy.h b/Source/SPDatabaseCopy.h
index a146bbf4..56a7e26a 100644
--- a/Source/SPDatabaseCopy.h
+++ b/Source/SPDatabaseCopy.h
@@ -53,7 +53,7 @@
* @param NSString targetDatabaseName the name of the target database
* @result BOOL success
*/
-- (BOOL)copyDatabaseFrom: (NSString *)sourceDatabaseName to: (NSString *)targetDatabaseName withContent: (BOOL)copyWithContent;
+- (BOOL)copyDatabaseFrom:(NSString *)sourceDatabaseName to:(NSString *)targetDatabaseName withContent:(BOOL)copyWithContent;
/**
* This method creates a new database.
@@ -61,6 +61,6 @@
* @param NSString newDatabaseName name of the new database to be created
* @return BOOL YES on success, otherwise NO
*/
-- (BOOL) createDatabase: (NSString *)newDatabaseName;
+- (BOOL)createDatabase:(NSString *)newDatabaseName;
@end
diff --git a/Source/SPDatabaseCopy.m b/Source/SPDatabaseCopy.m
index 913554c2..8942dee1 100644
--- a/Source/SPDatabaseCopy.m
+++ b/Source/SPDatabaseCopy.m
@@ -30,41 +30,44 @@
@synthesize dbInfo;
-- (SPDatabaseInfo *)getDBInfoObject {
+- (SPDatabaseInfo *)getDBInfoObject
+{
if (dbInfo != nil) {
return dbInfo;
- } else {
+ }
+ else {
dbInfo = [[SPDatabaseInfo alloc] init];
+
[dbInfo setConnection:[self connection]];
[dbInfo setMessageWindow:messageWindow];
}
+
return dbInfo;
}
-- (BOOL)copyDatabaseFrom: (NSString *)sourceDatabaseName to: (NSString *)targetDatabaseName withContent:(BOOL)copyWithContent {
-
+- (BOOL)copyDatabaseFrom:(NSString *)sourceDatabaseName to:(NSString *)targetDatabaseName withContent:(BOOL)copyWithContent
+{
SPDatabaseInfo *databaseInfo = [self getDBInfoObject];
- // check, whether the source database exists and the target database doesn't.
+
+ // Check, whether the source database exists and the target database doesn't.
NSArray *tables = [NSArray array];
+
BOOL sourceExists = [databaseInfo databaseExists:sourceDatabaseName];
BOOL targetExists = [databaseInfo databaseExists:targetDatabaseName];
+
if (sourceExists && !targetExists) {
- // retrieve the list of tables/views/funcs/triggers from the source database
-
- tables = [connection listTablesFromDB:sourceDatabaseName];
- } else {
- SPBeginAlertSheet(NSLocalizedString(@"Cannot create existing database", @"create database exists error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to create the target database.\n\nDatabase %@ already exists.",
- @"create database error informative message"),
- targetDatabaseName]);
+ // Retrieve the list of tables/views/funcs/triggers from the source database
+ tables = [connection listTablesFromDB:sourceDatabaseName];
+ }
+ else {
return NO;
}
- DLog(@"list of found tables of source db: %@", tables);
-
+
BOOL success = [self createDatabase:targetDatabaseName];
+
SPTableCopy *dbActionTableCopy = [[SPTableCopy alloc] init];
+
[dbActionTableCopy setConnection:connection];
for (NSString *currentTable in tables) {
@@ -82,26 +85,20 @@
return success;
}
-- (BOOL) createDatabase: (NSString *)newDatabaseName {
- NSString *createStatement = [NSString stringWithFormat:@"CREATE DATABASE %@",
- [newDatabaseName backtickQuotedString]];
+- (BOOL)createDatabase:(NSString *)newDatabaseName
+{
+ NSString *createStatement = [NSString stringWithFormat:@"CREATE DATABASE %@", [newDatabaseName backtickQuotedString]];
+
[connection queryString:createStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to create database", @"create database error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to create the target database.\n\nMySQL said: %@",
- @"create database error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
- return YES;
-
+ if ([connection queryErrored]) return NO;
+ return YES;
}
-- (void)dealloc {
- [dbInfo dealloc];
+- (void)dealloc
+{
+ [dbInfo release], dbInfo = nil;
}
diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m
index 3a0e029d..27e773b9 100644
--- a/Source/SPDatabaseDocument.m
+++ b/Source/SPDatabaseDocument.m
@@ -4673,41 +4673,60 @@
@implementation SPDatabaseDocument (PrivateAPI)
-- (void)_copyDatabase {
+- (void)_copyDatabase
+{
if ([[databaseCopyNameField stringValue] isEqualToString:@""]) {
SPBeginAlertSheet(NSLocalizedString(@"Error", @"error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, parentWindow, self, nil, nil, NSLocalizedString(@"Database must have a name.", @"message of panel when no db name is given"));
return;
}
+
SPDatabaseCopy *dbActionCopy = [[SPDatabaseCopy alloc] init];
- [dbActionCopy setConnection: [self getConnection]];
- [dbActionCopy setMessageWindow: parentWindow];
+
+ [dbActionCopy setConnection:[self getConnection]];
+ [dbActionCopy setMessageWindow:parentWindow];
BOOL copyWithContent = [copyDatabaseDataButton state] == NSOnState;
- if ([dbActionCopy copyDatabaseFrom: [self database]
- to: [databaseCopyNameField stringValue]
- withContent: copyWithContent]) {
+ if ([dbActionCopy copyDatabaseFrom:[self database] to:[databaseCopyNameField stringValue] withContent:copyWithContent]) {
[self selectDatabase:[databaseCopyNameField stringValue] item:nil];
}
+ else {
+ SPBeginAlertSheet(NSLocalizedString(@"Unable to copy database", @"unable to copy database message"),
+ NSLocalizedString(@"OK", @"OK button"), nil, nil, parentWindow, self, nil, nil,
+ [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to copy the database '%@' to '%@'.", @"unable to copy database message informative message"), [self database], [databaseCopyNameField stringValue]]);
+ }
+
[dbActionCopy release];
- [self setDatabases: self];
+
+ // Update DB list
+ [self setDatabases:self];
}
-- (void)_renameDatabase {
+- (void)_renameDatabase
+{
if ([[databaseRenameNameField stringValue] isEqualToString:@""]) {
SPBeginAlertSheet(NSLocalizedString(@"Error", @"error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, parentWindow, self, nil, nil, NSLocalizedString(@"Database must have a name.", @"message of panel when no db name is given"));
return;
}
+
SPDatabaseRename *dbActionRename = [[SPDatabaseRename alloc] init];
- [dbActionRename setConnection: [self getConnection]];
- [dbActionRename setMessageWindow: parentWindow];
- if ([dbActionRename renameDatabaseFrom: [self database]
- to: [databaseRenameNameField stringValue]]) {
+ [dbActionRename setConnection:[self getConnection]];
+ [dbActionRename setMessageWindow:parentWindow];
+
+ if ([dbActionRename renameDatabaseFrom:[self database] to:[databaseRenameNameField stringValue]]) {
[self selectDatabase:[databaseRenameNameField stringValue] item:nil];
}
+ else {
+ SPBeginAlertSheet(NSLocalizedString(@"Unable to rename database", @"unable to rename database message"),
+ NSLocalizedString(@"OK", @"OK button"), nil, nil, parentWindow, self, nil, nil,
+ [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to rename the database '%@' to '%@'.", @"unable to rename database message informative message"), [self database], [databaseRenameNameField stringValue]]);
+ }
+
[dbActionRename release];
- [self setDatabases: self];
+
+ // Update DB list
+ [self setDatabases:self];
}
/**
diff --git a/Source/SPDatabaseInfo.m b/Source/SPDatabaseInfo.m
index 551a1c77..3c70aec9 100644
--- a/Source/SPDatabaseInfo.m
+++ b/Source/SPDatabaseInfo.m
@@ -27,42 +27,44 @@
@implementation SPDatabaseInfo
--(BOOL)databaseExists:(NSString *)databaseName {
+-(BOOL)databaseExists:(NSString *)databaseName
+{
NSArray *names = [self listDBs];
+
return [names containsObject:databaseName];
}
-- (NSArray *)listDBs {
+- (NSArray *)listDBs
+{
return [self listDBsLike:nil];
}
- (NSArray *)listDBsLike:(NSString *)dbsName
{
NSString *listDBStatement = nil;
+
if ((dbsName == nil) || ([dbsName isEqualToString:@""])) {
listDBStatement = [NSString stringWithFormat:@"SHOW DATABASES"];
}
else {
listDBStatement = [NSString stringWithFormat:@"SHOW DATABASES LIKE %@", [dbsName backtickQuotedString]];
}
- DLog(@"running query : %@", listDBStatement);
+
MCPResult *theResult = [connection queryString:listDBStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to retrieve databases list", @"database list error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to retrieve a list of databases.\n\nMySQL said: %@",
- @"database list error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
+ if ([connection queryErrored]) return NO;
NSMutableArray *names = [NSMutableArray array];
NSMutableString *name;
+
if ([theResult numOfRows] > 1) {
- int i;
- for ( i = 0 ; i < [theResult numOfRows] ; i++ ) {
+
+ NSUInteger i;
+
+ for (i = 0 ; i < [theResult numOfRows]; i++)
+ {
name = [[theResult fetchRowAsArray] objectAtIndex:0];
+
[names addObject:name];
}
}
diff --git a/Source/SPDatabaseRename.h b/Source/SPDatabaseRename.h
index 6273c4dd..e679f476 100644
--- a/Source/SPDatabaseRename.h
+++ b/Source/SPDatabaseRename.h
@@ -23,7 +23,8 @@
// More info at <http://code.google.com/p/sequel-pro/>
#import "SPDBActionCommons.h"
-#import "SPDatabaseInfo.h"
+
+@class SPDatabaseInfo;
/**
* The SPDatabaseRename class povides functionality to rename a database.
@@ -53,7 +54,7 @@
* @param NSString targetDatabaseName the name of the target database
* @result BOOL success
*/
-- (BOOL)renameDatabaseFrom: (NSString *)sourceDatabaseName to: (NSString *)targetDatabaseName;
+- (BOOL)renameDatabaseFrom:(NSString *)sourceDatabaseName to:(NSString *)targetDatabaseName;
/**
* This method creates a new database.
@@ -61,7 +62,7 @@
* @param NSString newDatabaseName name of the new database to be created
* @return BOOL YES on success, otherwise NO
*/
-- (BOOL) createDatabase: (NSString *)newDatabaseName;
+- (BOOL)createDatabase:(NSString *)newDatabaseName;
/**
* This method drops a database.
@@ -69,6 +70,6 @@
* @param NSString databaseName name of the database to drop
* @return BOOL YES on success, otherwise NO
*/
-- (BOOL) dropDatabase: (NSString *)databaseName;
+- (BOOL)dropDatabase:(NSString *)databaseName;
@end
diff --git a/Source/SPDatabaseRename.m b/Source/SPDatabaseRename.m
index 33d01724..b565b406 100644
--- a/Source/SPDatabaseRename.m
+++ b/Source/SPDatabaseRename.m
@@ -30,97 +30,85 @@
@synthesize dbInfo;
-- (SPDatabaseInfo *)getDBInfoObject {
+- (SPDatabaseInfo *)getDBInfoObject
+{
if (dbInfo != nil) {
return dbInfo;
- } else {
+ }
+ else {
dbInfo = [[SPDatabaseInfo alloc] init];
+
[dbInfo setConnection:[self connection]];
[dbInfo setMessageWindow:messageWindow];
}
+
return dbInfo;
}
-- (BOOL)renameDatabaseFrom: (NSString *)sourceDatabaseName to: (NSString *)targetDatabaseName {
+- (BOOL)renameDatabaseFrom:(NSString *)sourceDatabaseName to:(NSString *)targetDatabaseName
+{
SPDatabaseInfo *databaseInfo = [self getDBInfoObject];
- // check, whether the source database exists and the target database doesn't.
+ // Check, whether the source database exists and the target database doesn't.
NSArray *tables = [NSArray array];
+
BOOL sourceExists = [databaseInfo databaseExists:sourceDatabaseName];
BOOL targetExists = [databaseInfo databaseExists:targetDatabaseName];
+
if (sourceExists && !targetExists) {
- // retrieve the list of tables/views/funcs/triggers from the source database
+ // Retrieve the list of tables/views/funcs/triggers from the source database
tables = [connection listTablesFromDB:sourceDatabaseName];
- } else {
- SPBeginAlertSheet(NSLocalizedString(@"Cannot create existing database", @"create database exists error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to create the target database.\n\nDatabase %@ already exists.",
- @"create database error informative message"),
- targetDatabaseName]);
+ }
+ else {
return NO;
}
- DLog(@"list of found tables of source db: %@", tables);
-
+
BOOL success = [self createDatabase:targetDatabaseName];
+
SPTableCopy *dbActionTableCopy = [[SPTableCopy alloc] init];
+
[dbActionTableCopy setConnection:connection];
- for (NSString *currentTable in tables) {
- if ([dbActionTableCopy moveTable:currentTable
- from:sourceDatabaseName
- to:targetDatabaseName]) {
- } else {
- success = FALSE;
- }
+ for (NSString *currentTable in tables)
+ {
+ success = [dbActionTableCopy moveTable:currentTable from:sourceDatabaseName to:targetDatabaseName];
}
+
tables = [connection listTablesFromDB:sourceDatabaseName];
+
if ([tables count] == 0) {
[self dropDatabase:sourceDatabaseName];
- } else {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to delete database", @"delete database error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"Database %@ not empty, skipping drop database.",
- @"delete database not empty error informative message"),
- sourceDatabaseName]);
- }
+ }
+
return success;
}
-- (BOOL) createDatabase: (NSString *)newDatabaseName {
- NSString *createStatement = [NSString stringWithFormat:@"CREATE DATABASE %@",
- [newDatabaseName backtickQuotedString]];
+- (BOOL)createDatabase:(NSString *)newDatabaseName
+{
+ NSString *createStatement = [NSString stringWithFormat:@"CREATE DATABASE %@", [newDatabaseName backtickQuotedString]];
+
[connection queryString:createStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to create database", @"create database error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to create a database.\n\nMySQL said: %@",
- @"create database error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
- return YES;
+ if ([connection queryErrored]) return NO;
+
+ return YES;
}
-- (BOOL) dropDatabase: (NSString *)databaseName {
- NSString *dropStatement = [NSString stringWithFormat:@"DROP DATABASE %@",
- [databaseName backtickQuotedString]];
+- (BOOL)dropDatabase:(NSString *)databaseName
+{
+ NSString *dropStatement = [NSString stringWithFormat:@"DROP DATABASE %@", [databaseName backtickQuotedString]];
+
[connection queryString:dropStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to drop database", @"drop database error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to drop a database.\n\nMySQL said: %@",
- @"drop database error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
- return YES;
+ if ([connection queryErrored]) return NO;
+
+ return YES;
}
-- (void)dealloc {
- [dbInfo dealloc];
+- (void)dealloc
+{
+ [dbInfo release], dbInfo = nil;
}
@end \ No newline at end of file
diff --git a/Source/SPTableCopy.m b/Source/SPTableCopy.m
index 514eaeb1..c965350a 100644
--- a/Source/SPTableCopy.m
+++ b/Source/SPTableCopy.m
@@ -27,49 +27,35 @@
@implementation SPTableCopy
-- (NSString *)getCreateTableStatementFor: (NSString *)tableName inDB: (NSString *)sourceDB {
- NSString *showCreateTableStatment = [NSString stringWithFormat:@"SHOW CREATE TABLE %@.%@",
- [sourceDB backtickQuotedString],
- [tableName backtickQuotedString]
- ];
+- (NSString *)getCreateTableStatementFor:(NSString *)tableName inDB:(NSString *)sourceDB
+{
+ NSString *showCreateTableStatment = [NSString stringWithFormat:@"SHOW CREATE TABLE %@.%@", [sourceDB backtickQuotedString], [tableName backtickQuotedString]];
+
MCPResult *theResult = [connection queryString:showCreateTableStatment];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to show create table statement", @"show create table error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to retrieve the create table statement for a table.\n\nMySQL said: %@",
- @"show create table error informative message"),
- [connection getLastErrorMessage]]);
- }
if ([theResult numOfRows] != 0) {
return [[theResult fetchRowAsArray] objectAtIndex:1];
}
+
return @"";
}
-- (BOOL)copyTable:(NSString *)tableName from: (NSString *)sourceDB to: (NSString *)targetDB {
-
+- (BOOL)copyTable:(NSString *)tableName from:(NSString *)sourceDB to:(NSString *)targetDB
+{
NSString *createTableResult = [self getCreateTableStatementFor:tableName inDB:sourceDB];
NSMutableString *createTableStatement = [[NSMutableString alloc] initWithString:createTableResult];
if ([[createTableStatement substringToIndex:12] isEqualToString:@"CREATE TABLE"]) {
- // adding the target DB name and the separator dot after "CREATE TABLE ".
+
+ // Add the target DB name and the separator dot after "CREATE TABLE ".
[createTableStatement insertString:@"." atIndex:13];
[createTableStatement insertString:[targetDB backtickQuotedString] atIndex:13];
[connection queryString:createTableStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to copy table", @"copy table error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to copy a table.\n\nMySQL said: %@",
- @"copy table error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
+ if ([connection queryErrored]) return NO;
+
return YES;
- } else {
- NSLog(@"Could not copy non-table/view %@", tableName);
}
[createTableStatement release];
@@ -77,55 +63,44 @@
return NO;
}
-- (BOOL)copyTable:(NSString *)tableName from: (NSString *)sourceDB to: (NSString *)targetDB withContent:(BOOL)copyWithContent{
- // copy the table structure
+- (BOOL)copyTable:(NSString *)tableName from:(NSString *)sourceDB to:(NSString *)targetDB withContent:(BOOL)copyWithContent
+{
+ // Copy the table structure
BOOL structureCopyResult = [self copyTable:tableName from:sourceDB to:targetDB];
- // optionally copy the table data using an insert select
- if (structureCopyResult && copyWithContent) {
+ // Optionally copy the table data using an insert select
+ if (structureCopyResult && structureCopyResult && copyWithContent) {
+
NSString *copyDataStatement = [NSString stringWithFormat:@"INSERT INTO %@.%@ SELECT * FROM %@.%@",
- [targetDB backtickQuotedString],
- [tableName backtickQuotedString],
- [sourceDB backtickQuotedString],
- [tableName backtickQuotedString]
- ];
+ [targetDB backtickQuotedString],
+ [tableName backtickQuotedString],
+ [sourceDB backtickQuotedString],
+ [tableName backtickQuotedString]
+ ];
+
[connection queryString:copyDataStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to copy table data", @"copy table data error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to copy a table's data.\n\nMySQL said: %@",
- @"copy table data error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
- return YES;
+ if ([connection queryErrored]) return NO;
+ return YES;
}
+
return structureCopyResult;
}
-- (BOOL)moveTable:(NSString *)tableName from: (NSString *)sourceDB to: (NSString *)targetDB {
-
+- (BOOL)moveTable:(NSString *)tableName from:(NSString *)sourceDB to:(NSString *)targetDB
+{
NSString *moveStatement = [NSString stringWithFormat:@"RENAME TABLE %@.%@ TO %@.%@",
[sourceDB backtickQuotedString],
[tableName backtickQuotedString],
[targetDB backtickQuotedString],
[tableName backtickQuotedString]
];
- // moving the table
- DLog(@"Moving table %@ from %@ to %@", tableName, sourceDB, targetDB);
- DLog(@"Moving table: %@", moveStatement);
+ // Move the table
[connection queryString:moveStatement];
- if ([connection queryErrored]) {
- SPBeginAlertSheet(NSLocalizedString(@"Failed to move table", @"move table error message"),
- NSLocalizedString(@"OK", @"OK button"), nil, nil, messageWindow, self, nil, nil,
- [NSString stringWithFormat:NSLocalizedString(@"An error occured while trying to move a table.\n\nMySQL said: %@",
- @"move table error informative message"),
- [connection getLastErrorMessage]]);
- return NO;
- }
+ if ([connection queryErrored]) return NO;
+
return YES;
}