aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TablesList.m
Commit message (Collapse)AuthorAgeFilesLines
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-9/+7
| | | | | | | | | | | | | | | - 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.
* - When selecting tables - eg from a foreign key link - fall back to a case ↵rowanbeentje2009-07-181-1/+10
| | | | insensitive match if a full match fails, as MySQL can return foreign key references as lowercase rather than actual case
* Add the ability to navigate between tables via foreign key relationships, ↵rowanbeentje2009-07-181-0/+24
| | | | | | | | | addressing the first part of #209: - For the first column linked by each foreign key, display a link arrow within the table cell - When clicking on the link arrow, select the reference table and set the table filters to select the clicked value - Also uses the table cell subclass to allow the entire cell to be editable, not just the contained text (addresses #250)
* • fix for completion in CustomQuery editorBibiko2009-07-141-0/+72
| | | | | | | - now the gathering of suggestions does not query the MySQL connection, instead it uses the TableList/TableDocument tableView data as a kind of cache - this approach should improve the speed for slow server connections TODO: auto-update for TableList and Database List resp. (it could happen that an other user changed the name of a table/db meanwhile)
* Restore the position of the buttons on the remove table and truncate table ↵stuconnolly2009-07-021-4/+16
| | | | confirmation dialogs, but change the cancel button to the have key equivalent of return.
* When displaying the add new table sheet use SPDatabaseData to get the ↵stuconnolly2009-07-011-6/+5
| | | | available storage engines instead of the information_schema.engines table, which doesn't exist in versions other than MySQL 5.
* - Make changes to the table structure flush the appropriate table data cachesrowanbeentje2009-06-241-0/+8
| | | | | | - SPTableData's columnWithName: now updates caches as necessary to avoid issues - Mark the extended table info view (particularly the CREATE TABLE syntax) as requiring update following table structure changes
* • added separate Menu "Context Menu (Table List)" to DBView.xibBibiko2009-06-241-1/+55
| | | | | | - it's used for the contextual menu for the Table List • fixed: contextual menu in Table List
* Implement some of the points suggested in issue #309:stuconnolly2009-06-241-14/+14
| | | | | | - All menu items which show a panel of some kind before completing the action need to have "..." after the menu item name. - All menu items which do something destructive (drop table, truncate table) need to default to the CANCEL button in their alert message.
* • tried to unify the displaying of error messages (mainly converted them ↵Bibiko2009-06-241-7/+13
| | | | | | | | into sheets) • changed the alert for "Truncate table" - "Are you sure you want to delete ALL table records in the..." • added BWToolkitFramework copyright notice to credits.rtf
* • added to SPArrayAdditions.h: NSArrayObjectAtIndex() inline functionBibiko2009-06-181-8/+9
| | | | | | | | | - id o = NSArrayObjectAtIndex(anArray, index) :== id o = [anArray objectAtIndex:index] - this speed up it ~3µs per call - replaced that inline function for such calls within loops to speed up them • used IMP function pointers for keepAlive calls within queryString: • set -O3 (Fastest) compiler option • allow in preference pane "Tables" to set the Limit up to 50000
* • different log message for changing max_allowed_packet for increasing it ↵Bibiko2009-06-151-0/+1
| | | | | | | | and for resetting it (a bit more transparent info) - now also check the delegate if queryGaveError: method is implemented • while adding/updating a row to the db Table Content's pane now indicates that process better via spinning wheel • after TRUNCATE TABLE reload that table content
* Implementation of enhancement #273: Allow user to truncate table by right ↵stuconnolly2009-06-151-45/+94
| | | | clicking.
* • cleaned code for the case that the user selects a view which causes a ↵Bibiko2009-06-101-3/+10
| | | | | | | | | MySQL error while retrieving data - [SPTableData tableEncoding] returns nil if no encoding can be found - [TableList tableViewSelectionDidChange:] checks in beforehand for a valid table encoding; this avoids to get the same MySQL error message twice and cleaned the structure view • if a MySQL error occurred while retrieving table data for the content view set the content view to a defined and clean status • bound TableContent's filterButton to DBView.xib to disable it if an error occurred (otherwise the status bar shows unexplainable results )
* • reload table list, database pull-down menu according to user's ↵Bibiko2009-06-051-6/+4
| | | | | | | | | statements in the Custom Query editor if necessary - if statement begins with: use, create, alter, rename, drop • reload table list, database pull-down menu according to imported statements • sped up "Import MySQL Dump" • fixed some tiny issues of the last commit
* Fixed some memory leaks found using llvm/clang. There are still some to fixbamse162009-06-051-5/+10
|
* • added: the "Show Create Syntax" window now follows the selection in the ↵Bibiko2009-06-041-0/+6
| | | | | | table list if it was already opened • commented out the NSLog "not parsed" in SPTableData.m
* Redesigned table information pane.stuconnolly2009-05-271-6/+6
|
* • added key-binding for RETURN to "Duplicate" button in the "duplicate ↵Bibiko2009-05-261-1/+12
| | | | | | table sheet" via delegate method controlTextDidEndEditing: • improved controlTextDidEndEditing: to recognize only the RETURN/ENTER key
* • added key-binding for RETURN to "Add" button in the "add table sheet" ↵Bibiko2009-05-261-1/+4
| | | | via delegate method controlTextDidEndEditing:
* When adding a new table allow the user to specify the storage engine used.stuconnolly2009-05-191-0/+21
|
* More header updates for source files, including Subversion Id property.stuconnolly2009-05-191-1/+2
|
* Add most of the improvements made to the rename table sheet to the duplicate ↵stuconnolly2009-05-181-21/+27
| | | | table sheet.
* • added the possibility to rename/duplicate functions and proceduresBibiko2009-05-181-60/+185
| | | | - in renameTable: AND in tableView:setObjectValue:forTableColumn:row:; i.e. the user can simply double-click at a table item to rename func/proc as well
* • removed NSLog for logging the mysql serverMajorVersion etc.; it causes a ↵Bibiko2009-05-181-3/+1
| | | | crash if one changes the database
* • improved renameTable:Bibiko2009-05-181-16/+53
| | | | | | | | | | | | - support for renaming a view - sheet listens to RETURN key - sheet text field is set the selected name as default - if name == selected name disables Rename button - sheet message according to table type • cleaned action menu - if more than one item is selected hide non-relevant menu items • delete file references for SPScriptEngine.* from Xcode project due to the fact that these files are not found since the last commit
* - hide 'rename' context menu if selection is not a tablemtvee2009-05-181-2/+8
| | | | - added methods to CMMCPConnection to determine server major,minor,release version
* - added Unit Tests target to project and a couple of prelim tests to get ↵mtvee2009-05-181-0/+1
| | | | things rolling
* Add the ability to rename tables. This could potentially be enhanced to ↵stuconnolly2009-05-171-9/+69
| | | | allowing renaming views, which is supported as of MySQL version 5.0.14, but requires some version detection to take place.
* • fixed bug if the user selected a table in the table list and performed ↵Bibiko2009-05-161-76/+79
| | | | | | "Import" => SP crashed due to the labeling of the gear menu items based on no selected table; this should be fixed now • some code cosmetics
* - attempt fix for alert issues when deleting tables, etc. mtvee2009-05-151-5/+10
| | | | - localize relations view dialogs
* • corrected dynamic labeling of menu items/alerts for removing ↵Bibiko2009-05-151-17/+54
| | | | tables/views/procs/funcs according to the selected table items
* fixed #254 and an unreported bug in the constraint parsermtvee2009-05-151-6/+13
|
* Issue 233: Option to copy field headings from result panelsbamse162009-05-141-20/+16
| | | | | | Implementation of copy with column names menu item Removal of copy column names
* • fixed bug for rev. 696Bibiko2009-05-131-3/+3
| | | | | | - tablesListView has no method tableType instead using: [self tableType] in the TabView delegate method didSelectTabViewItem:
* - added ability to view function and procedures and preliminary ability to ↵mtvee2009-05-131-49/+230
| | | | input same via the editor
* Issue 233: Option to copy field headings from result panelsbamse162009-05-051-11/+10
| | | | | | Also replaced some NSLog with DLog/ALog
* • improved menu item title logic for the gear menu and main menu according ↵Bibiko2009-04-231-13/+27
| | | | | | to table types (table/view) • moved code for validation of the gear menu items to validateMenuItem:
* • ADDED support to duplicate viewsBibiko2009-04-231-18/+46
|
* • synchronized gear menu titles for "Remove table/view" according to ↵Bibiko2009-04-231-2/+36
| | | | | | selected table/view types • disable/enable gear menu item "Duplicate table/view" according to the number of selected tables/views => for > 1 selected items disable the menu item
* • FIXED: now it's possible to remove view(s) in the TableListBibiko2009-04-221-10/+39
| | | | - todo: change the gear menu item title "Remove table" accordingly
* - Update delete table and database warning messages to be more user friendly ↵stuconnolly2009-04-171-12/+15
| | | | | | | | (issue #192). - Also make these messages have a style of critical to indicate the potential loss of data as a result of performing the operation. - Updated Localizable.strings to accommodate new dialog messages.
* - Amend the connection sheet to add an "Add to favorites" button, remove ↵rowanbeentje2009-04-161-10/+10
| | | | | | | | the + and - buttons, and re-enable double-click to connect. This addresses the majority of Issue #232, although the "Edit" button is not yet functioning. - Fix a bug where if an autoconnection failed, connection was automatically reattempted - Add a name field to the connection sheet, and display the name in the window title in place of user@host if set
* - part 4 of merge from 'avenjamin' branch into trunk.avenjamin2009-04-101-8/+3
| | | | - committing Source
* - Change the method of creating a new table to be the same as that when ↵stuconnolly2009-04-041-226/+260
| | | | | | | | | | creating a new database by presenting a sheet, allowing the user to specify the table name and encoding. - Allowing the user to specify the table encoding partially addresses issue #161. - Implementing interface validation in the form of not allowing table creation without a name also removes the need for lots of error checking and presenting these errors to the user. - In addition to the above the ability to specify the initial field name, type and length (if applicable) of a new table can now be done on the same sheet, but is yet to be implemented. - Also did a general tidy up of TablesList.[hm].
* - fixed issue #203 (backticks in identifiers not supported)jakob2009-03-241-10/+14
| | | | | | | | - added a backtickQuotedString: method to SPStringAdditions - created the file SPArrayAdditions for a componentsJoinedAndBacktickQuoted: method In the future, we should use backtickQuotedString: to quote identifiers like this: [NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]]
* Issue 194: reload table list deselects tablesbamse162009-03-231-1/+13
|
* - Added tooltips to action button menu itemsavenjamin2009-03-221-1/+14
| | | | - Removed refresh tables menu item - refresh button right beside it.
* Small fixes clang complained about. Others will followbamse162009-03-111-3/+6
|
* Improves the table structure view to only save a row when properly ↵rowanbeentje2009-03-051-4/+3
| | | | deselected, and automatically reselecting the row for re-edit on error - resolves Issue #74.