aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2009-08-20 00:41:30 +0000
committerrowanbeentje <rowan@beent.je>2009-08-20 00:41:30 +0000
commita3f0cd7a5c21c87f154956cb645cb41b1bb35821 (patch)
tree444ec8c61df6c41bf4ab7c67b68d1d6666ff244d /Source
parentb30cc9d877f2dab24901ac9cf5c6e1f1835fb454 (diff)
downloadsequelpro-a3f0cd7a5c21c87f154956cb645cb41b1bb35821.tar.gz
sequelpro-a3f0cd7a5c21c87f154956cb645cb41b1bb35821.tar.bz2
sequelpro-a3f0cd7a5c21c87f154956cb645cb41b1bb35821.zip
- Change MCPStreamingResult to use a safer streaming mode by default - download all results as fast as possible from the server, to avoid blocking, but do so in a background thread to allow results processing to start as soon as data is available. Many thanks to Hans-Jörg Bibiko for assistance with this.
- Add an option to the SQL export dialog to allow selection of the full-streaming method, with a warning that it may block table UPDATES/INSERTS.
Diffstat (limited to 'Source')
-rw-r--r--Source/TableDump.h1
-rw-r--r--Source/TableDump.m2
2 files changed, 2 insertions, 1 deletions
diff --git a/Source/TableDump.h b/Source/TableDump.h
index d32cddea..dc99d4bb 100644
--- a/Source/TableDump.h
+++ b/Source/TableDump.h
@@ -75,6 +75,7 @@
IBOutlet id addCreateTableSwitch;
IBOutlet id addTableContentSwitch;
IBOutlet id addErrorsSwitch;
+ IBOutlet id sqlFullStreamingSwitch;
IBOutlet id errorsSheet;
IBOutlet id errorsView;
IBOutlet id singleProgressSheet;
diff --git a/Source/TableDump.m b/Source/TableDump.m
index 4e53afb9..e07e4c86 100644
--- a/Source/TableDump.m
+++ b/Source/TableDump.m
@@ -1001,7 +1001,7 @@
rowCount = [[[[mySQLConnection queryString:[NSString stringWithFormat:@"SELECT COUNT(1) FROM %@", [tableName backtickQuotedString]]] fetchRowAsArray] objectAtIndex:0] intValue];
// Set up a result set in streaming mode
- streamingResult = [mySQLConnection streamingQueryString:[NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]]];
+ streamingResult = [mySQLConnection streamingQueryString:[NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]] useLowMemoryBlockingStreaming:([sqlFullStreamingSwitch state] == NSOnState)];
fieldNames = [streamingResult fetchFieldNames];
// Update the progress text and set the progress bar back to determinate