| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
- introduced new method:
- (void)showErrorSheetWithMessage:(NSString*)message
to unify it and made all error sheets doc-modal (not app-modal)
- Close button of the errorSheet now also listens at ESC
|
|
|
|
|
|
|
|
|
|
|
|
| |
• remember last chosen field alignment in csv field mapper in the prefs
• improved 'matching names' algorithm; now it can handle this:
csv: a b c
table: c d a b
→
c - c
d
a - a
b - b
|
|
|
|
|
|
| |
- added button "Go Back" ⌥← to go back to the file chooser (mainly for correcting delimiter etc.)
- improved selecting csv file columns for the case that column was set as 'Do not import'; now if set to 'Do not import' the value is hidden, click the user on it the popup menu appears and the operator is set to 'Do import' automatically
• TableDump now remembers the last chosen csv file name
|
|
|
|
|
| |
- added chance to align the csv field and table field names via 'matching names' which uses the Levenshtein distance [first approach] if csv file's first line is an header
|
|
|
|
|
|
| |
- added target table field primary key info
- added to align the csv fields by 'file order' and 'reversed file order'
|
|
|
|
|
|
| |
- added target table field type and default info
- disable Import button if no target table fields are available
|
|
|
|
| |
• fixed spellings
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- fixed precocious releasing of mapper settings
- fixed boolean binding for displaying "1 of first 100 records"
- added further gui elements (not yet activated)
- sheet dimensions are now auto-saved
- bound keystroke ⇢ and ⇠ to row stepper
- renamed some stuff
- added clarification notes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- changed the way to choose whether a source field should be imported or not by introducing a new table column 'operators'
- clicking at the 'operator's header toggles all operators to 'Import' or 'Do not import'
- added tooltips for each table cell; if file's first line are the headers show them in the tooltips as well
- added checkbox "First line contains fields names" since it'll be clear in this pane whether a file has a header line or not (will be sync with prefs)
- added the possibility to choose the import method: INSERT INTO or REPLACE INTO
• deleted all old field mapper stuff from TableDump and DBView.xib
Notes:
- tests are needed to be sure that this change does not cause mismatches while importing
- symbols for Do (not) import are tendative - maybe use images
- a further import method UPDATE plus an operator '=' will be added soon
- chance to add a new global source variable will come soon
- displaying of source field types will come soon
- semi-automatically matching of source field names and header names will come soon
- the GUI needs some improvements afterwards
|
| |
|