| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
background thread, and integrate for SQL import:
- Implement streaming reading of gzip-compressed files for SQL import
- Support exporting SQL dumps into a gzip-compressed file
- SPFileHandle supports the most-used subset of NSFileHandle commands for easy integration
- Integrate zlib 1.2.4 for improved gzip streaming performance (and support for custom buffer sizes and file offset positions)
This implements Issue #571 .
|
|
|
|
| |
- forgotten to remove the temp file after importSQL successfully
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- ensure that if the connection is lost while importing all relevant allocated objects are released including the import pool
- any error which cancels the import process will also release all retained global variables coming from the field mapper
|
|
|
|
| |
errors (NULL data returned) for views and stored procedures. This should fix http://log.sequelpro.com/view/27 , http://log.sequelpro.com/view/57 , and the last of http://log.sequelpro.com/view/53
|
|
|
|
|
|
| |
• avoid making the completion key list unique since it's possible to insert unique items only
• added trigger to query db structure after SQL import
• some work to avoid http://log.sequelpro.com/view/90 (not yet ideally - WIP)
|
|
|
|
|
|
|
| |
returning nil if no error occurred (previously a blank string was returned most of the time)
- Add a new (BOOL)[MCPConnection queryErrored] method, changing all error message checks to use it for clarity
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NSObjects to easily proxy commands onto the main thread with any number and type of arguments.
- Use the new trampoline and other thread safety tweaks to hopefully address a number of what appear to be threading issues:
http://log.sequelpro.com/view/20
http://log.sequelpro.com/view/32
http://log.sequelpro.com/view/41
http://log.sequelpro.com/view/42
http://log.sequelpro.com/view/55
http://log.sequelpro.com/view/64
http://log.sequelpro.com/view/65
http://log.sequelpro.com/view/66
|
|
|
|
|
|
|
|
|
| |
crashes: prevent multiple disconnects, add more checks, cancel current queries, and add a tiny delay to allow mysql cleanup.
- Alter MCPStreamingResult to no longer return a retained instance, setting up correct result disposal on autorelease but changing callers to retain as soon as they receive.
- Review and change a number of local variables shadowing/shielding other local or global variables.
|
| |
|
| |
|
|
|
|
|
| |
- regardless of focus it prints the table info sheet
- only if user selects something then the create syntax will be printed
|
|
|
|
| |
file" dialog if no imports have been performed in the session
|
|
|
|
| |
- implemented "Insert remaining rows" for import method UPDATE; if the UPDATE statement does't affect any row and this row via INSERT INTO…
|
|
|
|
|
|
|
|
|
|
|
| |
- 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)
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
inspection of leaks and Clang static analysis.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
functions (off by default). Remove the forked "...Sql..." functions, as they're now duplicates, and switch CustomQuery to using the original methods.
- TableDump imports can now process DELIMITERs correctly as a result.
- Alter the TableDump display of tables etc to use TablesList as the source of information, and used cached lists where appropriate for a small speedup. Also means we gain consistent sorting.
- Display procedures and functions in the toggleable list when exporting as SQL
- Tweak the procedure and function export to only export selected items, and also to respect the "export drop syntax" and "export create syntax" checkboxes
- Fix a crash when removing items from the TablesList resulted in an errorneous selection by deselecting all rows before deleting (and preemptively applying the same fix to TableContent)
|
|
|
|
|
|
|
| |
• if an error occurred while retrieving column or index data in Structure pane reset Structure pane to a stable status, display the error message, and reload Tables List table due to the fact the it's very likely that SP tries to retrieve data from a table which doesn't exist anymore
• fixed spelling of "occurred"
Note: NOT YET DONE: if in Structure view the actual underlying table was deleted or renamed by an other mysql event and the user tries to add/change a field do suppress this attempt safely
|
|
|
|
| |
linebreaks if they are within a quoted cell, improving compatibility with other applications (notably Excel)
|
|
|
|
|
|
| |
- Fix incorrect uses of [NSString stringWithFormat:] with preconstructed strings and no arguments in SPUserManager
- To fix display issues, replace NSBeginAlertSheet (which includes automatic sprintf expansion of the message) with a safely-escaped SPBeginAlertSheet in many files
|
|
|
|
|
|
| |
- added support for dump functions. If no errors are found, Issue 517 can be closed.
|
|
|
|
|
|
| |
- included export for proceduers. Need to add support for functions and test on different databases.
|
|
|
|
| |
changes of the accessory view (ie avoid disappearing of selected items)
|
|
|
|
|
|
|
| |
I've moved the export triggers part after the [streamResult release], so we
can export triggers for empty tables too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First draft on export triggers.
Known issues:
- Now it exports only triggers for the table that have some content in it.
If I move the write triggers part outside of the if (rowCount), the
SHOW TRIGGERS query never finishes.
- Sequel Pro complains when it tries to import the same file again. The
error message is related to DELIMITER command. Still, the triggers seem to
be present. This might be a different issue with Sequel Pro.
|
|
|
|
|
|
|
| |
release builds, including a large number of 64bit compatibility upgrades and tweaks
- Upgrade RegexKitLite to 3.3
|
|
|
|
|
|
|
| |
to avoid binary-mode result issues with certain versions of MySQL (including 4.1.14). This should address Issue #509.
- TableDocument now requests the server version string from MCPConnection, aiding caching
|
|
|
|
| |
memory leaks and fixing a couple of over-releases
|
|
|
|
| |
This completes the conversion of all constants in SPConstants to extern's.
|
|
|
|
|
|
|
| |
data rows or slow connections
- Remove a debug NSLog on "Copy as SQL insert"
|
|
|
|
| |
to "Do not import"
|
|
|
|
|
|
|
| |
- Exports are now threaded, allowing use of other windows during the export, and can be cancelled (which deletes the partially written export file) including use of the new query cancellation support.
- Correct the text of XML exports and improve progress feedback for XML exports.
- Fix .dot export of tables including foreign keys to use the new foreign key formats.
|
|
|
|
| |
consistent across all table views. Also includes live updating when the preference is changed as well as its implementation in the query console, process list and variables table views.
|
| |
|