aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* • improved completion for Query Editor bound to ESCBibiko2010-01-194-258/+336
| | | | | | | | | | | | | | | - up to now for MySQL >4 available - implemented by narrow-down, i.e. write/delete to narrow-down/expand the suggestion list - ↩ inserts the suggestion, if suggestion is db/table/field/proc/func name inserts backtick quoted - for a db/table/field/proc/func name press ⇧↩ to insert à la `db`.`table`.`field` relatively to the current selected db - context-sensitive to leading db. or table. or db.table. or .table if uniquely identifiable - mysql and information_schema if available and not selected appear at the end - `|` | := caret shows the current table's fields if any or the current selected db if selected at the top; suggestions are hierarchically arranged by db, table; easiest way to insert a table/field name - e.g. type `max_c` and press ⇧↩ to insert `mysql`.`user`.`max_connections` - for table/field name suggestions press at the right column to get the path info • F5 invokes completion based on spell checker and selected language - since it is not possible to auto-detect if the user wants to complete MySQL statements or prose text Note: GUI needs improvements; completion should be tested exhaustively
* • added missing PROCEDURE ANALYSE to syntax highlightingBibiko2010-01-191-2/+2
|
* - Remove some unintentionally committed debugrowanbeentje2010-01-181-2/+0
|
* Add a new SPDataStorage class, and use it in TableContent and CustomQuery:rowanbeentje2010-01-178-106/+621
| | | | | | | | - 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)
* - removed F5 completion debug outputBibiko2010-01-152-17/+18
| | | | - fixed issue while ‘normal’ completion after “table.” completion
* • refactored parsing code for F5 completionBibiko2010-01-153-189/+120
| | | | | - improved ⇧↩ insertion - improved backtick behaviour
* • removed from each open panel:Bibiko2010-01-153-3/+6
| | | | | | [panel setResolvesAliases:YES] For some reasons it could happen that the panel didn't response to dragging files into it correctly and sometimes SP crashed after selecting a directory in its sidebar. By removing "resolve aliases" the panel seems to work properly. This has to be verified by further tests.
* Issue 517: Export MySQL Dump does not include triggers or functionsbamse162010-01-141-58/+65
| | | | | | - added support for dump functions. If no errors are found, Issue 517 can be closed.
* Issue 517: Export MySQL Dump does not include triggers or functionsbamse162010-01-141-5/+71
| | | | | | - included export for proceduers. Need to add support for functions and test on different databases.
* • added "componentsJoinedByPeriodAndBacktickQuoted" to NSArrayAdditionsBibiko2010-01-143-39/+20
| | | | • updated some methods in in SPStringAdditions to 10.5 code which avoid mutableCopy and they're faster
* Replace COUNT(*) with COUNT(1) which is usually faster, and much faster in ↵bamse162010-01-143-5/+5
| | | | certain conditions
* • fixed several sheetDidEnd selectors to close a NSAlert or NSWindow ↵Bibiko2010-01-135-10/+51
| | | | | | | properly to avoid overlapping sheets • F5 completion - if a table is selected and no further parsing info is given show that table and its fields at the top of the suggestions
* • avoid querying for collations if passed var "encoding" for method ↵Bibiko2010-01-131-1/+1
| | | | getDatabaseCollationsForEncoding is equal to NULL
* • F5 compeltionBibiko2010-01-133-6/+48
| | | | | - fixed issues if no db is selected - trial: ⇧↩ inserts the entire path db.table or db.table.field; if invoked inside of backticks backticked
* • further improvements for F5 completionBibiko2010-01-134-72/+274
| | | | | | | - first steps for context-sensitive completion: parse left side of current word to look for db.table.field constructions - eg type: mysql.user. and press F5 Note: work in progress :)
* • fix for i529: set the savePanel's delegate to self in order to handle ↵Bibiko2010-01-131-1/+3
| | | | changes of the accessory view (ie avoid disappearing of selected items)
* • CMTextView: Bibiko2010-01-121-2/+37
| | | | | - re-defined 34 tab stops for better editing behaviour - soft wrapped lines are slightly indented
* • If TableDocument is performing a task suppress any context menu in ↵Bibiko2010-01-121-0/+6
| | | | SPTableViews to prevent unstable circumstances
* • fixed: escape new entered comments in the Table Info Pane before ↵Bibiko2010-01-121-1/+1
| | | | applying changes to the db
* • fixed reading encrypted SPF files on the 64bit SP version (for now)Bibiko2010-01-121-4/+5
| | | | | | - make usage of UInt32 instead of NSUInteger for checking whether decryption was successful and for retrieving the correct data size TODO: it should be possible to change it to NSUInteger by applying the correct pointer arithmetics
* Issue 517: Export MySQL Dump does not include triggers or functions bamse162010-01-121-36/+46
| | | | | | | I've moved the export triggers part after the [streamResult release], so we can export triggers for empty tables too.
* • applied new detachNewThreadSelector:@selector(queryDbStructure) call to ↵Bibiko2010-01-121-1/+1
| | | | TablesList's updateTables method
* - Move the query for the database structure to a background processing ↵rowanbeentje2010-01-121-1/+1
| | | | thread, as well as the existing background database connection, for a smoother experience
* - Fix incorrect pagination task text ("Filtering table...") when no ↵rowanbeentje2010-01-121-9/+24
| | | | | | | filtering is occurring, just pagination - If the table count is estimated (eg InnoDB), but the end is reached via pagination, make the row count accurate based on the known number of rows
* - Testing found that r1653 fixed the warnings but for some reason disabled ↵rowanbeentje2010-01-111-0/+1
| | | | the "Stop" button; switch to orderFront: to re-enable without the warnings (thanks to Hans for assistance!)
* • fix for i525: do not escape the \ for \_ or \% and changed "contains" 's ↵Bibiko2010-01-111-5/+6
| | | | | | | behaviour to escape _ % automatically since it could be confusing to the user because it uses LIKE '%...%' • reimplemented: scroll to newly added row in Content View
* • fixed issue for "Copy as SQL INSERT" after filteringBibiko2010-01-111-1/+7
| | | | | - accessing table data from [dataSource:tableView:objectValueForTableColumn:row] directly - maybe related to issue 506
* • further developments for the F5 completionBibiko2010-01-115-5/+32
| | | | Note: not yet finished!
* Issue 517: Export MySQL Dump does not include triggers or functionsbamse162010-01-111-8/+43
| | | | | | | | | | | | | | First draft on export triggers. Known issues: - Now it exports only triggers for the table that have some content in it. If I move the write triggers part outside of the if (rowCount), the SHOW TRIGGERS query never finishes. - Sequel Pro complains when it tries to import the same file again. The error message is related to DELIMITER command. Still, the triggers seem to be present. This might be a different issue with Sequel Pro.
* • further preparations to F5 completionBibiko2010-01-116-96/+190
| | | | Note: not yet active - only querying the data in background will be performed for testing
* • fixed showing the table list's search bar view by setting its initial ↵Bibiko2010-01-111-1/+3
| | | | splitview height to 1 instead of 0 to ensure that a next connection window which has more than 20 tables is showing the search bar as well
* • first preparations to improve the Custom Query database names/table ↵Bibiko2010-01-103-1/+9
| | | | | | | | | names/field names + type and encoding completion - after connecting and updating the table list a background task executed on a different connection will be performed to query the information_schema db (MySQL >= 5 only so far) - the MCPConnection object holds a NSDictionary with all structural data Note: not yet active
* • made lexer 64bit compatibleBibiko2010-01-104-8/+28
| | | | | | - 'int' has to be replaced by 'size_t' • F5 completion - if inside of backticks after completion move caret one char rightwards to go out of the backticks
* • F5 completionBibiko2010-01-092-2/+4
| | | | | - fixed forgotten range checking to suppress Console warning - `|` [ | := caret ] shows all field names - up to now only those from the current table - table/db/proc/func names
* • reimplemented the F5 completion for quoted text i.e. completion based on ↵Bibiko2010-01-091-7/+15
| | | | NSSpellChecker only; language is selectable via right-click "Spelling and Grammar"
* Improve row deselection and error handling in Table Source and Content views:rowanbeentje2010-01-092-18/+26
| | | | | | | | - Change the error dialog buttons to "Edit row" and "Discard changes" instead of "OK" and "Cancel" - Correctly refocus the deselected row - Edit the first cell in the row after errors. - Fix row deselection and error handling on the Table Source view
* removed:Bibiko2010-01-091-1/+0
| | | | | | | | | [taskProgressWindow orderWindow:NSWindowAbove relativeTo:[tableWindow windowNumber]]; since it causes Console <error> messages mentioning "kCGErrorIllegalArgument" and it is not necessary anymore [thanks to Rowan for the hint]
* removed/refactored three instances of calling a method of untyped (id) objectsBibiko2010-01-093-8/+12
|
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-0986-1099/+1134
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* • avoid querying the server for `information_schema` table for MySQL ↵Bibiko2010-01-062-31/+35
| | | | version < 5 - this speeds up SP esp. for slow connections
* • fixed: do not disable User Account if no table is selectedBibiko2010-01-061-2/+9
| | | | • fixed: if user cancelled "Add Database" reselect 'Choose Database Button' instead of displaying "Add Database"
* Menu item label.stuconnolly2010-01-061-1/+1
|
* • 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-052-19/+150
| | | | | | | | • 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-048-108/+104
| | | | | | 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-043-10/+42
| | | | | | | | | | 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
* • ContentFilterManagerBibiko2010-01-042-3/+6
| | | | | - reimplemented the display of the conjunction label for two arguments - fixed bug while parsing and storing the number of arguments of each filter definition
* - Fix hashing of auth strings - fixes recent (and 64-bit) second use of SSH ↵rowanbeentje2010-01-031-2/+2
| | | | tunnels hanging