aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableSource.m
Commit message (Collapse)AuthorAgeFilesLines
* - Simplify table source table setup and make thread safe. This should ↵rowanbeentje2010-03-221-159/+140
| | | | | | | | address http://log.sequelpro.com/view/43 , http://log.sequelpro.com/view/46 - Improve keepalive timer interaction - this should address http://log.sequelpro.com/view/74 and http://log.sequelpro.com/view/71 - Further thread safety improvements to Custom Query, Table Document, and the history controller
* When adding an index, after splitting the list of supplied columns strip ↵stuconnolly2010-03-221-16/+10
| | | | leading and trailing whitespace rather than checking whether the first character is empty. This accommodates lists of fields which have more than one leading and trailing empty characters and fixes the following exception: http://log.sequelpro.com/view/70.
* - Make a number of changes to attempt to improve disconnection/quit ↵rowanbeentje2010-03-161-2/+2
| | | | | | | | | crashes: prevent multiple disconnects, add more checks, cancel current queries, and add a tiny delay to allow mysql cleanup. - Alter MCPStreamingResult to no longer return a retained instance, setting up correct result disposal on autorelease but changing callers to retain as soon as they receive. - Review and change a number of local variables shadowing/shielding other local or global variables.
* Following a manual code review, fix some local variables overriding global ↵rowanbeentje2010-03-151-1/+2
| | | | variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
* Peform the removal of table fields on a background thread with the option to ↵stuconnolly2010-03-141-17/+43
| | | | cancel the operation to prevent locking up the main thread.
* Peform the addition and removal of table indexes on a background thread with ↵stuconnolly2010-03-141-21/+54
| | | | the option to cancel the operation to prevent locking up the main thread. Fixes issue #591.
* - Fix some leaks and autoreleases after checking static analysisrowanbeentje2010-03-131-8/+6
|
* Lots more printing support enhancements, including:stuconnolly2010-03-131-9/+37
| | | | | | | | | - The ability to print the extended table information view using a new template. - The inclusion of NULL values diaplyed as the user's NULL value placeholder when printing a table's sturcture and indexes. - If enabled in the user's preferences, the inclusion of vertical gridlines in the table views. - Dynamic calculation of page margins based on the paper size of the selected printer as opposed to using hard coded values. - Lots of other little style enhancements.
* Various printing support enhancements, including:stuconnolly2010-03-121-15/+41
| | | | | | | | | - Splitting out all printing methods to SPPrintController which is category of TableDocument. - The ability to print table relations. - If present the inclusion of table indexes when printing a table's source. - If the user has use monospaced fonts enables, then the print out's tabular data will be in a monospaced font. - Lots of other style enhancements, including page headings and sections headings.
* - Fix an exception when table source edit errors occur and the user ↵rowanbeentje2010-03-071-1/+1
| | | | requests changes be discarded; this addresses http://log.sequelpro.com/view/16
* - Fix exception on duplication of table source rows that haven't been saved ↵rowanbeentje2010-03-071-3/+7
| | | | | | | yet; this addresses http://log.sequelpro.com/view/23 - Clean up fix in r1859
* • Reset AUTO_INCREMENT in Table Info Pane uses inline entering of the new ↵Bibiko2010-02-231-4/+5
| | | | | | | | | | value (no sheet) • "Delete all records" confirmation sheet shows a checkbox "Reset AUTO_INCREMENT after deletion" if PRI key is given for that table • minimized table data querying for auto_inc • optimized auto_inc change notification • if user changes tabVIew to Table Info Pane update data in beforehand • TRUNCATE query updates auto_inc value as well in TABLE INFORMATION
* • implemented chance to reset AUTO_INCREMENT of the PRIMARY KEY field in ↵Bibiko2010-02-221-21/+51
| | | | | | | | Table Info Pane via Advanced popup button and sheet (not yet optimal GUI solution) • SPAlertSheets - ensure that this sheet becomes the keyWindow
* • implemented chance to reset AUTO_INCREMENT of the PRIMARY KEY field in ↵Bibiko2010-02-221-3/+18
| | | | | | Structure Pane via right-click at the index tableView - implementation in the Table Info follows soon
* • initial work to give the chance to reset the table's AUTO_INCREMENT valueBibiko2010-02-221-0/+25
| | | | - not yet active
* • improved error handling in Structure View for adding/renaming/removing a ↵Bibiko2010-02-031-2/+26
| | | | | | | field if the actual underlying table doesn't exit anymore; now it informs the user, clean the view, and reloads the Table List • improved error handling in Content View for refreshing data for the current table if the table doesn't exist anymore - this fix and the fix in [TableContent setCompareTypes:] to check for valid table data removes some NSPlaceholderString and NSScanner warnings
* • field mapping sheet is now document-modal instead of blocking SP entirelyBibiko2010-02-031-0/+42
| | | | | | | • if an error occurred while retrieving column or index data in Structure pane reset Structure pane to a stable status, display the error message, and reload Tables List table due to the fact the it's very likely that SP tries to retrieve data from a table which doesn't exist anymore • fixed spelling of "occurred" Note: NOT YET DONE: if in Structure view the actual underlying table was deleted or renamed by an other mysql event and the user tries to add/change a field do suppress this attempt safely
* • added call to update the completion list to neuralgic placesBibiko2010-01-211-0/+3
| | | | - next steps to minimize the traffic - ie manipulating the dict directly without querying - follows
* Address Issue #546 (format string bugs):rowanbeentje2010-01-201-7/+8
| | | | | | - Fix incorrect uses of [NSString stringWithFormat:] with preconstructed strings and no arguments in SPUserManager - To fix display issues, replace NSBeginAlertSheet (which includes automatic sprintf expansion of the message) with a safely-escaped SPBeginAlertSheet in many files
* • fixed several sheetDidEnd selectors to close a NSAlert or NSWindow ↵Bibiko2010-01-131-3/+6
| | | | | | | properly to avoid overlapping sheets • F5 completion - if a table is selected and no further parsing info is given show that table and its fields at the top of the suggestions
* Improve row deselection and error handling in Table Source and Content views:rowanbeentje2010-01-091-12/+22
| | | | | | | | - Change the error dialog buttons to "Edit row" and "Discard changes" instead of "OK" and "Cancel" - Correctly refocus the deselected row - Edit the first cell in the row after errors. - Fix row deselection and error handling on the Table Source view
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-33/+33
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* • replaced the (10.4) deprecated [NSTableView ↵Bibiko2010-01-041-14/+8
| | | | | | tableView:writeRows:toPasteboard:] method by [NSTableView tableView:writeRowsWithIndexes:toPasteboard:] • some code cosmetics
* - Ensure all results for server variable requests are returned as strings, ↵rowanbeentje2010-01-031-0/+3
| | | | | | | 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
* Remove unused variable.stuconnolly2009-12-151-2/+0
|
* Replace the main toolbar's #define'd identifier constants with extern's. ↵stuconnolly2009-12-121-3/+3
| | | | This completes the conversion of all constants in SPConstants to extern's.
* Implement the same logic as implemented in r1548 except for the removal of ↵stuconnolly2009-11-241-62/+119
| | | | indexes. As foreign keys have a dependency on the presence of indexes to prevent table scans, offer the user the ability to drop the relationship before the index, which would otherwise result in an error if not dropped first.
* When attempting to delete a field that is part of a foreign key ↵stuconnolly2009-11-181-5/+51
| | | | | | | | | relationship, remove the key before the field to prevent an error. Obviously warn the user that the key is being dropped as well. Fixes issue #462. This check also needs to be implemented when removing indexes as foreign keys depend on the presence of indexes to prevent table scans. Something to be discussed, the display of foreign keys that are made up of multiple fields in the relations table and link arrows in the content table.
* Implement query cancellation support within MCPKit, and add it to the task ↵rowanbeentje2009-11-151-2/+14
| | | | | | | | | | functionality: - MCPKit now supports cancelling the active query; for MySQL servers >= 5.0.0 a query kill is attempted from a new connection, and if that fails or for MySQL < 5 a reconnect is triggered. - TableDocument now supports enabling a cancel task button on the task interface, including an optional callback - Implement query cancellation for custom queries. This addresses Issue #86. - Implement query cancellation for table content loads, filters, and sorts.
* Updates to the 'use monospaced font' preference, making it a lot more ↵stuconnolly2009-11-141-76/+50
| | | | consistent across all table views. Also includes live updating when the preference is changed as well as its implementation in the query console, process list and variables table views.
* Set keyboard shortcut for Delete button in alert dialogs to command D.avenjamin2009-11-091-2/+4
| | | | Set keyboard shortcut for Truncate button in alert dialog to command T
* Switch buttons on delete index dialog.stuconnolly2009-11-091-3/+3
|
* When removing a field or index, use its name in the dialog message.stuconnolly2009-11-091-10/+11
|
* Don't run the add new index sheet modally, thus blocking the main thread. ↵stuconnolly2009-11-091-168/+194
| | | | Part of issue #357. Also some refactoring.
* When creating a new field of type BIT, allowing default values in BIT ↵stuconnolly2009-11-071-12/+14
| | | | notation. For example b'1'. Fixes #340.
* - Alter query start/stop notifications to apply to only the originating ↵rowanbeentje2009-11-051-4/+4
| | | | window, regardless of key state, by passing in and looking for the table document instance
* - Add task support to all the main interface viewsrowanbeentje2009-11-041-9/+6
| | | | | | | | - Improve task support on previously supported views - Use a threaded task load for all initial table loads - Support threaded task loads for table content loads, reloads, sorts, and filters - Improve upon previous threaded task loads by minimising view updates and supporting updates of the existing data arrays where valid
* Replace the multiple occurrences of hard coded toolbar identifiers for the ↵stuconnolly2009-10-281-2/+2
| | | | main toolbar with constants.
* Missing space when appending extra field info when creating a new field. ↵stuconnolly2009-10-271-0/+1
| | | | Fixes original problem reported in issue #445.
* Change the order of the cancel/remove buttons on the remove field dialog.stuconnolly2009-10-271-3/+3
|
* - Set up TableSource to respond to task notifications to prepare for ↵rowanbeentje2009-10-271-3/+75
| | | | | | | threaded queries - Alter task notifications to pass the TableDocument as the notification object so that only the current window responds to the notification, allowing other windows to be fully used while a window is performing a task
* Replace the use of hard coded preference keys with constants to prevent ↵stuconnolly2009-10-171-12/+13
| | | | issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
* - When moving or editing table columns, preserve comments and any column ↵rowanbeentje2009-10-031-0/+29
| | | | | | | details which are currently unhandled (column formats, storage, references). This addresses the data loss part of Issue #180. - Parse out column comments in SPTableData to allow displaying or editing comments in future
* - Replaces uses of the deprecated selectRow:byExtendingSelection: with ↵rowanbeentje2009-09-021-7/+7
| | | | selectRowIndexes:byExtendingSelection:
* - The add, rename and copy table sheets should not block the main thread ↵stuconnolly2009-08-181-24/+44
| | | | | | | | (part of issue #357). - Improve the consistency of destructive confirmation dialogs by making the remove field and index dialogs default button 'Cancel' with a key equivalent of return. - Disable the remove field button when the currently selected table only has one field, removing the need for the extra check (and subsequent dialog) when the user attempts to remove a field.
* - Fix an errant NSLog in TableSourcerowanbeentje2009-08-011-2/+0
| | | | | | - Improve and make consistent state saving in TableContent; now saves filters and scroll position mor reliably on refresh/edit, and supports remembering and restoring which rows were selected - Significantly improve table history - only create entries for tables switches or filters, only remember 50 items, and save view/filters/scroll position/selections in table content view
* Put the table content filter in a split view so the field name drop down and ↵stuconnolly2009-08-011-19/+16
| | | | search field can be resized. Addresses issue #339.
* Improve TablesList significantly:rowanbeentje2009-07-281-1/+8
| | | | | | | | - If there are twenty or more tables, show a table quicksearch/filter at the top of the list, and update the rest of the code to match. This addresses issue #178. - Select tables and views alphabetically by user's current locale (instead of default MySQL "A B C a b c") - When adding or duplicating tables, insert them at the correct point - Fix a number of minor display bugs caused by incorrect interaction with the tables list caches
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-4/+3
| | | | | | | | | | | | | | | - Includes all custom code from subclasses CMMCPConnection and CMMCPResult, meaning they have subsequently been removed from the project. - All previous Sequel Pro specific code in the above subclasses has been removed in favour of the delegate (currently set to TableDocumet) informing the framework of such information. - All references to CMMCPConnection and CMMCPResult have subsequently been changed to MCPConnection and MCPResult. - Framework includes MySQL 5.1.36 client libraries and source headers. - Framework is now built as a 4-way (32/64 bit, i386/PPC arch) binary. - All import references to <MCPKit_bundled/MCPKit_bundled.h> have been changed to <MCPKit/MCPKit.h>. - New script 'build-mysql-client.sh' can be used to build the MySQL client libraries from the MySQL source. See the script's header for a list of available options or run it with no arguments to display it's usage. Note that there are still a few changes to be made to the framework with regard to removing Sequel Pro specific calls to the delegate. These however can be made later on as they have no effect on functionality and are merely design changes. Also, note that any future development done on the framework should be made to be as 'generic' as possible, with no Sequel Pro specific references. This should allow the framework to be integrated into another project without the need for SP specific code.
* - Make the DBView window the document window. This allows the document to ↵rowanbeentje2009-07-151-1/+2
| | | | | | | | | | be closed when the window is closed, freeing the document's memory - Update a number of dealloc methods to include more retained memory, and to avoid releasing non-retained memory - Remove notification observers and delegates where appropriate to avoid issues after document closing - Fix a couple of memory leaks - Support window cascading for all windows past the first, using the first window as the autosave window