aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPFieldMapperController.m
Commit message (Collapse)AuthorAgeFilesLines
...
* Various improvements to server capability/version checking, including:stuconnolly2010-10-071-2/+3
| | | | | | | | | | | | | - Add a new ServerSupport class, for which an instance is created upon each new connection and is then subsequently accessible via SPDatabaseDocument. - Replace the majority of manual version checking with calls to properties in the above new class. - Improve the user manager's compatibility with MySQL 3 and 4 servers. Fixes issue #811 Other changes include: - Disable the encoding popup button when adding a new table or database to servers running pre MySQL 4.1 as it only contains one option, 'Default'. - Fix various potential memory leaks discovered during static analysis. - General tidy up and comments.
* • fixed exception while length checking for import into new table if ↵Bibiko2010-09-281-2/+2
| | | | | | checked value is not a NSString - fixes issue 1649
* - Remove a number of invalid [NSTableView makeFirstResponder] calls that ↵rowanbeentje2010-09-181-3/+3
| | | | | | | had crept into the source, replacing with the correct [NSWindow makeFirstResponder:NSTableView]. This fixes a number of exceptions. - Update localisable strings.
* * Fixes minor label length issues and one unlocalized stringdmoagx2010-09-171-3/+5
|
* • CSV Import into new table:Bibiko2010-09-061-4/+79
| | | | | | | | - 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
* • CSV Import Mapper sheet:Bibiko2010-09-061-44/+194
| | | | | | | | - 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.
* Minor enhancements to the CSV import dialogs new table info sheet (i.e. ↵stuconnolly2010-09-051-2/+6
| | | | | | | | | 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'.
* • CSV Import into new TABLEBibiko2010-09-041-53/+141
| | | | | - added button "New" - added chance to change encoding and engine of the new table which will be saved in the Prefs
* • further improvements for CSV import into new tableBibiko2010-09-031-3/+58
| | | | | | | | | - 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)
* • further progress for CSV import into new tableBibiko2010-09-031-9/+64
| | | | | | - 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
* • finished the first implementation of CSV Import into new tableBibiko2010-09-031-8/+174
| | | | note:What else is needed for such an import? table encoding settings? ... has to be discussed
* • first preparations to support a CSV import into a new table (not yet ↵Bibiko2010-09-021-55/+218
| | | | | | | | 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
* • CSV Import Field mapperBibiko2010-09-021-1/+0
| | | | - make sure that after Refresh Table List the mapping table will be updated as well
* Rename TableDump to SPDataImport and fix export selected tables functionality.stuconnolly2010-07-061-1/+1
|
* • after opening spfs file reset tabBar by looking at setting for ↵Bibiko2010-07-011-1/+7
| | | | | | | | | 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
* • fixed issue for Import from ClipboardBibiko2010-06-181-5/+1
| | | | - there's no need to check the passed path for clipboard content
* Rename TablesList to SPTablesList.stuconnolly2010-05-271-1/+1
|
* Rename CMTextView to SPTextView.stuconnolly2010-05-271-1/+1
|
* - In the CSV import field mapper controller, retain the primary key field ↵rowanbeentje2010-05-091-1/+3
| | | | to fix an autorelease crash. (Addresses http://spbug.com/l/266 )
* Rework alert sheets:rowanbeentje2010-05-091-1/+1
| | | | | | | - 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
* • added "Import from Clipboard" ⌥⇧⌘IBibiko2010-04-101-2/+11
| | | | | | - 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
* Tidy up imports and fix 'Reverse Sort Order' when sorting connection ↵stuconnolly2010-03-311-1/+1
| | | | favorites (Thanks Hans).
* • CSV Import Field MapperBibiko2010-03-221-7/+26
| | | | | - 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)
* • CSV ImportBibiko2010-03-221-8/+13
| | | | | | | | - 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)
* • fixed bug while CSV importBibiko2010-03-221-1/+17
| | | | - calculate correctly whether global variables are used or not to avoid a crash if the number of columns in the csv file differs
* • CSV Import Field MapperBibiko2010-03-141-0/+15
| | | | - added to table target popup menu "Refresh List" menu item, since the user can add/change a table in an other connection window
* • CSV Import Field MapperBibiko2010-03-061-7/+37
| | | | | - 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.
* • CSV Import Field MapperBibiko2010-03-061-5/+12
| | | | | - 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
* • CSV Import Field MapperBibiko2010-03-051-1/+0
| | | | - implemented "Insert remaining rows" for import method UPDATE; if the UPDATE statement does't affect any row and this row via INSERT INTO…
* • CSV Import Field MapperBibiko2010-03-051-6/+15
| | | | | | - 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
* • CSV Import Field MapperBibiko2010-03-051-54/+192
| | | | | | | | | | | - 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.
* • CSV Import Field MapperBibiko2010-03-041-6/+9
| | | | | | | - 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
* • CSV Import Field MapperBibiko2010-03-031-3/+41
| | | | - further work on UPDATE (not yet activated)
* Localise SPExtendedTableInfo.m and remove use of multiple comments for ↵stuconnolly2010-03-031-2/+2
| | | | localised strings.
* • CSV Field MapperBibiko2010-03-021-11/+26
| | | | | | - 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
* • CSV Import Field MapperBibiko2010-02-211-6/+96
| | | | | - 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
* • applied new SPTableData keys "PRIMARY" and "UNIQUE" information to the ↵Bibiko2010-02-201-10/+12
| | | | | | mapping table - set tokenField to noWrap
* • CSV Import Field MapperBibiko2010-02-191-7/+45
| | | | | | | - 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
* • CSV Import Field MapperBibiko2010-02-181-16/+21
| | | | | - 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
* • CSV Import Field MapperBibiko2010-02-181-2/+27
| | | | | | | | | - 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…"
* • CSV Import Field MapperBibiko2010-02-181-2/+41
| | | | | - 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
* • further progress for 'add global source value'Bibiko2010-02-171-94/+240
| | | | | | | | | | | | • 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
* • csv file import mapperBibiko2010-02-171-9/+14
| | | | | | - 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
* • csv field mapperBibiko2010-02-161-2/+46
| | | | | - 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
* • csv field mapperBibiko2010-02-161-1/+30
| | | | | | - added target table field primary key info - added to align the csv fields by 'file order' and 'reversed file order'
* • csv field mapperBibiko2010-02-161-6/+42
| | | | | | - added target table field type and default info - disable Import button if no target table fields are available
* • removed arrowsBibiko2010-02-161-7/+18
| | | | • fixed spellings
* • field mapper controllerBibiko2010-02-161-2/+11
| | | | | | | | | | - 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
* • re-factored and outsourced the entire CSV import field mapper sheetBibiko2010-02-161-35/+250
| | | | | | | | | | | | | | | | | | - 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
* • some further progress for the new csv import field mapper sheetBibiko2010-02-151-5/+40
|