aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CustomQuery.m
Commit message (Collapse)AuthorAgeFilesLines
* • next step to improve the Query Favorites/History search field behaviourBibiko2010-01-051-1/+20
| | | | | - ↑ or ↓ selects now immediately the next/prev menu item [many thanks to Rowan!]
* • first trial to improve the search field behaviour for Query Favorites ↵Bibiko2010-01-051-0/+16
| | | | | | | | 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
* • fixed maximal number of history items settingBibiko2010-01-051-2/+2
|
* • added Save/Copy History List to "Query History"'s popup menuBibiko2010-01-051-16/+137
| | | | | | | | • 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
* • replaced the (10.4) deprecated [NSTableView ↵Bibiko2010-01-041-2/+2
| | | | | | tableView:writeRows:toPasteboard:] method by [NSTableView tableView:writeRowsWithIndexes:toPasteboard:] • some code cosmetics
* • remember scrollview port and selected row after editing in the Custom ↵Bibiko2010-01-041-9/+23
| | | | | | | | | | 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
* - Ensure all results for server variable requests are returned as strings, ↵rowanbeentje2010-01-031-0/+1
| | | | | | | 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
* - Improve line selection for certain errors ending in numbers, and ↵rowanbeentje2009-12-291-1/+1
| | | | safety-check selections to prevent crashes. This should address Issue #511.
* - Replace /* */ notation in long comments with unicode look-alikes to fix ↵rowanbeentje2009-12-281-3/+3
| | | | warnings and improve source readability
* Random source tidy up changes.stuconnolly2009-12-181-10/+2
|
* - Work through static analysis of the source, fixing a number of small ↵rowanbeentje2009-12-141-5/+3
| | | | memory leaks and fixing a couple of over-releases
* Replace the main toolbar's #define'd identifier constants with extern's. ↵stuconnolly2009-12-121-2/+2
| | | | This completes the conversion of all constants in SPConstants to extern's.
* - Additional error checking when reading in query favorites to ensure a ↵rowanbeentje2009-12-071-0/+1
| | | | | | | 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
* • fixed URL of MySQL web search for versions < = 4.1Bibiko2009-12-051-1/+6
|
* • fixed issue for "Update Help while typing" to suppress opening the MySQL ↵Bibiko2009-12-031-15/+34
| | | | documentation periodically if no internal help can be found
* - When working with the storage arrays for CustomQuery and TableContent, ↵rowanbeentje2009-11-281-16/+56
| | | | 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
* Fix an occasional crasher by checking the size of the custom query result ↵stuconnolly2009-11-241-36/+36
| | | | 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.
* • fixed: backtick the database name in an UPDATE statement executed in the ↵Bibiko2009-11-221-2/+2
| | | | | | Query Editor - fix for i478
* - Fix a nested loop using same same variable, fixing Issue #473rowanbeentje2009-11-211-4/+4
|
* When clearning the query history drop down only remove items from index 3 ↵stuconnolly2009-11-181-2/+2
| | | | onwards to prevent removing the separator.
* Query history drop down index should start at 3, not 2 to avoid adding items ↵stuconnolly2009-11-181-2/+2
| | | | before the separator.
* New separator in query favorites dropdown.stuconnolly2009-11-171-3/+8
|
* Change the placeholder value of a few search fields to simply 'Filter' to ↵stuconnolly2009-11-171-5/+17
| | | | make them look less cramped.
* Implement query cancellation support within MCPKit, and add it to the task ↵rowanbeentje2009-11-151-25/+59
| | | | | | | | | | 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.
* Updates to the 'use monospaced font' preference, making it a lot more ↵stuconnolly2009-11-141-10/+17
| | | | 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.
* Move query mode constants to SPConstants.h.stuconnolly2009-11-131-2/+2
|
* - Add safeguards to ensure sequential runs when holding down run all/run ↵rowanbeentje2009-11-101-0/+6
| | | | | | | 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
* - Support nested task levels to allow tasks to overlaprowanbeentje2009-11-081-2/+8
| | | | | | | - Thread history loading, thus using the nested task elvels and fixing history interaction in recent builds - Thread initial database loads - Improve progress indicator slightly
* - Alter query start/stop notifications to apply to only the originating ↵rowanbeentje2009-11-051-5/+5
| | | | window, regardless of key state, by passing in and looking for the table document instance
* - Add task support to all the main interface viewsrowanbeentje2009-11-041-10/+6
| | | | | | | | - 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
* - Tweak connection locking to avoid occasional NSLock warnings when running ↵rowanbeentje2009-11-011-8/+13
| | | | | | | custom queries - Add error connection to query reselection to avoid exceptions when editing queries while running them
* Replace the multiple occurrences of hard coded toolbar identifiers for the ↵stuconnolly2009-10-281-2/+2
| | | | main toolbar with constants.
* - When performing threaded data loads, no longer disable the tables and ↵rowanbeentje2009-10-271-3/+14
| | | | 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.
* - Set up TableSource to respond to task notifications to prepare for ↵rowanbeentje2009-10-271-4/+10
| | | | | | | 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
* • improved error highlightingBibiko2009-10-241-4/+14
| | | | | - 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"
* - Apply new document task support to the Custom Query tab, and run all ↵rowanbeentje2009-10-231-68/+214
| | | | | | | | 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
* Replace the use of hard coded preference keys with constants to prevent ↵stuconnolly2009-10-171-37/+38
| | | | issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
* • fixed three further typos for: objectForKey:@"NullValue"Bibiko2009-10-161-1/+1
| | | | • 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")
* Improve handling of NULL and "(not loaded)" placeholders:rowanbeentje2009-10-101-22/+8
| | | | | | | - 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.
* Improve Growl interaction to reduce general Growl spammage and improve ↵rowanbeentje2009-10-031-2/+6
| | | | | | | | | | 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.
* • marked 'sequel-pro-print-template.html' as localizableBibiko2009-09-271-0/+2
| | | | | | | | | | | | • 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.
* Improve .sql file loading into the query editor:rowanbeentje2009-09-151-1/+6
| | | | | | | - Allow undo of the insertion - Update scrollbar size/position after the update - Ensure the cursor is scrolled to
* • updated SPQueryFavoriteManager to mange document-based and global query ↵Bibiko2009-09-071-40/+24
| | | | | | | favorites • disabled "Select Active Query" in CMTextView if shown in the favorite manager • code cleaning and simplifications
* • improved behavior while closing a document windowBibiko2009-09-041-26/+29
| | | | | | | - if not connected close it without any checks - if an Untitled document contains stored query favorites - What should be done? - up to now it saves them to the global prefs • header in query favorites list keep visible while filtering • code cleaning
* • first steps to support global/document-based query favoritesBibiko2009-09-041-25/+45
| | | | - not yet fully implemented but workable
* • prepared Query Name Sheet for choosing the target of the to be saved ↵Bibiko2009-09-041-6/+13
| | | | query favorite (global or not)
* • implementation of a new history controllerBibiko2009-09-041-36/+14
| | | | | | | | | | | | | - each history is doc-based even if you have opened not only one instance of the same spf file - for each SPF file identified by its file URL SP remembers each history item regardless from which doc instance it comes from internally ( to make sure that after closing the last instance of a doc all executed queries are saved in that file - if the user wants to change that s/he has to save that file under a different name ) - the history list for each Untitled doc will be initialized by the items stored in the global SP's prefs - the history list for each SPF doc will be initialized by the items stored in the SPF file unless an instance of the same file is already open - then the new instance inherits the history list from the opened one(s) - all history items executed in any Untitled docs will be added to SP's prefs - in other words SP's global prefs plist is the historyrepository for each new Untitled doc - if the user saves an untitled doc or rename an opened SPF file the _current_ history list for that doc will be saved to the chosen file unless an other doc instance is still open - all history lists are saved automatically if SP quits or the user closes a doc window Note: This should be tested for any logical pitfalls - each desired logic can be implemented :)
* - Replaces uses of the deprecated selectRow:byExtendingSelection: with ↵rowanbeentje2009-09-021-1/+1
| | | | selectRowIndexes:byExtendingSelection:
* • simplified and unified the issue to set the title of a tableWindowBibiko2009-09-021-1/+22
| | | | | | | | | | | | | | - 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)
* • query favorite managerBibiko2009-09-011-10/+39
| | | | | | | | - first step to allow to manage global favs (stored in the prefs) and connection-based (not yet implemented - will be stored in ApplicationSupport/SequelPro) - fav table is now a grouped table à la Table List - second column in fav table will be used soon ;) - now the sheet has two buttons "Save" and "Cancel" in order to be able to dismiss changes - enabled table view inline editing of query names