| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
CompletionTokens.plist
• SPQueryController manages keyword and function completion lists now; this reduces the memory usage a bit and the list is easier to edit
• added pre-defined function argument snippets to CompletionTokens.plist (auto-generated from mysql's HELP)
• added Preference option for Editor whether a function completion should insert () and if found the function argument snippets automatically or not
- last ) will be linked as autopaired then
• changed behaviour for wrapping a selection into `"'() etc. - now it re-selects the original selection after wrapping and in addition last wrap character is now marked as autopair-linked
• improved logic for popping up the auto-completion list
|
|
|
|
|
|
|
|
| |
- The delegate is now triggered for connectionLost: on the main thread, as this action will probably trigger a GUI update; this addresses http://log.sequelpro.com/view/10 .
- Connection proxy disconnects are now triggered on the main thread
- Connection checks are now made via a pthread'd ping in a loop, removing the reliance on SIGALRM which may hop thread execution back to the main thread when called on another thread. The new approach is cleaner but does rely on a loop with a sleep.
This will hopefully improve the disconnect/retry/reconnect crashes.
|
|
|
|
| |
probably caused by non-thread-safe menu interaction. This addresses http://log.sequelpro.com/view/19
|
|
|
|
| |
requests changes be discarded; this addresses http://log.sequelpro.com/view/16
|
|
|
|
|
|
|
| |
yet; this addresses http://log.sequelpro.com/view/23
- Clean up fix in r1859
|
|
|
|
| |
no selection is active. This addresses http://log.sequelpro.com/view/14
|
|
|
|
|
| |
- do not insert () after a function if inserted string ends with )
- no snippet insertion for () - only locate the caret inside ()
|
|
|
|
| |
http://log.sequelpro.com/view/25
|
|
|
|
|
|
| |
on/off, settable in Prefs and gear menu
- if inserted completion is marked as function it inserts snippet (${}1:) so far; function parameters as snippets follows soon
|
|
|
|
| |
window title.
|
|
|
|
| |
changed to avoid exceptions
|
|
|
|
|
| |
- added to INSERT advanced option "Skip existing rows"
This option allows to insert only those source file rows which primary keys do not exist. It executes INSERT INTO … ON DUPLICATE KEY UPDATE `pri_key_name` = `pri_key_name`. This statement suppresses all warnings/errors regarding to duplicates pri keys etc. BUT it gives an error if an INSERT… statement of a remaining row was erroneous.
|
|
|
|
| |
FeebackReporter's FRFeedbackReporterDelegate protocol.
|
|
|
|
|
| |
- fixed some issues for displaying the default values for auto_increment and time_stamp
• added possibility to change the tab stop width in each CMTextView via Preference setting in Editor window
|
|
|
|
|
|
|
|
| |
- Update to a development version of the feedback reporter, which improves logging and allows functionality like exception reporting from non-main threads (together with many other improvements).
- Use the new preference privacy delegate methods to remove query history and favorite settings, together with other hostname/user path type settings, to anonymise the preferences submitted
- Limit the console log submitted to 10k
- Move the framework into the Frameworks folder
|
|
|
|
| |
- implemented "Insert remaining rows" for import method UPDATE; if the UPDATE statement does't affect any row and this row via INSERT INTO…
|
|
|
|
|
|
| |
- improved some validation logic
- added "Match Field" to source file field popup to be consistent if UPDATE is chosen
- the label "Advanced" is now clickable as well
|
|
|
|
|
|
|
|
|
|
|
| |
- removed Advanced sheet, instead resize the main sheet and display these settings in it
- added advanced options LOW/HIGH_PRIORITY
- improved logic for adv. settings, disabling UPDATE if target table has less than 2 fields, etc.
- fixed URL for displaying the source file name
- removed Help text since it's too large - should be go to the general help
• CMTextView
- fixed bug if ESC Completion is invoked if caret position is 0
• fixed document URL handling to come up with the correct icons etc.
|
|
|
|
|
|
|
| |
- added UPDATE method which allows to configure an import statement à la:
UPDATE t1 SET col1=foo1, col2=foo2 WHERE col3=baz1 AND col4=baz2
- Insert remaining rows (which are not matched) isn't implemented yet
- note: further tests are needed to ensure it works as expected
|
|
|
|
| |
requests changs be discarded
|
|
|
|
| |
- further work on UPDATE (not yet activated)
|
|
|
|
| |
localised strings.
|
|
|
|
| |
submitting to a new online repository. Integrates the FeedbackReporter framework.
|
|
|
|
|
|
| |
- REPLACE as import method is only enabled if target table has a primary key or at least one field which is set to unique
- if user set a field to "Ignore Field" display as "import value" the field's default value greyed
- some minor code cosmetics
|
|
|
|
| |
auto increment' button when no auto increment field is present.
|
|
|
|
|
|
|
|
| |
than one selected item in the TablesList; if no error alert OK, if not or for CHECKSUM list the output in a table view
- while sheet is open showing the accessory table user can press ⌘C for copying it
- added missing NSLocalizeStrings
• fixed a tiny issue for $SP_SELECTED_TABLES
|
|
|
|
|
|
|
|
| |
- added snippet variable $SP_SELECTED_TABLES which inserts `table1`,`table2`, etc. (ONLY tables)
• improved "Check Table"
- now one can select more than one table to execute "CHECK TABLE table1,table2,… ; if all tables passed successfully alert OK, if not show the result as accessory table in the sheet
note: OPTIMIZE, REPAIR, FLUSH, CHECKSUM, ANALYZE follow
|
| |
|
|
|
|
|
|
|
|
|
|
| |
value (no sheet)
• "Delete all records" confirmation sheet shows a checkbox "Reset AUTO_INCREMENT after deletion" if PRI key is given for that table
• minimized table data querying for auto_inc
• optimized auto_inc change notification
• if user changes tabVIew to Table Info Pane update data in beforehand
• TRUNCATE query updates auto_inc value as well in TABLE INFORMATION
|
|
|
|
|
|
| |
- Move foreign key reference loading into it's own task and set state modification markers to allow it to override the table state history
- Rename modifyingHistoryState to modifyingState now the usge has broadened slightly
|
|
|
|
|
|
|
|
| |
Table Info Pane via Advanced popup button and sheet (not yet optimal GUI solution)
• SPAlertSheets
- ensure that this sheet becomes the keyWindow
|
|
|
|
|
|
| |
Structure Pane via right-click at the index tableView
- implementation in the Table Info follows soon
|
|
|
|
| |
- not yet active
|
|
|
|
|
|
|
| |
file size while importing very large CSV/SQL
- replaced deprecated method fileAttributesAtPath:traverseLink: by attributesOfItemAtPath:error:
- fix for i549
|
|
|
|
|
| |
- added Advanced sheet for setting IGNORE, DELAYED, ON DUPLICATE KEY UPDATE '<string>' for INSERT/REPLACE INTO
• if during import CSV Import an error occurred show SP Console
|
|
|
|
|
|
| |
- specified first responder to avoid pressing ↩ twice before closing sheet
- ESC also closes that sheet
- fixed tab behaviour for keyboard navigation
|
|
|
|
|
|
| |
mapping table
- set tokenField to noWrap
|
|
|
|
|
|
| |
- the root dict key "primarykeyfield" = <field name>
- the key "isprimarykey" for corresponding table field
- the key "unique" = 1 if corresponding table field has a UNIQUE KEY
|
|
|
|
| |
from last commit r1824 since that part should be moved maybe into SPTableTextFieldCell
|
|
|
|
|
|
|
|
| |
table columns are reordered by the user
• initial transition to insert via - up to now - ^⇧N a [NSNull null] object into the table's data source directly without parsing a possible @"NULL" string
- it's a first test
- and works only for CMCopyTable subclassed tables
|
|
|
|
| |
correctly if no ${} argument is passed
|
|
|
|
| |
whether the leading <field> placeholder should be suppressed or not in order to be able to write a filter like "LENGTH($CURRENT_FIELD)>${}"
|
|
|
|
| |
- if user types foo. while completion list is open and no suggestion is found re-invoke completion automatically due to the fact that it's very likely that the user wants to insert either a table or field
|
|
|
|
|
|
|
| |
- added to csv field popup menu: "Ignore all fields", "Import all fields"
- if user changed a matching pair field change the "Align fields by:" to "custom order" to make it more transparent
- if user inserts a just added global var to a field which was set to "Ignore field" set it to "Import field"
- unified some messages
|
|
|
|
| |
source view changes/content view update crashes, and almost certainly memory leaks and other crashes
|
|
|
|
|
|
|
| |
time by holding down ⌘R for a long time caused by updating the history
- removed unnecessary updating of the historyButton
- updating of all docs is now performedOnMainThread:waitUntilDone:NO
|
|
|
|
|
| |
- some tiny improvements like "Add global value…" adds a new value automatically; if checkbox "Use current value" is ticked use that value in mapping array automatically to speed up defining global vars
- some code cosmetics
|
|
|
|
|
|
|
|
|
| |
- added the csv source field popu:
"Ignore field" to set the current field to doNotImport
"Add global value…" which opens the global value sheet
- removed "Add global value" button
Note: still not the optimal solution - further work is needed. esp. avoid jittering if user selects "Ignore field" or "Add value…"
|
|
|
|
| |
- fixed bug, detect if csvimportarray contains global vars correctly
|
|
|
|
|
| |
- allow to define a list of global variables (incl. a true NULL value)
- such a global variable will be inserted into the mapped table target field for all rows imported
|