| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
tab trigger; eg if tab trigger is set to "sel" sel⇥ will insert the first query which has the defined the tab trigger
• preparations to insert programmable query favorites
- eg "SELECT ${*} FROM ${Table}"
-- after insertion "SELECT * FROM Table" the '*' is highlighted to change, press ⇥ to select the next snippet 'Table'; ⇧⇥ selects the previous snippet; the snippet selection follows the user input
- Note: not yet active
|
|
|
|
|
|
|
| |
recognized)
• use regexp to get a list of current words and reduced that method to invoked if the text buffer is less than 60KB to speed up the completion (it's more likely that the user wants to complete a sql related term)
• some code cosmetics
|
|
|
|
| |
CREATE …"
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
- SPDataStorage is a class designed for a 2D array of fixed-width data storage, replacing the current method of nested NSMutableArrays. NSFastEnumerator compatible.
- Overall memory overhead for table storage in memory reduced by 1.2-1.4x - this almost gains back the large memory jump seen for 64 bit
- Some operations (adding data, retrieving a single cell's data) are faster than nested NSMutableArrays; some operations (requesting a row as an NSArray) are slightly slower as the data needs to be converted, but overall result is a slight speed gain.
(- Could be used in future to store SQL results in C datatypes, avoiding very high NSObject overhead for numbers and short strings)
|
|
|
|
| |
certain conditions
|
|
|
|
|
|
|
| |
release builds, including a large number of 64bit compatibility upgrades and tweaks
- Upgrade RegexKitLite to 3.3
|
| |
|
|
|
|
|
| |
- ↑ or ↓ selects now immediately the next/prev menu item [many thanks to Rowan!]
|
|
|
|
|
|
|
|
| |
and Query History popup menus
- the keys ↑ or ↓ inside an activated search field abort the current text field editor to allow to navigate through the result menu items by using the keyboard
- up to now one has to press ↑ or ↓ twice to select
- still work in progress
|
| |
|
|
|
|
|
|
|
|
| |
• moved "Clear History" from gear menu to "Query History"'s popup menu and added a confirmation sheet to it
• "Clear History" now distinguishes between Untitled and SPF doc
- if Untitled: clear global history list stored in the Prefs
- if SPF doc: clear the document-based history list only
|
|
|
|
|
|
| |
tableView:writeRows:toPasteboard:] method by [NSTableView tableView:writeRowsWithIndexes:toPasteboard:]
• some code cosmetics
|
|
|
|
|
|
|
|
|
|
| |
Query table view
- after reloading the entire data the table view port will be restored but this leads up to now to a "tiny jitter" (maybe fixable in the near future)
- the re-selection does NOT follow the actual edited row, e.g. if one changes a cell value whose column is used for sorting the actual edited row could appear somewhere
• if the editing in the Custom Query table view was invoked by pressing RETURN/ENTER one can go through the columns by pressing ESC but up to now that editing will be interrupted after the user pressed OK
- this behaviour is temporary and should be fixed in the near future by storing the new row data temporarily; after editing the last column AND if all columns have the same table origin the row data will be updated. To allow the row editing for columns which have different table origins could probably cause inconsistencies.
- further discussion is needed
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
safety-check selections to prevent crashes. This should address Issue #511.
|
|
|
|
| |
warnings and improve source readability
|
| |
|
|
|
|
| |
memory leaks and fixing a couple of over-releases
|
|
|
|
| |
This completes the conversion of all constants in SPConstants to extern's.
|
|
|
|
|
|
|
| |
malformed favorite does not break application launch
- Move favorites update routine to a later revision check to upgrade any query favorites created by dual use of 0.9.6 and nightlies
|
| |
|
|
|
|
| |
documentation periodically if no internal help can be found
|
|
|
|
| |
use thread locking to ensure data safety while the table is loading. This should fix intermittent loading and reload issues, including part of #463 and should address Issue #482
|
|
|
|
| |
set is not zero before attempting to get an object from it. As far as I'm aware this crash only seemed to occur when executing the second out of 2 queries that both contained multiple OUTER JOINS.
|
|
|
|
|
|
| |
Query Editor
- fix for i478
|
| |
|
|
|
|
| |
onwards to prevent removing the separator.
|
|
|
|
| |
before the separator.
|
| |
|
|
|
|
| |
make them look less cramped.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
selected keys in Custom Query, preventing NSLock deadlocks
- Revery MCPConnection to locking on the *current* thread when running non-streaming queries, fixing deadlocks in some situations on background threads where the main thread is locked up via a modal loop - eg CSV import windows
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
custom queries
- Add error connection to query reselection to avoid exceptions when editing queries while running them
|
|
|
|
| |
main toolbar with constants.
|
|
|
|
| |
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
|
|
|
|
|
| |
- remember the start position of query/queries and calculate an offset for error highlighting (this fixes issue 442 mostly)
- avoid highlighting of empty "near messages"
|
|
|
|
|
|
|
|
| |
custom queries in a background thread with the task interface active.
- Rework custom query result processing to allow display of results as they come in
- Fix a memory leak
|
|
|
|
| |
issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
|
|
|
|
| |
• allow to enter the NULL value string even if the cell/field's maximal length is set to less then the actual NULL value string length (eg varchar(3) and NULL value string is @"NULL")
|
|
|
|
|
|
|
| |
- Rewrite TableContent and CustomQuery to store NSNull and SPNotLoaded objects in the data arrays where appropriate, rather than providing string conversion on data load. Faster, simpler comparisons and processing code, slightly lower memory usage, and reduces the chance of bugs caused by inadvertantly processing the string values; we can now also distinguish easily between NULL and "NULL" etc, and further paves the ground for image representations of special values.
- Fix a bug caused by consistent value reloading when editing BLOB/TEXT columns with deferred loading - if editing a row and revisiting an edited cell, the original value was restored; the original value is now only loaded once.
This addresses the rest of Issue #423.
|
|
|
|
|
|
|
|
|
|
| |
functionality:
- Growls are now only shown by default if they are not fired from the frontmost window
- Long-running tasks (>3 secs) will still Growl
- Clicking on a Growl will now bring the associated window to the front
This addresses the original concerns of Issue #98.
|
|
|
|
|
|
|
|
|
|
|
|
| |
• outsourced default QuickLook types into a localizable plist
- prepared SP preferences and SP code to allow the user to add own QL types
• prepared a localizable 'ContentFilter.plist' [not yet implemented fully]
- this plist will held the default filter operators
- this approach will give the user the chance to add own filters
• removed three tiny memory leaks
Note: In MCPResult.m variable 'MCPYear0000' was stored retained. Why?
I removed it and couldn't encounter any problems.
|
|
|
|
|
|
|
| |
- Allow undo of the insertion
- Update scrollbar size/position after the update
- Ensure the cursor is scrolled to
|