aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPCSVExporter.m
Commit message (Collapse)AuthorAgeFilesLines
* Implement a large number of minor fixes and improvements to export ↵rowanbeentje2011-05-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | functionality, including an overhaul of filename NSTokenField functionality: - Improve the NSTokenField used for export filenames: only tokenise reserved tokens, don't tokenise reserved words which are parts of other words, allow the comma to be used, update tokenisation during typing, and prevent whitespace triming. - Save the last selected export path, and make the path selection button open a dialog to the selected directory - Save the export filename and restore on future uses of the export dialog (only if the name contains placeholder tokens, so one-off export names aren't saved) - If the advanced options are collapsed, display a summary of the selected options next to the disclosure triangle - Display a small warning in the corner of the window if the export file cannot be imported into Sequel Pro, to warn those people attempting to back up their databases in XML - Clarify and improve the export warning dialog if files already exist or could not be created; make the simpler file-exists cases reflect OS-style dialogs, alter wording based on the number of files that failed and how they failed, and only show the "replace" or "skip" type buttons if it makes sense to do so. - Fix a mutation-during-enumeration error when skipping files - If "Cancel" is chosen in the export file creation replace/error dialog, redisplay the export sheet with the previous selection still active - Add support for year, month and day tokens in the filename token list - Don't allow blank custom filenames, before or after tokenisation, as this can cause problems - instead fall back to default filenames in those cases - Only append the extension if one hasn't been set - on all export formats, extending r3284 - If exporting to multiple files option is enabled but only one table is selected, supply that table name for filename table tokens - Update the progress bar to reflect update progress when exporting CSV data - Fix a bug causing exports to hang if the low-memory advanced option was set and content was selected to export and any empty tables were encountered - Save memory use and compression advanced export settings across sessions - Update localisable strings
* • fixed bug for exporting data as CSV if no header row should be exportedBibiko2011-05-031-2/+1
| | | | - fixes issue 1041
* fixed compiler warningssqlprodev2011-03-011-1/+2
|
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-2/+0
| | | | | | | | - Prepare for the implementation of PDF and HTML export by hiding the export options box for export types that don't need it. - Fix some spacing issues on the export dialog. - Create a new SPCategoryAdditions header that is included in the apps precompiled header, making all additions available to all classes. - Update strings files.
* • for each export/copy/drag method other than SQL pass any spatial fields ↵Bibiko2010-10-091-1/+4
| | | | as WKT string; for SQL pass them as X'…' binary data
* Fix various potential memory leaks and general warnings as a result of ↵stuconnolly2010-08-191-1/+1
| | | | static analysis.
* Various export enhancements and fixes, including:stuconnolly2010-08-121-2/+6
| | | | | | | | | | | | - A new SPExportFile class, providing an abstract interface to the handling and creation of export files. - Enables the centralisation of all file/file handle creation logic as well as better support for handling situations where files fail to be created, including files that already exist at the export location. - New SPExportFileHandleStatus constants to support the reporting of file handle creation. - Update SPExporter to use the new file class instead of directly using an instance of SPFileHandle. - Add the necessary logic to deal with files that already exist on disk, by providing the user with 3 options: cancel the export, ignore the files in question or overwrite them. We might want to enhance this to make new files sequential in name to prevent overwriting. Fixes issue #742. - New SPExportFileUtilities category, which centralises all the logic relating to writing export type headers as well as dealing with problems occurred during file/file handle creation. - Improve feedback given on the export progress sheet during export initialisation. - Tidy up and improve comments.
* Fix various memory leaks as a result of static analysis.stuconnolly2010-07-061-2/+2
|
* A number of exporter improvements:rowanbeentje2010-06-071-7/+5
| | | | | | | | | | | | - Improve interface validation on the SQL view, including fixing no-content toggling - Fix the export of views to correctly construct placeholder tables and fix view syntax export (this addresses Issue #707) - Fix logic controlling Stored Procedure and Function export - fix hangs and allow correct export - Handle permission errors when retrieving Stored Pro/Function syntax - Improve export of linebreaks in CSV quoted cells for improved Excel compatibility - SQL export now retrieves table syntax as it progresses through the tables - more accurate progress bar and removes initial pause when exporting lots of tables - Alter filename construction to use centralised filename string: fixes end export Growl notification - Improve dump comments
* Remove unsed try/catch exception blocks in all data exporters.stuconnolly2010-05-271-288/+285
|
* Fix an overreleased dictionary crash and always ensure both autorelease ↵stuconnolly2010-05-261-7/+8
| | | | pools are released to prevent potential memory leaks. Fixes log http://spbug.com/l/584.
* Merge export redesign branch back into trunk.stuconnolly2010-05-241-39/+139
| | | | | | | | | | | | | | | | | | | | | Includes a completely redesign approach to all export data types based on the use of NSOperation subclasses. CSV, SQL, XML and dot export types are currently functional, while the source files for PDF and HTML export types exist they are to be implemented, but are currently hidden from the interface. Also includes the following: - Completely redesigned export interface. - The ability to customize CSV NULL values. - The ability to specify whether the UTF-8 BOM should be used in SQL dumps. - The ability to specify whether BLOB fields are output as hex or plain text during SQL dumps. Defaults to hex. - Exporting currently selected tables via the tables list context menu. Outstanding issues: - Not all progress indicators for all export types are functional (or functioning correctly). - A few issues related to the introduction of only exporting the content and create and drop syntax of specific tables during SQL dumps. Needs some serious testing and benchmarking to ensure it replicates the current export functionality.
* Yet more export redesign work. Export is now currently working for single ↵stuconnolly2009-10-091-81/+102
| | | | tables, but produces deadlock errors when attempting to export multiple tables as a result of the initial streaming request for the tables' data all being done from the same thread. To resolve this each of the streaming requests will be made concurrently in separate operations and once the data is available a new concurrent operation (SPExporter subclass instance) will be spawned to perform the data conversion process.
* More export redesign work. Note that the current implementation has a major ↵stuconnolly2009-10-071-2/+5
| | | | flaw in that exporter instances (NSOperation subclasses) are not reusable and so we have to create a new instance for every 'chunk' of data we want to process.
* More export redesign work.stuconnolly2009-10-061-10/+0
|
* More export redesign work. CSV data generation is currently working using ↵stuconnolly2009-10-061-255/+228
| | | | the old non-streaming code, but does not yet write to any files. Please note that this is still very much a work in progress.
* Some more data exporter redesign changes I've been meaning to commit.stuconnolly2009-09-161-42/+19
|
* More data export work.stuconnolly2009-08-291-5/+32
|
* Implement the core CSV export process in the new CSV exporter class.stuconnolly2009-08-291-0/+281
|
* Add the first classes of the new export architecture. See the description at ↵stuconnolly2009-08-291-0/+54
the top of SPExporter.h for more information.