| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
- added editing of blob data
- (editing not yet enabled)
TODO: progress bar while checking if field is editable and writing large blob data
|
|
|
|
|
| |
- make usage of SPFieldEditor for displaying result data field (incl. blob data)
- set to non-editable yet
|
|
|
|
| |
- esp. for (un)commenting a selection if it ends with a \n
|
|
|
|
| |
title to "Comment Selection" if a selection is given
|
|
|
|
|
|
|
|
|
|
|
| |
- ⌘/ (un)comment current line only if no selection is given (by using "-- ")
-- caret jumps to the next line to (un)comment lines quickly
-- # sign will be recognized for uncommenting as well as if the entire line is wrapped into /* */
- ⌘/ (un)comment current selection (by wrapping it into /* */)
-- it (un)escapes present */ into *\/ automatically
- ⌥⌘/ (un)comment the current query (by wrapping it into /* */)
-- the GUI element will be found in the Gear Menu by pressing ⌥
• added shortcut ⌫ to Table Content's "Delete selected row(s)" tooltip
|
|
|
|
|
|
|
| |
- changed comment string to "-- "
- fixed bug in uncomment
- added gear menu item
-- TODO: change menu item title according to selection/current query (coming soon)
|
|
|
|
|
|
| |
current query or selection by inserting "# " at the begin of each line
- Note: not yet finished completely
|
|
|
|
| |
query editor buffer
|
|
|
|
|
|
|
|
|
|
|
|
| |
arrays, and make some editable CustomQuery improvements:
- Switch to using arrays for row storage rather than dictionaries. Use the data column index for table column identifiers.
- This fixes Issue #316 and also allows sorting by all custom query result columns using a column index rather than the name
- Offers significant speed and memory advantages: result building is now 2x-3x faster, memory used for results storage is 30-40% lower, and result access is slightly faster. (Note full 2x-3x speed results won't be seen - result fetching and mysql binary work isn't included in the timing)
- No longer need to fetch the first column of data for tables containing only blob types
- Correctly escape strings when editing CustomQuery results
- Rewrite NSArrayObjectAtIndex to use the native CFArrayGetValueAtIndex rather than cached selectors - neater code and I think slightly faster
|
|
|
|
|
|
|
| |
- Amend timing using clock() to timing based on mach_absolute_time() (see revision comment on Google code)
- Ensure the time returned is for the requested query and not subsequent helper queries
- Use NSNumberFormatter to return a localised "< 0.1 ms" rather than the hardcoded Euro-style "< 0,1 ms"
|
|
|
|
| |
header if no ORDER BY statement was found in the original statement
|
|
|
|
| |
at a column header
|
|
|
|
|
| |
- preserve table width/order after editing
- updated data source code to avoid having the data twice in the memory
|
|
|
|
|
|
| |
- (NSString *) shortStringRepresentationUsingEncoding:
--mainly used for displaying large blob data in a tableView
• tiny speed improvements for tableView:objectValueForTableColumn and tableView:setObjectValueForTableColumn in Content Browser and Custom Query
|
|
|
|
|
|
|
|
| |
• in Content Browser send only the first 255 bytes to the cell formatter (makes it a tick faster)
• fixed for editing in Content Browser if row contains binary blob data:
- use = instead of LIKE operator in UPDATE statement
- binary data will converted into X'...' representation
|
|
|
|
|
|
| |
containing a `
• some minor code cleaning and commenting
|
|
|
|
| |
containing NULL values and editing data in tables with names containing backticks
|
|
|
|
| |
such fields which can be identified bijectively by the given table data
|
|
|
|
| |
name (not that one defined via "AS") if the result columns' table source is the same, otherwise <table>.
|
|
|
|
|
|
| |
- CustomQuery table now allows to copy selected rows as SQL INSERT (table name is set to "<table>"
- if a field is a blob display only the first 255 bytes/chars in the CQ table for speed reasons
- blob fields in CQ does not listen to the pref setting for "LoadBlobsAsNeeded" because it could happen that no one-to-one relation to their original data will be found
|
|
|
|
| |
for/while loops
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- now it also recognizes such keywords with leading comments
- still further improvements are needed
|
|
|
|
| |
• added: DELIMITER to the completion suggestions
|
|
|
|
|
| |
- "Query Background" color
- checkbox "Highlight Current Query"
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
• added: "Select Active Query ^Y" context menu item to the Custom Query Editor
|
|
|
|
|
|
| |
• 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
color in the Custom Query Editor
|
|
|
|
| |
(Context Menu or ^H) from any CMTextView (e.g. from create syntax view in Table Info as well)
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
• 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.
|
| |
|
|
|
|
|
| |
- Cleaned up a few preference keys
- Added Caret Color to Query Editor Prefs - disabled for now.
|
|
|
|
|
|
| |
- Replaced some toolbar icons with new ones
- Edited some toolbar icons.
- Added keyboard shortcut section to preferences (Disabled for now)
|
|
|
|
|
|
|
| |
• 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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
input same via the editor
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
| |
supported in the helpWebView policy delegate method
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
• prepared code to work with autoHelp
• improved getRangeForCurrentWord (fix for " |a")
|