| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
- do not create a field in beforehand if user set it to "Do Not Import"
- added ROUGH field type guessing by parsing the up to 100 first rows distinguishing text versa integer and size:
-- for integer distinguishes between INT and BIGINT due to number length
-- for text distinguishes between VARCHAR(255), VARCHAR(32767) [for MySQL >= 5 only], and TEXT due to maximum string length
|
|
|
|
|
|
|
|
| |
- added keyboard shortcut ⌘T to show available tables list
- added chance to add a new columns to an existing table (⌘⌥A)
- added chance to remove currently new added columns (⌘⌫) - context menu; to remove all new columns one can reselect the table
Note: New columns will be added after pressing 'Import' and before the import process starts; if an error occurred the sheet keeps open to give the user the chance to correct errors whereby successfully created new columns won't be editable anymore.
|
|
|
|
|
|
|
|
|
| |
table encoding and type):
- Make the sheet non-resizable, thus removing the visible resize triangle.
- Add a cancel button so the user can discard their selection.
- Only save the user's selection when they select 'OK'.
|
|
|
|
|
| |
- added button "New"
- added chance to change encoding and engine of the new table which will be saved in the Prefs
|
|
|
|
|
|
|
|
|
| |
- fixed some RETURN/ENTER logic while editing a table cell
- added context menu to table for:
-- 'Set all Field Types to:' which sets all types to the current selected one ⌘=
-- 'Add Column to Table Target' (not yet implemented)
- some minor code issues
- added Info button which will come up with a GUI for setting new table encoding and engine (not yet implemented)
|
|
|
|
|
|
| |
- added some GUI validations
- in new table mode changed 'type' column into self-learning NSComboBoxCells
- fixed issue for closing sheet if user press RETURN, only close it if 'Import' button is enable
|
|
|
|
| |
note:What else is needed for such an import? table encoding settings? ... has to be discussed
|
|
|
|
|
|
|
|
| |
executable)
- changed order of target tables: New Table, Refresh List, separator, list of all names
- cleaned code a bit
* removed check for available tables in SPDataImport, now if no table in db the CSV Field Mapper opens in "New Table" mode
|
|
|
|
| |
- make sure that after Refresh Table List the mapping table will be updated as well
|
| |
|
|
|
|
|
|
|
|
|
| |
SPAlwaysShowWindowTabBar
• fixed CSV Import file display in NSPathControl if SP runs localized
- the problem is very likely a bug in [NSPathControl setURL:]; that's why create a new temporary NSPathControl and set the GUI's NSPathControl via [NSPathControl setPathComponentCells:[tempPathControl pathComponentCells]]
- this should fix i751
• resized some components in CSV Import sheet to fit for localizations a bit better
|
|
|
|
| |
- there's no need to check the passed path for clipboard content
|
| |
|
| |
|
|
|
|
| |
to fix an autorelease crash. (Addresses http://spbug.com/l/266 )
|
|
|
|
|
|
|
| |
- Change MCPConnection.m to no longer use a reference to tableWindow to attach sheets - instead use a delate error display method if available
- Rework TableSource and TableContent sheetDidEnd methods into per-task methods rather than overloading contextInfo
- Rework SPAlertSheets to perform actions on the main thread, with the loss of (unused) support for a didDismissSelector. This addresses a number of crashes logged by the crash reporter
|
|
|
|
|
|
| |
- sheet showing the first 4kB of pasteboard content and the SQL/CSV accessory view
- pasteboard content will be saved as temp file and read by using the current table/connection encoding
|
|
|
|
| |
favorites (Thanks Hans).
|
|
|
|
|
| |
- added the chance to mark a global value as SQL statement in the sheet to allow to use a calculated value like LENGTH(`foo`) or NOW() while inserting/replacing/updating
• added ^⌥⌘N short-cut Navigator (still hidden)
|
|
|
|
|
|
|
|
| |
- if a parsed row in the csv file doesn't have the same number of columns as the first row fill the missing columns with SPNotLoaded to allow while importing that these missing data can be replaced by the table column's DEFAULT value
- fixed tiny issue for field mapper sheet to display the correct tooltip for default values
• SPTableData
- ATTENTION: changed the object for returned key 'default': if its value is NULL now it returns a [NSNull null] object
- changed instances to handle this [NSNull null] object (must be checked)
|
|
|
|
| |
- calculate correctly whether global variables are used or not to avoid a crash if the number of columns in the csv file differs
|
|
|
|
| |
- added to table target popup menu "Refresh List" menu item, since the user can add/change a table in an other connection window
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
- 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
|
|
|
|
| |
- 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
|
|
|
|
| |
- further work on UPDATE (not yet activated)
|
|
|
|
| |
localised strings.
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
mapping table
- set tokenField to noWrap
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- 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…"
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
• 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
|
| |
|
| |
|
| |
|
|
than SP_SYNTAX_HILITE_BIAS (has to be improved)
• added SPFieldMapperController
|