| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This change should fix the "slow CSV import dialog" issue on 10.10 (details below). To accomplish that, some major changes had to be made to the CSV import code. PLEASE VERIFY THE CORRECTNESS OF THE NEXT FEW CSV IMPORTS YOU DO!
* Renamed some variables for better search visibility
* Changed some instances where NSNumbers were being compared using "==" instead of "isEqual…" (does not work with object literals!)
* The CSV import dialog would recreate the popup menus on *every* call to "tableView:objectValueFor…". However Instruments suggests that [NSMenu removeAllItems] and [NSMenu addItemsWithTitles:] are **really** expensive, esp. when called multiple times per second (e.g. when scrolling in the table view). This commit moves the popup menu setup into its own method and only calls it when the data actually changes.
* The 'destination table column' was for some reason a NSPopupButtonCell which only ever had one item and sometimes got changed to a NSTextFieldCell in code. I didn't see any need to keep the popup cell and replaced it with a simple text cell.
|
| |
|
| |
|
|
|
|
| |
enable some more
|
| |
|
| |
|
| |
|
|
|
|
| |
in its current syntax builder by using the improved getter.
|
|
|
|
|
|
|
|
|
|
|
|
| |
exceptions as database structure retrieval is currently missing!
Further work on SPMySQLFramework integration:
- Improve SPMySQL framework build settings including correct ppc builds and a Distribution configuration for the build distributions to match
- Add new convenience querying and result methods to the framework
- Amend Sequel Pro source to use the new SPMySQL.framework methods everywhere, replacing MCPKit methods where they differ and improving some functions
- Remove MCPKit from the source
- Fix a number of warnings on Release-style builds
|
|
|
|
| |
postNotificationOnMainThread: which also exists in TCMPortMapper.framework; NSUserDefaults access now permitted in SP_REFACTOR blocks for a few prefs keys
|
|
|
|
| |
UI code from functional code
|
| |
|
|
|
|
|
| |
- reset import operators after each change of the chosen alignment
- double-click at PathControl performs goBackToFileChooser delayed in order to avoid time racing issues
|
|
|
|
|
| |
- added the possibility to apply any sql function while importing set via "Add value or expression" sheet eg concat('$2', '$1', length('$3')) whereby $1 $2 $3 are the placeholder for the csv file columns 1 2 3 [first column starts with 1]
• fixed ' escaping issue in MCPConnection
|
| |
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
| |
favorites (Thanks Hans).
|
|
|
|
| |
SPConstants.h/m.
|
|
|
|
|
| |
- 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)
|
|
|
|
| |
- 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 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.
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
- further work on UPDATE (not yet activated)
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- 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
|