| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Part of issue #357. Also some refactoring.
|
|
|
|
|
|
|
| |
- Thread history loading, thus using the nested task elvels and fixing history interaction in recent builds
- Thread initial database loads
- Improve progress indicator slightly
|
|
|
|
| |
window, regardless of key state, by passing in and looking for the table document instance
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
instead prevent selection/editing/sorting in code; this prevents the tableviews from going grey during the load and minimises flicker and loss of focussed elements.
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Part of issue #357.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
|
|
|
|
| |
present AUTO_INCREMENT value. Fixes issue #391.
|
|
|
|
| |
foreign key references as the names must be unique. MySQL will create the new names based on the new table name. Fixes issue #398.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- user-defined content filter can be saved globally (Prefs) or in SPF files
- BETA - further tests are needed due to complexity
- SPQueryController now handles the local user-defined content filters
- tooltips are now generated automatically if not defined explicitly (incl. if $BINARY placeholder was used)
• if user added local query favorites or content filters to an Untitled document and s/he wants to close it the standard sheet will be displayed (Don't Save - Cancel - Save)
- due to that changed old [TableDocument displayName] to 'displaySPName' to be conform with Cocoa
• changed behavior while importing query favorites - now they will append at the list (not inserted after selected row - makes more sense)
• introduced to history filter dict the key 'menuLabel' which will be set to [TableContent tableFilterString] for displaying the history menu title and simplified the SPHistoryController logic for that
• minor code changes
|
|
|
|
| |
custom (and partial) code; fixes issues of showing old columns/data from the previous table when creating new tables.
|
|
|
|
|
|
|
|
|
|
| |
a table an error sheet will be ordered out (order out the first sheet explicitly in beforehand)
- this solves issue 418
• improved table name check for renaming/duplicating/adding a table
- it checks for trailing white spaces since 'foo ' is not valid
- it checks for length
- it checks whether the entered table name doesn't occur as table/view name in the current database (case-insensitively and only while entering the name in sheets)
|
|
|
|
| |
for mysql errors - if information_schema is not accessible for some reasons omit adding procedures and functions silently
|
|
|
|
|
|
| |
- Improve error messages encountered when deleting multiple tables, asking whether to stop or continue; also now shows all errors, not just the last (if it showed any!)
- Fix various exceptions caused by the table list attempting to redraw while the underlying data is being changed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- everything will be configured in [TableDocument displayName]
- to update the title call [TableDocument setTitle:[TableDocument displayName]]
- this removes dozens of lines
• first steps to support more the document-based approach
( a document is nothing else than a connection with view properties and preferences )
- renamed/added/changed in Main Menu items into "New", "Open", "Save", and "Save As"
- if user opened a spf file -> fileURL will be set
- "Save" will save the current connection/view data according to the "Save As" setting - ie if one saved a doc with do not "Remember window state" - "Save" won't save the window state; to enable this hit "Save As" [this works for encrypted file data as well]
- if the current doc was opened from file and the user closes it or quits the entire app all connection/document-based preferences (up to now query favs and history) will be updated silently [not yet implemented fully in CustomQuery] [works for encrypted file as well]
• delete saveSPFAccessory view from DBView since it was outsourced
• fixed some issues for the NSSecureTextField in the Save accessory panel (but still a warning appears)
|
| |
|
|
|
|
|
|
|
|
| |
(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 the history navigation to correctly switch across databases without invalid history states
|
|
|
|
|
|
|
| |
its status
• after editing a field in Custom Query table scroll to last selected row after data refreshing
- (TODO: should be improved in near future)
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
toolbar item to navigate backwards and forwards. TBC!
|
|
|
|
| |
pane and Filter view.
|
|
|
|
|
|
| |
- Enable threaded animation for import/export progress bars as it has minimal overhead and looks nicer
- Fix exceptions caused by tablesList drawing during imports
|
|
|
|
| |
selected, to avoid issues
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
insensitive match if a full match fails, as MySQL can return foreign key references as lowercase rather than actual case
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
- 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)
|
|
|
|
| |
confirmation dialogs, but change the cancel button to the have key equivalent of return.
|
|
|
|
| |
available storage engines instead of the information_schema.engines table, which doesn't exist in versions other than MySQL 5.
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
- it's used for the contextual menu for the Table List
• fixed: contextual menu in Table List
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
clicking.
|
|
|
|
|
|
|
|
|
| |
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 )
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
table list if it was already opened
• commented out the NSLog "not parsed" in SPTableData.m
|
| |
|
|
|
|
|
|
| |
table sheet" via delegate method controlTextDidEndEditing:
• improved controlTextDidEndEditing: to recognize only the RETURN/ENTER key
|