aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPCSVExporter.m
Commit message (Collapse)AuthorAgeFilesLines
* 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.