diff options
author | rowanbeentje <rowan@beent.je> | 2009-09-14 00:14:25 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2009-09-14 00:14:25 +0000 |
commit | f85e71af7997af33ca10ee581c20c7c2264c6287 (patch) | |
tree | b0d1e2d4bf329c96c149ada7fd926a186f7cafe6 /Source/TableDump.h | |
parent | 1e2b95b113242895a988d0db02e7a7fe1708a63d (diff) | |
download | sequelpro-f85e71af7997af33ca10ee581c20c7c2264c6287.tar.gz sequelpro-f85e71af7997af33ca10ee581c20c7c2264c6287.tar.bz2 sequelpro-f85e71af7997af33ca10ee581c20c7c2264c6287.zip |
Significantly improve export:
- Rework CSV export to stream data, significantly reducing memory consumption and so increasing speed and stability when exporting large tables. By default safe/fast streaming is used, but a checkbox is available to select "low memory mode" full streaming, allowing export of any size table in theory. This addresses Issue #224.
- Rework XML export to stream data in the same way, also significantly reducing memory usage and providing the option of using low memory mode.
- Make SQL, CSV and XML export progress bars update more smoothly
- When exporting the current browse view or custom query result, show an indeterminate progress bar when copying large resultsets to avoid the app appearing to hang
Diffstat (limited to 'Source/TableDump.h')
-rw-r--r-- | Source/TableDump.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/TableDump.h b/Source/TableDump.h index 1dba02e2..de659fa2 100644 --- a/Source/TableDump.h +++ b/Source/TableDump.h @@ -76,6 +76,9 @@ IBOutlet id addTableContentSwitch; IBOutlet id addErrorsSwitch; IBOutlet id sqlFullStreamingSwitch; + IBOutlet id csvFullStreamingSwitch; + IBOutlet id multiCSVFullStreamingSwitch; + IBOutlet id multiXMLFullStreamingSwitch; IBOutlet id errorsSheet; IBOutlet id errorsView; IBOutlet id singleProgressSheet; @@ -131,14 +134,14 @@ // Export methods - (BOOL)dumpSelectedTablesAsSqlToFileHandle:(NSFileHandle *)fileHandle; - (BOOL)dumpSchemaAsDotToFileHandle:(NSFileHandle *)fileHandle; -- (BOOL)writeCsvForArray:(NSArray *)array orQueryResult:(MCPResult *)queryResult +- (BOOL)writeCsvForArray:(NSArray *)array orStreamingResult:(MCPStreamingResult *)streamingResult toFileHandle:(NSFileHandle *)fileHandle outputFieldNames:(BOOL)firstLine terminatedBy:(NSString *)terminated enclosedBy:(NSString *)enclosed escapedBy:(NSString *)escaped - lineEnds:(NSString *)lineEnds withNumericColumns:(NSArray *)tableColumnNumericStatus silently:(BOOL)silently; -- (BOOL)writeXmlForArray:(NSArray *)array orQueryResult:(MCPResult *)queryResult + lineEnds:(NSString *)lineEnds withNumericColumns:(NSArray *)tableColumnNumericStatus totalRows:(NSInteger)totalRows silently:(BOOL)silently; +- (BOOL)writeXmlForArray:(NSArray *)array orStreamingResult:(MCPStreamingResult *)streamingResult toFileHandle:(NSFileHandle *)fileHandle - tableName:(NSString *)table withHeader:(BOOL)header silently:(BOOL)silently; + tableName:(NSString *)table withHeader:(BOOL)header totalRows:(NSInteger)totalRows silently:(BOOL)silently; - (NSString *)htmlEscapeString:(NSString *)string; - (NSString *)createViewPlaceholderSyntaxForView:(NSString *)viewName; |