aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableRelations.m
Commit message (Collapse)AuthorAgeFilesLines
* Warning: this branch commit is largely untested, and known to throw ↵rowanbeentje2012-02-231-10/+8
| | | | | | | | | | | | exceptions as database structure retrieval is currently missing! Further work on SPMySQLFramework integration: - Improve SPMySQL framework build settings including correct ppc builds and a Distribution configuration for the build distributions to match - Add new convenience querying and result methods to the framework - Amend Sequel Pro source to use the new SPMySQL.framework methods everywhere, replacing MCPKit methods where they differ and improving some functions - Remove MCPKit from the source - Fix a number of warnings on Release-style builds
* For some reason table creation on MySQL 4.0 servers doesn't like the ↵stuconnolly2011-10-091-6/+6
| | | | engine/type being quoted.
* - Make add relation error detail intro localisablerowanbeentje2011-09-091-1/+7
| | | | | | - If the add relation error strongly appears to be a name-already-taken error, add the name to the takenNames list to prevent it being used again and to highlight the error - Update localisable strings
* Rework relation addition and name lookups following testing and research:rowanbeentje2011-09-071-91/+55
| | | | | | | | - Remove the background lookup of table constraint names for the current database. This prevented connection use while the query was running, and the query cannot be optimised and severely taxes servers with many databases. Revert to checking names against names in the current database - Repurpose the activity spinner for adding relation query execution - When an error is encountered adding a relation, re-open the sheet with the submitted values after displaying the error - Add use of 'SHOW InnoDB STATUS' command and text extraction to show more explicit errors for the most common constraint errors
* Replace use of string literals with constants in SPTableRelations.mstuconnolly2011-09-041-15/+22
|
* Fix for issue 1168. Whenever the database is changed load all of the ↵stuconnolly2011-09-041-69/+130
| | | | currently used relation names in a backgroud thread. In the event that the user opens the add new relation sheet during this process, the ability to enter a relation name and confirm the addition is disabled until the retrieval process is complete. There is also a new progress indicator on the add sheet to indicate this.
* Minor tidy up.stuconnolly2011-07-111-5/+1
|
* * Fixes a spacing issue and an issue where MySQL keywords could be ↵dmoagx2011-07-041-9/+71
| | | | | | translated (fixes #1105) * Adds support for naming relations (fixes #948, #1085)
* * Allow table names to be sorted in lists via "AlphabeticalTableSorting" ↵dmoagx2011-04-291-2/+5
| | | | | | hidden pref key * Change some [[NSPopupButton selectedItem] title] to [NSPopupButton titleOfSelectedItem]
* - Add the ability to double-click in empty areas of the main tableviews to ↵rowanbeentje2011-04-251-0/+8
| | | | add new rows/records
* Fix more compiler warnings, including a few bugsrowanbeentje2011-03-081-8/+8
|
* • fixed table list querying by checking utf8 connection since we query ↵Bibiko2011-01-261-6/+17
| | | | info_schema
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-1/+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.
* Considering nearly every class uses constants, import it via the prefix header.stuconnolly2010-10-191-1/+0
|
* - Make a few more strings localizablerowanbeentje2010-08-011-2/+2
|
* • localisation issuesBibiko2010-07-051-61/+60
| | | | | | - made "This table currently does not support relations..." localisable - resized some nib elements for longer translations - replaced [[NSApp mainMenu] itemWithTitle:@"Table"] by [[NSApp mainMenu] itemWithTag:SPMainMenuTable] for dynamic title changes
* Rename TableDocument to SPDatabaseDocument.stuconnolly2010-05-281-1/+1
|
* Rename TablesList to SPTablesList.stuconnolly2010-05-271-1/+1
|
* Initial implementation of tabs:rowanbeentje2010-05-231-2/+2
| | | | | | | | - 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
* Rework alert sheets:rowanbeentje2010-05-091-2/+2
| | | | | | | - Change MCPConnection.m to no longer use a reference to tableWindow to attach sheets - instead use a delate error display method if available - Rework TableSource and TableContent sheetDidEnd methods into per-task methods rather than overloading contextInfo - Rework SPAlertSheets to perform actions on the main thread, with the loss of (unused) support for a didDismissSelector. This addresses a number of crashes logged by the crash reporter
* changed many occurrences of "REMOVE" to "DELETE", eg. "DELETE DATABASE"jakob2010-04-221-2/+2
|
* fix for referential action not showing in relations view in certain ↵mtvee2010-04-061-2/+2
| | | | circumstances
* - Make [MCPConnection getLastErrorMessage] more consistent by always ↵rowanbeentje2010-03-251-6/+3
| | | | | | | 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
* General tidy up, with a focus on consolidating more constants in ↵stuconnolly2010-03-241-3/+3
| | | | SPConstants.h/m.
* - Remove observers for key paths when dealloc'ing objects to fix later ↵rowanbeentje2010-03-231-1/+3
| | | | | | | crashes when changing those keyvalues (eg changing query editor background colour after closing windows - http://log.sequelpro.com/view/44 ) - Fix a memory leak of a prefs reference in CMTextView
* - Make a number of changes to attempt to improve disconnection/quit ↵rowanbeentje2010-03-161-3/+3
| | | | | | | | | 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.
* Add support for printing the table triggers view as well some HTML ↵stuconnolly2010-03-131-3/+6
| | | | generation performance improvements.
* Various printing support enhancements, including:stuconnolly2010-03-121-4/+40
| | | | | | | | | - 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.
* Localize delete relation context menu item, update Localizable.strings and ↵stuconnolly2010-02-061-1/+1
| | | | use of multiple keys.
* - Correctly escape field names when creating foreign keys, and escape the ↵rowanbeentje2010-01-211-3/+3
| | | | database name when looking up tables to add to the dropdown. Addresses Issue #537.
* Address Issue #546 (format string bugs):rowanbeentje2010-01-201-2/+3
| | | | | | - 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
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-7/+7
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* 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.
* When attempting to delete a field that is part of a foreign key ↵stuconnolly2009-11-181-1/+1
| | | | | | | | | 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.
* Make the relations table view observe the use monospaced font preference.stuconnolly2009-11-151-0/+26
|
* Set keyboard shortcut for Delete button in alert dialogs to command D.avenjamin2009-11-091-4/+5
| | | | Set keyboard shortcut for Truncate button in alert dialog to command T
* Tidy up.stuconnolly2009-11-071-2/+2
|
* - Add task support to all the main interface viewsrowanbeentje2009-11-041-6/+63
| | | | | | | | - 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
* Enable the display of vertical grid lines in the table relations table view.stuconnolly2009-11-011-0/+14
|
* Tiny performance improvement and cleaner code.stuconnolly2009-10-091-3/+3
|
* Don't filter out the current table of available tables to reference when ↵stuconnolly2009-10-091-1/+1
| | | | creating a new relation. Fixes issue #428.
* When creating a new relation, the ON UPDATE and ON DELETE drop downs should ↵stuconnolly2009-08-271-5/+11
| | | | only contain valid MySQL options. Fixes issue #388.
* Don't run the add relation sheet application modally and thus block the ↵stuconnolly2009-08-071-19/+14
| | | | entire main thread until it is dismissed. Note that is not only sheet that is being run using runModalForWindow, which is subsequently causing the same issue. Fixes issue #357.
* - Update the 'this table does not support relations' to be a little more ↵stuconnolly2009-07-301-1/+1
| | | | | | | informative. - Increase the size of the table selection NSPopupButton on the CSV import field mapping panel.
* - Add keyboard shortcuts for Add and Delete buttons in Table Relations panerowanbeentje2009-07-261-0/+9
| | | | | | | | - Remove hidden, non-implemented menu in create table relation add dialog to improve tabbing through fields in the popup - Add cancel shortcut in the table relation add dialog - Prevent table relations table cells from being edited, as edit support isn't present yet - clean up tooltips to fix references to Indexes
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-3/+1
| | | | | | | | | | | | | | | - 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-0/+1
| | | | | | | | | | 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
* Fix warnings caused by calls to validateMenuItem: being passed to NSObject ↵stuconnolly2009-07-021-1/+1
| | | | by returning YES by default.
* Add contextual menus to the table content and table relations views. ↵stuconnolly2009-07-021-0/+15
| | | | Completes the implementation of issue #139 as all views now have contextual menus.
* Change the remove relation confirmation dialog to a sheet as opposed to a ↵stuconnolly2009-06-241-34/+48
| | | | modal dialog.