aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CustomQuery.m
Commit message (Collapse)AuthorAgeFilesLines
* • added to SPArrayAdditions.h: NSArrayObjectAtIndex() inline functionBibiko2009-06-181-9/+12
| | | | | | | | | - 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
* • some tiny improvements to speed up queryString:Bibiko2009-06-181-4/+4
| | | | | | | | | - cache the function pointer for delegate willPerformQuery: - if Console Log window is NOT visible suppress reloadData and scrolling to last line (this speeds it up remarkably); if user opens the Console log window it will be synchronized - timeIntervall for execution time will be divide by CLOCKS_PER_SEC in [NSString stringForTimeInterval] - removed for utf8 enc in cString the return UTF8String (no significant difference) • now execution time shows only the time for mysql_real_query
* • changed regex of trigger a reload of table/db according to executed queriesBibiko2009-06-171-3/+4
| | | | | - now it also recognizes such keywords with leading comments - still further improvements are needed
* • improved: sped up removing the background color for query highlightingBibiko2009-06-061-2/+8
| | | | • added: DELIMITER to the completion suggestions
* • added to Editor Preferences:Bibiko2009-06-051-4/+19
| | | | | - "Query Background" color - checkbox "Highlight Current Query"
* • reload table list, database pull-down menu according to user's ↵Bibiko2009-06-051-13/+37
| | | | | | | | | 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
* Fixed some memory leaks found using llvm/clang. There are still some to fixbamse162009-06-051-1/+3
|
* • fixed: suppress highlighting of the current query if something is selectedBibiko2009-06-041-1/+7
| | | | • added: "Select Active Query ^Y" context menu item to the Custom Query Editor
* • simplified quertAtPosition:Bibiko2009-06-041-213/+99
| | | | | | • added queryRangeAtPosition: method because this is needed also for other purposes • moved the commands for highlighting the current query from queryAtPosition: to textViewDidChangedSelection: (where it belongs to) • some minor changes in error highlighting code
* • updated queryTextRangeForQuery: method to make usage of the new SQLParserBibiko2009-06-041-15/+11
|
* • added support for the “delimiter” commandBibiko2009-06-041-87/+119
| | | | | | | | | | | | | | - added (NSArray *) splitSqlStringByCharacter:(unichar)character; (NSArray *) splitSqlStringIntoRangesByCharacter:(unichar)character; (long) firstOccurrenceInSqlOfCharacter: to the SQLParser which recognize a “delimiter” command • queryAtPosition now works with ranges to speed it up - the current query ranges resp. the just activated query range are cached in order to avoid parsing if the user only navigates through the textView buffer, or if the user calls Run Prev/Current Query only • the "import dump" function makes usage of that new “delimiter” support - i.e. dumps with procs/funcs declaration could be imported IMPORTANT: Please check the new SQLParser exhaustively in order to prove that new approach
* • ADDED: highlight the current active query by setting its background ↵Bibiko2009-05-281-1/+19
| | | | color in the Custom Query Editor
* • fixed dependence in showHelpForCurrentWord: to allow to invoke the help ↵Bibiko2009-05-281-1/+1
| | | | (Context Menu or ^H) from any CMTextView (e.g. from create syntax view in Table Info as well)
* Fix for query editor font being lost. Initialize the prefs reference in ↵stuconnolly2009-05-271-2/+2
| | | | setConnection as opposed to init, so we definitely know the font has already been set. Turns out it was me that moved it to init, my bad.
* • activate Preference setting for caret colorBibiko2009-05-241-1/+2
| | | | | | | | • added prototype for new completion (ESC -> Cocoa, F5 -> new completion) - not yet finished - TODO: -- support for NSSpellChecker items -- images for different types of suggestions like proc/func/tabkle/view/sql statement, db name, etc.
* - Forgot to save this file before last commitavenjamin2009-05-221-3/+3
|
* - Few Changes to Query Editor Preferenceavenjamin2009-05-221-119/+119
| | | | | - Cleaned up a few preference keys - Added Caret Color to Query Editor Prefs - disabled for now.
* - Fixed NSFontPanel issue. Now showing font collections in Font Panelavenjamin2009-05-211-0/+7
| | | | | | - Replaced some toolbar icons with new ones - Edited some toolbar icons. - Added keyboard shortcut section to preferences (Disabled for now)
* • made mySQLConnection reachable for CMTextViewBibiko2009-05-201-0/+2
| | | | | | | • for MySQL version > 4 added proc/func names to the completion suggestion list • changed the way of adding the table names to the completion suggestion list - now it uses [mySQLConnection listTables] instead of taking the names from the table view list due to the header items • added some pragma marks to CMTextView
* New preference to allow the displaying of vertical grid lines in table views.stuconnolly2009-05-191-26/+42
|
* • implemented a new approach to split a string into single SQL statements ↵Bibiko2009-05-191-0/+10
| | | | | | | | by using the lexer SPTokenizer - the new method is called splitStringIntoRangesOfSQLQueries: in SPSQLParser - in CustomQuery's method queryAtPosition: can be found a test case which is as default not activated - must be improved further
* More header updates for source files, including Subversion Id property.stuconnolly2009-05-191-1/+2
|
* - added ability to view function and procedures and preliminary ability to ↵mtvee2009-05-131-2/+2
| | | | input same via the editor
* More dialog updates. Issue #192.stuconnolly2009-05-121-5/+6
|
* • added "Query Editor" preference pane for setting colors, font, and modes ↵Bibiko2009-05-071-20/+28
| | | | | | | | | | | | | | | | | (from the CQ's action gear which are still customizable there) - in addition to the syntax colors it's now possible to change the fore/background color as well • added "Update Help while typing" feature in the Custom Query editor • first trial to improve syntax highlighting for large text in the Custom Query editor - if the text is larger than 10k the highlighting is performed only for the visible text area ±bias (3.5k) - if the user changes the visible area the highlighting follows time-delayed 500ms) to assure user interaction - a test with a 45MB SQL dump worked (of course a tick slowier) -- todo: improve prev/current query detection (mainly the SQLParser) - if the text size is > 6MB the completion list won't show words from the text due to parsing time - if the text size is > 6MB the line numbering will be disabled due to performance issue (improvements should follow) • some tiny clarification changes in the syntax highlighting code • some minor code cosmetics
* • MySQL Help - simplified code for goBack/Forward buttons because it is ↵Bibiko2009-05-011-8/+2
| | | | supported in the helpWebView policy delegate method
* • added "MySQL Help" to the MainMenu > Help submenuBibiko2009-04-301-9/+22
| | | | | | - it shows the MySQL Help TOC of the front most tableDocument mysql connection, i.e. each tableDocument has its own Help window (due to the fact that the Help is version specific), and makes it the keyWindow - changed the way for getting the mySQLversion into the CustomQuery; now a new tableDocument set it via [customQueryInstance setMySQLversion:foo]; the other way was to unsafe regarding to get the version if MySQL Help was invoked via MainMenu • Help window and Create Table Syntax window will be released while closing the tableDocument
* • changed context menu item in CQ's textview to support "MySQL Help"Bibiko2009-04-301-0/+11
| | | | | • prepared code to work with autoHelp • improved getRangeForCurrentWord (fix for " |a")
* • MySQL HelpBibiko2009-04-301-1/+1
| | | | | | - updated autoHelp, now it recognizes cursor movement via mouse • if the chunk in CQ's textview is too large remove all attributes • some minor code cosmetics
* • MySQL HelpBibiko2009-04-301-40/+69
| | | | | - refactored and cleaned contextMenuItems for the webview - help-html-template will be loaded only once
* • MySQL HelpBibiko2009-04-291-2/+3
| | | | - fixed: escaped single quotes ' in the search string for HELP 'foo' (search selection)
* Add a menu item separator between the default menu items and MySQL search items.stuconnolly2009-04-291-0/+1
|
* • MySQL Help refactoringBibiko2009-04-291-152/+161
|
* • MySQL HelpBibiko2009-04-291-18/+26
| | | | | - change help target buttons into a NSSegmentedControl - fixed minor typo
* • MySQL HelpBibiko2009-04-291-15/+76
| | | | | | | - managed contextual menus in webview -- added for selection menu "Search in MySQL Help" and "Search in MySQL Documentation" - fixed keyboard short-cuts in webview - corrected tooltip for "Web" button in GUI
* • MySQL Help:Bibiko2009-04-281-1/+1
| | | | - fix for link detection of [HELP foo] if foo contains a \n
* • MySQL HelpBibiko2009-04-281-2/+8
| | | | | - fixed logic to detect whether db connection supports HELP statement - improved the while typing search, e.g. type in the Help search field "sel"
* • MySQL HelpBibiko2009-04-281-7/+17
| | | | | - if the connected database doesn't support the HELP statement or the admin deleted the help tables in mysql the search falls back to the online search according to the connected mysql version - changed slightly the example css output style
* • MySQL Help:Bibiko2009-04-281-17/+9
| | | | | | - simplified code for getting mySQLversion (this eliminates complier warning too) - change HTML/CSS output slightly for keyword header - changed back/forward tooltip to be consistent
* • MySQL Help improved:Bibiko2009-04-281-7/+52
| | | | | | | - added history: go back/forward - window now has auto save name MYSQL_HELP_WINDOW - disabled contextual menu for safety reasons (temporarily) - some minor stuff
* • some minor cosmetics for the MySQL HelpBibiko2009-04-281-14/+14
| | | | • added NSBeep() if nothing found in the current-page-search
* • improved MySQL Help GUI resize behaviourBibiko2009-04-271-5/+41
| | | | | • fixed some minor issues to detect http links in help descriptions • first steps to make SQL statements and see [HELP %] clickable
* • MySQL Help improvedBibiko2009-04-271-216/+298
| | | | | | | | | - added help target (online, in current page, in MySQL help ⌥⌘O,P,M) - GUI support for go back/forward (not yet implemented) - ⌘G, ⇧⌘G for find next/prev in current page - ⌘F selects search field; ⌘+ and ⌘- support - online search is version sensitive
* • MySQL Help improvedBibiko2009-04-271-17/+163
| | | | | | - better HTML view, list topics for multi-matching keywords - for test cases invoke it by CTRL+H in the Custom Query textView - GUI is really tentative!
* • added a prototype to support an Help view for the current word in the ↵Bibiko2009-04-241-2/+72
| | | | | | Custom Query text view - work in progress!
* - Ensure that the structure view is always selected on program launch, ↵rowanbeentje2009-04-231-5/+1
| | | | | | | whatever the last view used in IB is - Move setAutoEnablesItems:NO from the CustomQuery file to the menu definition in the .xib
* - Clean up some edge cases with "Run current"/"Run previous", and rework ↵rowanbeentje2009-04-231-66/+76
| | | | the code to make it a bit clearer. Builds on r614.
* • CHANGED: if an error occurs in a series of queries the user will be ↵Bibiko2009-04-221-32/+205
| | | | | | | | | | | | | | | asked to "Stop", "Continue" or "Run All" - Stop: the execution will stop at the erroneous query (if other queries would follow "Execution stopped!" will be prompted in the error message field) - Continue: continues the execution but shows that alert for a next error - Run All: runs all following queries regardless of possible errors • improved the error selection - fixed the issue for Run Current/Previous (even for duplicates) - if no error line is given it selects the first query which caused an error entirely - due to the localization of mysql error messages changed the regexps for catching the: -- line number to /([0-9]+)$/ because the line number always should be outputted at the end -- "near message" to / '(.*?)' / (important the last space because after that space the line number will be outputted) -- further checks are needed
* • slightly improved "Run Previous" detectionBibiko2009-04-211-4/+26
| | | | - now it recognizes if the line is empty after the caret position; if not "Run Current" is set
* • FIXED: synchronized "Run Current/Selection/Previous" button appearance ↵Bibiko2009-04-211-2/+12
| | | | with the the corresponding gear menu item