aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPExportController.m
Commit message (Collapse)AuthorAgeFilesLines
* Revert the change made in r2536 which prevented the use of exporting the ↵stuconnolly2010-08-171-106/+106
| | | | selected tables. We'll need to find another way to fix the original issue of not showing procs and functions in CSV and XML exports as well as preserving the user's selection when switching between export types.
* On the export dialog make sure the tables list is refreshed when switching ↵stuconnolly2010-08-151-4/+4
| | | | export types to ensure procs and functions are only included for SQL exports.
* Various export enhancements and fixes, including:stuconnolly2010-08-121-14/+26
| | | | | | | | | | | | - 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.
* During a CSV export if the user selects the tab as the separator update the ↵stuconnolly2010-07-251-0/+16
| | | | extension to be .tsv
* Tidy up SPExportController by splitting out all filename related methods to ↵stuconnolly2010-07-251-170/+7
| | | | a new category SPExportFilenameUtilities.
* Make the export dialog a little smarter with regard to the current context. ↵stuconnolly2010-07-251-0/+41
| | | | | | | | | | | For example: If either the table content or custom query editor views are active and there is data available, these options will be selected as the export source ('Filtered' or 'Query Result'). If either of these views are not active then the default source are the currently selected tables. If no tables are currently selected then all tables are checked. Note that in this instance the default export type is SQL where as in the case of filtered or query result export the default type is CSV. Also remove some old export methods. Related to issue #610.
* In addition to Gzip compression support when exporting SQL dumps add the ↵stuconnolly2010-07-241-1/+27
| | | | | | | | | | | | | | | | | | ability to use Bzip2 compression. Other changes include: + Enable the use of export compression (Gzip and Bzip2) for all export formats. + Move the compression options in the export dialog to the 'Advanced' export settings view. + Simplify the setting of common exporter properties (e.g. the connection, use of compression). + Fix a potential memory leak in the dot exporter. + Update the data importer to recognise Bzip2 compressed files. + Fix several display issues on export dialog. + Restore the default .csv file extension of CSV exports. + Correctly update the default export filename when selecting a output compression type. The addition of Bzip2 compression support implements issue #688.
* Make the 'Export' menu item in the 'File' menu behave more like the export ↵stuconnolly2010-07-151-8/+0
| | | | context menu by checking only the selecting tables. If no tables are selected all of them are checked by default (the same as before). Fixes issue #755.
* When searching for the location of the user's Desktop as the default ↵stuconnolly2010-07-091-1/+1
| | | | location of exports, change the search domain to NSAllDomainsMask to accommodate home directories which are not on the startup volume.
* On the export dialog, for the displayed custom filename don't attempt to ↵stuconnolly2010-07-081-1/+3
| | | | append a file extension for CSV exports.
* - Make the query info/error display collapsible.stuconnolly2010-07-061-3/+26
| | | | | | | - Add a 'gear menu' with the option to export the current result set as either CSV or XML. (Note, that the collapsiable view currently suffers from the same BWToolKit issue as the table information pane).
* Fix the resizing of the export dialog when the sheet is already ↵stuconnolly2010-07-051-0/+14
| | | | accommodating all available space. Also, change the cancel button's shortcut to escape. Thanks Hans.
* Simplify the ease at which export filename tokens can be localised as well ↵stuconnolly2010-07-051-9/+13
| | | | as how they are updated with respect to the selected export type.
* - Replace forward slashes with hyphens in export filenames generated from ↵stuconnolly2010-07-051-5/+35
| | | | | | | the use of custom tokens to accommodate dates which include them. - Ensure that the displayed custom export filename includes the default extension.
* Localise the custom export filename tokens.stuconnolly2010-07-021-15/+13
|
* Improve the preservation of the selected output path of exports between ↵stuconnolly2010-07-021-4/+2
| | | | openings of the export dialog.
* Prevent the background colour of the view custom filename format view of the ↵stuconnolly2010-07-021-0/+4
| | | | export dialog from changing when clicked.
* Fix the behaviour of the export dialog when toggling the customise filename ↵stuconnolly2010-07-021-13/+14
| | | | and advanced options views.
* When cancelling an export operation, keep the progress sheet on screen until ↵stuconnolly2010-07-021-4/+12
| | | | all the export files are removed.
* Preserve the selected output path of exports between openings of the export ↵stuconnolly2010-06-301-5/+5
| | | | dialog.
* Add tooltips to the export dialog's tableview.stuconnolly2010-06-301-1/+4
|
* • replaced @"sql" and @"spf" by their SPConstant definitionsBibiko2010-06-241-1/+1
| | | | | | | • further Save Session progress - store "saved as session accessory view data" globally to support "Save Session" - delete global "saved as session accessory view data" if last SP window will be closed - added to info.plist which tab is currently selected
* Remove NSLog() debug.stuconnolly2010-06-131-3/+1
|
* Exporter ehancements:stuconnolly2010-06-131-86/+91
| | | | | | | - Make sure the export button is disabled when the global structure, content and drop options are enabled, but the desellect all button is checked. - Replace the export dialog toolbar with a tabview, reducing the dialogs overall size. - Add the option to SQL dumps to specify when a new INSERT statement should be created, either after a certain amount of data or after a specific number of rows (defaults to every 250KiB). Known issue: incorrect VALUES clause generation of last row when creating a new INSERT after a specific number of rows.
* Exporter fixes:stuconnolly2010-06-101-7/+10
| | | | | | | - Correctly disable exporting custom query results as SQL and enable for all other formats. - Fix CSV exports when exporting from a source other than the selected tables. - Correctly export custom query results instead of all tables as a result of a missing IB connection.
* Exporter enhancements, including:stuconnolly2010-06-091-95/+205
| | | | | | | | - Move the custom filename options view to a drop down view on the main exporter dialog. - Change the export data source matrix to a popup button. - Fix the export button being enabled when no tables are selected to be exported. - Various interface validation fixes.
* When cancelling an export remove all files already written to disk.stuconnolly2010-06-071-1/+24
|
* A number of exporter improvements:rowanbeentje2010-06-071-7/+6
| | | | | | | | | | | | - 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
* On the XML export dialog add the option to specify the placeholder of ↵stuconnolly2010-06-061-0/+1
| | | | exported NULL values. Fixes issue #718.
* - Exporter: SQL select/deselect all will now toggle structure/drop table if ↵rowanbeentje2010-06-061-2/+17
| | | | | | | | those are enabled - Exporter: SQL export now correctly excludes structure/drop table if the global structure/drop toggles are disabled - Exporter: Save exporter window size
* Fix export dialog interface validation when switching between data formats. ↵stuconnolly2010-06-011-3/+3
| | | | Fixes issue #714.
* Rename TableContent to SPTableContent.stuconnolly2010-05-281-1/+1
|
* Rename TablesList to SPTablesList.stuconnolly2010-05-271-1/+1
|
* Perform interface validation on the new export window on a background thread ↵stuconnolly2010-05-271-31/+69
| | | | to prevent locking up the main thread when dealing with databases with a large number (>100) of tables.
* - Fix SQL export progress displayrowanbeentje2010-05-271-1/+1
| | | | | - When compression is enabled, use .sql.gz as file extension instead of .gz
* Update Growl controller notify method selector when an export finishes. ↵stuconnolly2010-05-251-1/+1
| | | | Fixes logs http://spbug.com/l/521 and http://spbug.com/522.
* Merge export redesign branch back into trunk.stuconnolly2010-05-241-289/+477
| | | | | | | | | | | | | | | | | | | | | 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.
* Initial implementation of tabs:rowanbeentje2010-05-231-3/+15
| | | | | | | | - Addition of PSMTabBar framework - Rework away from a document-based TableDocument - Support tabs throughout the application - Add menu items for creating tabs, and add support for dragging tabs to different windows
* - Make [MCPConnection getLastErrorMessage] more consistent by always ↵rowanbeentje2010-03-251-1/+1
| | | | | | | returning nil if no error occurred (previously a blank string was returned most of the time) - Add a new (BOOL)[MCPConnection queryErrored] method, changing all error message checks to use it for clarity
* Modify our current implementation of all singleton instances to be inline ↵stuconnolly2010-03-161-2/+4
| | | | with Apple's recommendations detailed at http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/TP40002974-CH4-SW32 This also fixes the associated static analysis warnings of potentially leaked objects.
* Fix some potential issues found during static analysis.stuconnolly2010-03-151-1/+1
|
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-5/+5
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* - Ensure all results for server variable requests are returned as strings, ↵rowanbeentje2010-01-031-0/+1
| | | | | | | to avoid binary-mode result issues with certain versions of MySQL (including 4.1.14). This should address Issue #509. - TableDocument now requests the server version string from MCPConnection, aiding caching
* Minor export work.stuconnolly2009-10-261-7/+12
|
* Replace the use of hard coded preference keys with constants to prevent ↵stuconnolly2009-10-171-1/+2
| | | | issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
* Remove the use of the logger in debugging the new export redesign as it's ↵stuconnolly2009-10-101-2/+0
| | | | creating the log file on every launch.
* Yet more export redesign work. Export is now currently working for single ↵stuconnolly2009-10-091-86/+74
| | | | 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-71/+51
| | | | 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-13/+29
|
* More export redesign work. CSV data generation is currently working using ↵stuconnolly2009-10-061-16/+32
| | | | 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.