| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
warnings
|
| |
|
|
|
|
|
|
| |
- added key, extra, privileges information to it
- changed object type for 'field_name' to an array containing the values type, charset, key, extra, priv
- completion for fields now also shows PRI, MUL, etc. keys
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
|
| |
|
|
|
|
|
|
|
| |
out at 30 seconds to prevent sleeping threads
- Improve keepalive timer interaction
|
|
|
|
|
|
|
|
| |
- The delegate is now triggered for connectionLost: on the main thread, as this action will probably trigger a GUI update; this addresses http://log.sequelpro.com/view/10 .
- Connection proxy disconnects are now triggered on the main thread
- Connection checks are now made via a pthread'd ping in a loop, removing the reliance on SIGALRM which may hop thread execution back to the main thread when called on another thread. The new approach is cleaner but does rely on a loop with a sleep.
This will hopefully improve the disconnect/retry/reconnect crashes.
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
probably as a result of r1709
- Improve SSH and object cleanup, especially for cases where the connection drops, to ensure the connection proxy is cleaned up and all memory released
|
|
|
|
|
|
|
|
|
| |
- Set error strings on MCPConnection on user disconnect to allow existing error chcking to catch the state
- Improve close behaviour from threads
- Improve window close behaviour and appearance
- Add new checks for disconnection in one or two crash-prone locations
This addresses Issue #531, one of Issue #532, one of Issue #539, and probable reported crashes on Issue #541.
|
|
|
|
| |
completion
|
|
|
|
| |
thread, as well as the existing background database connection, for a smoother experience
|
|
|
|
| |
Note: not yet finished!
|
|
|
|
| |
Note: not yet active - only querying the data in background will be performed for testing
|
|
|
|
|
|
|
|
|
| |
names/field names + type and encoding completion
- after connecting and updating the table list a background task executed on a different connection will be performed to query the information_schema db (MySQL >= 5 only so far)
- the MCPConnection object holds a NSDictionary with all structural data
Note: not yet active
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
- Fix a couple of memory leaks in the SPFieldEditor
- Fix a crash caused by attempted reselection of databases after disconnection if no database was selected
|
|
|
|
| |
results. This improves partial content displays (using the new code as of r1530) and also improves custom query error reporting.
|
|
|
|
|
|
|
|
|
|
| |
functionality:
- MCPKit now supports cancelling the active query; for MySQL servers >= 5.0.0 a query kill is attempted from a new connection, and if that fails or for MySQL < 5 a reconnect is triggered.
- TableDocument now supports enabling a cancel task button on the task interface, including an optional callback
- Implement query cancellation for custom queries. This addresses Issue #86.
- Implement query cancellation for table content loads, filters, and sorts.
|
| |
|
|
|
|
|
|
|
| |
selected keys in Custom Query, preventing NSLock deadlocks
- Revery MCPConnection to locking on the *current* thread when running non-streaming queries, fixing deadlocks in some situations on background threads where the main thread is locked up via a modal loop - eg CSV import windows
|
| |
|
|
|
|
| |
window, regardless of key state, by passing in and looking for the table document instance
|
|
|
|
|
|
|
| |
custom queries
- Add error connection to query reselection to avoid exceptions when editing queries while running them
|
|
|
|
| |
releasing locks on different threads from which they were locked (which generates a console message)
|
|
|
|
| |
timeouts and thus avoiding problems with network connections dropping and mysql_ping sticking and crashing as more keepalive pings kick in. This should address Issue #298.
|
|
|
|
| |
NSInteger, matching signal handling function setup and fixing a warning
|
|
|
|
| |
already an existing tunnel, give the user the option of using a standard connection to localhost on the port that is in use in order to use the existing tunnel. Fixes issue #371.
|
|
|
|
| |
data types.
|
|
|
|
|
|
|
| |
- Significantly improve memory usage
- Minor speedup (1.1x faster?) to overall query/display times
- Improvements to MCPStreamingResult and MCPConnection to accurately report affected row count
|
|
|
|
|
|
|
| |
- Speed up table content processing a bit
- Make the table content download/processing determinate where an approximate row count is available
- Clean up table content source, assuming MCPStreamingResult will remain in use
|
|
|
|
|
|
|
| |
download all results as fast as possible from the server, to avoid blocking, but do so in a background thread to allow results processing to start as soon as data is available. Many thanks to Hans-Jörg Bibiko for assistance with this.
- Add an option to the SQL export dialog to allow selection of the full-streaming method, with a warning that it may block table UPDATES/INSERTS.
|
|
|
|
|
|
|
| |
- Added an MCPStreamingResult class to MCPKit, to allow streaming results from the server including fast array access of each row
- Tweak SQL export to use the streaming result class and to keep memory usage lower
End result is generally faster exports, more accurate progress bars, and much much lower (and consistent) memory usage.
|
| |
|
|
|
|
|
|
|
| |
connection flags)
- Add CLIENT_REMEMBER_OPTIONS to connection flags
|
|
|
|
| |
upon connection initialization as well as setting the value based on the user's preferences during initiateMySQLConnection in SPConnectionController. Also, initialize delegateResponseToWillQueryString when the connection's delegate is set and revert back to simply calling the delegate method willQueryString:connection: as opposed to using the selector cache as its currently not working. Might need to look into restoring this if we incur a big performance hit after this revision.
|
| |
|
|
|
|
| |
them with more generic delegate methods.
|
|
|
|
|
|
|
| |
than "Disconnect" is selected
- Fix tunnel restarts
|
| |
|
|
|
|
| |
unlocked as serverMajorVersion performs a query and thus attempts to obtain the lock.
|
|
- Includes all custom code from subclasses CMMCPConnection and CMMCPResult, meaning they have subsequently been removed from the project.
- All previous Sequel Pro specific code in the above subclasses has been removed in favour of the delegate (currently set to TableDocumet) informing the framework of such information.
- All references to CMMCPConnection and CMMCPResult have subsequently been changed to MCPConnection and MCPResult.
- Framework includes MySQL 5.1.36 client libraries and source headers.
- Framework is now built as a 4-way (32/64 bit, i386/PPC arch) binary.
- All import references to <MCPKit_bundled/MCPKit_bundled.h> have been changed to <MCPKit/MCPKit.h>.
- New script 'build-mysql-client.sh' can be used to build the MySQL client libraries from the MySQL source. See the script's header for a list of available options or run it with no arguments to display it's usage.
Note that there are still a few changes to be made to the framework with regard to removing Sequel Pro specific calls to the delegate. These however can be made later on as they have no effect on functionality and are merely design changes.
Also, note that any future development done on the framework should be made to be as 'generic' as possible, with no Sequel Pro specific references. This should allow the framework to be integrated into another project without the need for SP specific code.
|