aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TablesList.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge in a number of fixes from trunk (r2065, r2066, r2067, r2068, r2069, ↵rowanbeentje2010-04-241-0/+6
| | | | r2074, r2075, r2076, r2078, r2079, r2081, r2083, r2084, r2085, r2089, r2090, r2100, r2110, r2117, r2118, r2119, r2120, r2128, r2132, r2133, r2134, r2137, r2138, r2139, r2140, r2142, r2150, r2152, r2153, r2154, r2155, r2158, and r2160)
* Tidy up imports and fix 'Reverse Sort Order' when sorting connection ↵stuconnolly2010-03-311-1/+2
| | | | favorites (Thanks Hans).
* General tidy up, with a focus on consolidating more constants in ↵stuconnolly2010-03-241-9/+0
| | | | SPConstants.h/m.
* - Add a new selectDatabase:item: method to TableDocument, to centralise ↵rowanbeentje2010-03-241-1/+1
| | | | | | | | | | code for selecting databases and tables. Clean up database selection to use this new method, and avoid reloads when re-selecting the same database. - Convert the history controller to use this new call. This fixes history behaviour when a table list filter was active. - Convert the (hidden) navigator to use this new call. This fixes timing issues. - Make some thread safety tweaks to TablesList. - Change TablesList selectTableOrViewWithName: to selectItemWithName:, including procs etc.
* • improved tooltip behaviour of SPNarrowDownCompletion's tableViewBibiko2010-03-091-0/+1
| | | | • added "Filter Tables…" ^⌥⌘F" to main menu > Table which sets the focus to TablesList's search field if visible
* • Query Favorites:Bibiko2010-02-251-0/+2
| | | | | | | | - added snippet variable $SP_SELECTED_TABLES which inserts `table1`,`table2`, etc. (ONLY tables) • improved "Check Table" - now one can select more than one table to execute "CHECK TABLE table1,table2,… ; if all tables passed successfully alert OK, if not show the result as accessory table in the sheet note: OPTIMIZE, REPAIR, FLUSH, CHECKSUM, ANALYZE follow
* • Reset AUTO_INCREMENT in Table Info Pane uses inline entering of the new ↵Bibiko2010-02-231-0/+1
| | | | | | | | | | 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
* * renaming a table/view/proc/func now doesn't open a sheet anymorejakob2010-01-281-4/+0
| | | | | * table name checks now correctly consider only functions when working with functions * when an empty table name is entered, the change is ignored (like in finder)
* • further developments for the F5 completionBibiko2010-01-111-0/+1
| | | | Note: not yet finished!
* • further preparations to F5 completionBibiko2010-01-111-0/+1
| | | | Note: not yet active - only querying the data in background will be performed for testing
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-2/+2
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* - Improve TablesList item selection by splitting out interface updates to a ↵rowanbeentje2009-12-081-0/+1
| | | | method to be called in the main thread; should improve stability
* - Support nested task levels to allow tasks to overlaprowanbeentje2009-11-081-0/+5
| | | | | | | - Thread history loading, thus using the nested task elvels and fixing history interaction in recent builds - Thread initial database loads - Improve progress indicator slightly
* - Add task support to all the main interface viewsrowanbeentje2009-11-041-1/+2
| | | | | | | | - 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
* Initial work on threaded task, with an implementation of Table Content view ↵rowanbeentje2009-10-201-0/+7
| | | | | | | | | data loading: - Removal of AMIndeterminateProgressIndicatorCell, and addition of a custom fork of YRKSpinningProgressIndicator which fixes bugs, adds threaded drawing, and adds a determinate mode. - Addition of a task system within TableDocument, triggering display of a large central progress indicator and stopping the window from being interacted with in any way that would cause a query while the task is running. - Add threaded TableContent content fetching, including use of the new task system and determinate progress bar; make fixes to improve threading stability and interaction.
* • further improvements to restore a SP session from spf fileBibiko2009-08-231-1/+1
|
* - The add, rename and copy table sheets should not block the main thread ↵stuconnolly2009-08-181-5/+0
| | | | | | | | (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.
* Source tidy up and missing SVN properties.stuconnolly2009-08-071-2/+2
|
* - Add an initial barebones version of the history controller, with a basic ↵rowanbeentje2009-07-301-0/+2
| | | | toolbar item to navigate backwards and forwards. TBC!
* Improve TablesList significantly:rowanbeentje2009-07-281-1/+19
| | | | | | | | - 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
* - Tweak table information panel to show scrollbars if it's resized to a ↵rowanbeentje2009-07-261-0/+9
| | | | | | | | position that would hide content - Store collapse state of table information panel in preferences - Apply a double fix for BWSplitView/NSSplitView+BWAnchoredButtonBar not informing delegates of resizes - correctly inform original BWSplitView delegates of resizes, and allow BWAnchoredButtonBar registered delegates to recieve the original split view resize notifications. This fixes database menu resizing in synch with splitview resizing for improved/consistent look and feel.
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-8/+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.
* Add the ability to navigate between tables via foreign key relationships, ↵rowanbeentje2009-07-181-0/+1
| | | | | | | | | 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/+6
| | | | | | | - 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)
* When displaying the add new table sheet use SPDatabaseData to get the ↵stuconnolly2009-07-011-0/+1
| | | | 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/+1
| | | | | | - 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-0/+7
| | | | | | - it's used for the contextual menu for the Table List • fixed: contextual menu in Table List
* Implementation of enhancement #273: Allow user to truncate table by right ↵stuconnolly2009-06-151-0/+3
| | | | clicking.
* Redesigned table information pane.stuconnolly2009-05-271-1/+1
|
* When adding a new table allow the user to specify the storage engine used.stuconnolly2009-05-191-0/+1
|
* 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-0/+1
| | | | table sheet.
* • improved renameTable:Bibiko2009-05-181-0/+1
| | | | | | | | | | | | - 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
* Add the ability to rename tables. This could potentially be enhanced to ↵stuconnolly2009-05-171-1/+7
| | | | allowing renaming views, which is supported as of MySQL version 5.0.14, but requires some version detection to take place.
* - added ability to view function and procedures and preliminary ability to ↵mtvee2009-05-131-1/+4
| | | | input same via the editor
* • ADDED support to duplicate viewsBibiko2009-04-231-0/+1
|
* • synchronized gear menu titles for "Remove table/view" according to ↵Bibiko2009-04-231-0/+3
| | | | | | 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
* - Change the method of creating a new table to be the same as that when ↵stuconnolly2009-04-041-26/+13
| | | | | | | | | | 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].
* A patch to improve View support, addressing Issue #130. This patch undoes ↵rowanbeentje2009-02-231-0/+9
| | | | the damage caused by r333, making views viewable again, and extends support by preventing errors in the info pane, by drawing views with a different icon to easily differentiate them, by making all source/index information non-editable to match GUI to behaviour, and to tweak the interface slightly to match.
* Visible improvements in this build:rowanbeentje2009-02-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Significantly reduce the queries that have to be performed, improving lag - especially over slow connections (Issue #118; see new controller info under headline code changes). - Fix Issue #117 properly (export numeric quoting - we now have access to column types and so can quote appropriately). - Fix Issue #145 (loss of unsigned/null/default attributes when reordering columns). - Fixes Issue #90 (support for filtering DECIMAL column types) - Improve table scrolling speed when the table contains long items. (Added a NSFormatter to automatically truncate strings > 150 chars for display purposes only) - Improved SQL compatibility - for example /* C style comments */ are now correctly ignored in imports and custom queries. - Add text and symbols emphasising that the table info pane / status view row count is an approximation (partially addresses Issue #141) - Fixes a major memory leak whenever opening or scrolling tables containing text/blob data. - SQL import is now faster (SQL parsing part is 3x faster). - Speed up SQL export (1.5x faster for numeric data; 1.1x faster for string data) and slightly speed up CSV export (~1.1x faster). - Display sizes on the status view using the byte size formatter, as per table info pane. Headline code changes: - Add a new NSMutableString subclass, SPSQLParser. See the header file for documentation and overview, but in short it's a centralised place for SQL parsing. Centralises and improves parsing, improves comment support, improves quoting support. Despite the improved featureset this is also faster than the previous distributed implementations - for example, when used to replace the old splitQueries:, > 3x speedup. - Implement a new controller which handles a structure and status cache for the current table, and provides structure parsing for specified tables. This cache is now used throughout the code, reducing the queries that have to be performed and providing additional information about the table structure for use; I think it also improves column type format slightly. - The table info pane and the status view now draw all their data from the cache. Tweaks: - Table encoding is now detected directly instead of being derived from the collation - increased accuracy and cope with the DEFAULT encoding. - Comments and formatting cleaned up in bits I was working on, obviously. - A couple of methods - particularly [tablesListInstance table] and [tableDocument encoding] - have been renamed to avoid conflicts and fix code warnings. Future improvements now possible: - As we now have access to column types and other information, we can provide per-type behaviour where desired. - The table parsing doesn't currently pull out comments or table indices, together with one or two other attributes. Some of this would be useful for display; some, such as indices, could be used to draw the table structure view as long as we're happy discarding a couple of columns (ie cardinality!)
* MERGED r262:266 from branches/stuart02 to trunk to include new project ↵stuconnolly2008-12-101-0/+95
structure.