aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorbamse16 <marius@marius.me.uk>2009-03-02 18:48:31 +0000
committerbamse16 <marius@marius.me.uk>2009-03-02 18:48:31 +0000
commit0bf8e6ff980425d16c4411f4b375a809940ae49b (patch)
treed48276333f47a2e8abbf7f09d4effed08a4526c0 /Source
parent79156f6fccf7b49d02c95df0f43627b78584d80f (diff)
downloadsequelpro-0bf8e6ff980425d16c4411f4b375a809940ae49b.tar.gz
sequelpro-0bf8e6ff980425d16c4411f4b375a809940ae49b.tar.bz2
sequelpro-0bf8e6ff980425d16c4411f4b375a809940ae49b.zip
Better error handling of dump reading (checking for NSError object instead of content of read string)
Raising error when trying to import empty CSV file.
Diffstat (limited to 'Source')
-rw-r--r--Source/CMMCPConnection.m9
-rw-r--r--Source/TableDump.m22
2 files changed, 27 insertions, 4 deletions
diff --git a/Source/CMMCPConnection.m b/Source/CMMCPConnection.m
index 11f60b97..31efb4a1 100644
--- a/Source/CMMCPConnection.m
+++ b/Source/CMMCPConnection.m
@@ -328,6 +328,8 @@ WARNING : incomplete implementation. Please, send your fixes.
if (delegate && [delegate respondsToSelector:@selector(willQueryString:)]) {
[delegate willQueryString:query];
}
+
+ NSDate *startQueryDate = [NSDate date];
if (0 == (theQueryCode = mysql_query(mConnection, theCQuery))) {
if (mysql_field_count(mConnection) != 0) {
@@ -346,6 +348,13 @@ WARNING : incomplete implementation. Please, send your fixes.
return nil;
}
+
+ //Log how long the query took
+ if (delegate && [delegate respondsToSelector:@selector(willQueryString:)]) {
+ NSString *timedQuery = [NSString stringWithFormat:@"%@ /* %.2f */", query, [[NSDate date] timeIntervalSinceDate:startQueryDate]];
+ [delegate willQueryString:timedQuery];
+ }
+
[self startKeepAliveTimerResettingState:YES];
diff --git a/Source/TableDump.m b/Source/TableDump.m
index 7d035830..0b134bf3 100644
--- a/Source/TableDump.m
+++ b/Source/TableDump.m
@@ -372,19 +372,21 @@
NSError *errorStr = nil;
NSMutableString *errors = [NSMutableString string];
NSString *fileType = [[importFormatPopup selectedItem] title];
-
+
//load file into string
dumpFile = [SPSQLParser stringWithContentsOfFile:filename
encoding:[CMMCPConnection encodingForMySQLEncoding:[[tableDocumentInstance connectionEncoding] UTF8String]]
error:&errorStr];
-
- if (!dumpFile) {
+
+ if (errorStr) {
NSBeginAlertSheet(NSLocalizedString(@"Error", @"Title of error alert"),
NSLocalizedString(@"OK", @"OK button"),
nil, nil,
tableWindow, self,
nil, nil, nil,
- NSLocalizedString(@"Couldn't open file. Be sure that the path is correct and that you have the necessary privileges.", @"Message of panel when file cannot be opened"));
+ [errorStr localizedDescription]
+ );
+ [pool release];
return;
}
@@ -493,6 +495,18 @@
[singleProgressBar setUsesThreadedAnimation:NO];
[singleProgressBar setIndeterminate:NO];
+ if([importArray count] == 0){
+ NSBeginAlertSheet(NSLocalizedString(@"Error", @"Title of error alert"),
+ NSLocalizedString(@"OK", @"OK button"),
+ nil, nil,
+ tableWindow, self,
+ nil, nil, nil,
+ NSLocalizedString(@"Could not parse file as CSV", @"Error when we can't parse/split file as CSV")
+ );
+ [pool release];
+ return;
+ }
+
if (progressCancelled) {
progressCancelled = NO;
[pool release];