diff options
author | rowanbeentje <rowan@beent.je> | 2008-12-06 22:34:18 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2008-12-06 22:34:18 +0000 |
commit | f4ba50508f2c89b3ca5df46a7ec09e0002f7e2e5 (patch) | |
tree | 1231d2377cde94c021d34394620a0dbbc3e185bd /TableDocument.m | |
parent | 1a7130fea502cf627897984fc5a8453e9df9ab00 (diff) | |
download | sequelpro-f4ba50508f2c89b3ca5df46a7ec09e0002f7e2e5.tar.gz sequelpro-f4ba50508f2c89b3ca5df46a7ec09e0002f7e2e5.tar.bz2 sequelpro-f4ba50508f2c89b3ca5df46a7ec09e0002f7e2e5.zip |
- Identified and corrected a major n^2 bottleneck in working with all query result sets - when iterating through a mysql result set, all the data up to each row was seeked through again. With this fixed SP can work with very large result sets at much, much higher speeds.
- Fixed incorrect query splitting in splitQueries - improves custom queries and imports.
- CSV export now exports NULLs as an empty cell (eg "1,,3"). This resolved Issue #67. Correspondingly, CSV import now also accepts this syntax.
- CSV and SQL exports no longer quote numeric values for file size and neatness improvements.
- Multi-table exports now show progress through the tables in the text description, and use the progress bar for export of each table, for improved feedback.
- The old "Export Table Content" menu has been split into two - "Current Browse View" which matches the old behaviour, and a new "Current Table" entry. This addresses Issue #97.
- Exports now write data to a file stream as data is processed for export, and also parse data from the database as a stream where possible. This leads to lower memory usage, speed improvements, and much more accurate and constant feedback.
- The export processes have been restructured and rewritten for further speed and memory improvements.
- SQL exports now correctly export BLOB and TEXT contents ready for re-import into all systems.
- SQL exports now group multiple VALUES for each INSERT INTO command for much, much faster imports of exported data.
Diffstat (limited to 'TableDocument.m')
-rw-r--r-- | TableDocument.m | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/TableDocument.m b/TableDocument.m index d380b681..59aad2e0 100644 --- a/TableDocument.m +++ b/TableDocument.m @@ -439,9 +439,9 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa MCPResult *queryResult = [mySQLConnection listDBs]; + if ([queryResult numOfRows]) [queryResult dataSeek:0]; int i; for ( i = 0 ; i < [queryResult numOfRows] ; i++ ) { - [queryResult dataSeek:i]; [chooseDatabaseButton addItemWithTitle:[[queryResult fetchRowAsArray] objectAtIndex:0]]; } if ( ![self database] ) { @@ -1013,8 +1013,8 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa } //get variables theResult = [mySQLConnection queryString:@"SHOW VARIABLES"]; + if ([theResult numOfRows]) [theResult dataSeek:0]; for ( i = 0 ; i < [theResult numOfRows] ; i++ ) { - [theResult dataSeek:i]; [tempResult addObject:[theResult fetchRowAsDictionary]]; } variables = [[NSArray arrayWithArray:tempResult] retain]; |