| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- Fix a bug where the socket path would not be autodetected if an empty string was supplied
- Fix a bug fetching primary key column names for tables
- Fix a bug building database structures on MySQL 3.x servers
|
|
|
|
|
|
|
|
| |
- Add a ping keepalive managing object to prevent retain cycles from the NSTimer
- Add -[SPMySQLConnection copy] support
- Refactor Hans-Jörg Bibiko's database structure retrieval, moving it out of the MySQL framework and building it around a copy of the connection. This reduces the amount of connections-over-time used by Sequel Pro to two constant connections (addressing Issue #1097) and improves robustness.
- Use the database structure retrieval connection for faster query cancellation without an extra connection required, if possible
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
to fix errors building and running the project
- Add svn ignore properties on QueryKit build and mode paths
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
- Correctly record affected rows
- Fix thread safety/autorelease issues when draining pools during fast iteration
- Improve streaming result processing speed
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
as it's a binary file?)
- Add svn:ignore propsets for build, pbxuser and project mode files
|
| |
| |
| |
| |
| | |
- Delete incorrectly committed build and pref files
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and ready for use but not yet integrated. This new framework should provide much of the functionality required from MCPKit and is based around its interface for relatively easy integration. The largest missing component is Hans' structure code which I believe is better placed outside the framework.
From the Readme file:
The SPMySQL Framework is intended to provide a stable MySQL connection framework, with the ability to run text-based queries and rapidly retrieve result sets with conversion from MySQL data types to Cocoa objects.
SPMySQL.framework has an interface loosely based around that provided by MCPKit by Serge Cohen and Bertrand Mansion (http://mysql-cocoa.sourceforge.net/), and in particular the heavily modified Sequel Pro version (http://www.sequelpro.com/). It is a full rewrite of the original framework, although it includes code from patches implementing the following Sequel Pro functionality, largely contributed by Hans-Jörg Bibiko, Stuart Connolly, Jakob Egger, and Rowan Beentje:
- Connection locking (Jakob et al)
- Ping & keepalive (Rowan et al)
- Query cancellation (Rowan et al)
- Delegate setup (Stuart et al)
- SSL support (Rowan et al)
- Connection checking (Rowan et al)
- Version state (Stuart et al)
- Maximum packet size control (Hans et al)
- Result multithreading and streaming (Rowan et al)
- Improved encoding support & switching (Rowan et al)
- Database structure; moved to inside the app (Hans et al)
- Query reattempts and error-handling approach (Rowan et al)
- Geometry result class (Hans et al)
- Connection proxy (Stuart et al)
|
|
|
|
| |
cycles caused by manually loading libs with bindings to File's Owner are automatically handled, fixing leaks of SPConnectionController and items it retain including any MCPConnection; this will fix issues with MCPConnections attempting to reconnect but no longer having an associated SPDatabaseDocument
|
|
|
|
| |
assuming 64-bit lengths; this addresses exceptions and hangs viewing table contents on 32-bit machines, many thanks to stuart02 for identifying and tracking down this issue
|
|
|
|
| |
as given in Issue #1251
|
|
|
|
| |
Fixes issue #1220.
|
|
|
|
| |
connection has an active query and is performing actions such as encoding conversions
|
|
|
|
|
| |
- Update localizable strings
|
| |
|
| |
|
| |
|
|
|
|
| |
address Issue #1181
|
| |
|
| |
|
| |
|
|
|
|
| |
10.5.8/PPC machines. This gives us slightly less diagnostic ability, but prevents crash loops for feedback/exception/crashes, addressing Issue #1175
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the main window only; hide SSH/SSL status when entering fullscreen mode, to prevent drawing issues
- Lion compatibility improvement: update tab colours under 10.7 to match system styles
- Lion compatibility improvement: fix issues dragging tabs out of windows and into other tab bars
- Lion compatibility improvement: fix QuickLook issues under 10.7, including windows which couldn't be closed, fullscreened, or crashes
- Fix exceptions in the bundle controller when using tab switching keys
- Lion compatibility improvement: use overlay scrollers where possible
|
|
|
|
|
|
|
| |
minutes to improve keepalive behaviour. This improves on r3369 and should complete Issue #877.
- Fix memory leak added in r3382
|
|
|
|
|
|
|
|
|
|
|
| |
displaying NULLs within tables when the connection encoding is incorrectly detected (Issue #1100):
- No longer rely on a combination of mysql_options(..., MYSQL_SET_CHARSET_NAME, ...utf8...) and mysql_character_set_name() to detect the connection encoding; this incorrectly misses init_connect commands; instead use SHOW_VARIABLES a$
- Combine initial version check/timezone check/encoding check on startup, reducing connection queries and thus improving connection speed
- Add support for abbreviated MySQL timezone definitions
- Combine MCPKit's -connect and -connectWithLogin:password:host:port:socket: methods to reduce code duplication and fix argument handling for the latter method
|
|
|
|
| |
addressing Issue #1132 and improving #877
|
|
|
|
| |
separation/standaloneness
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Remove unused _postNotificationForwarder methods
- Clean up and standardise method names and argument names
- Correctly cross-thread retain when waitUntilDone: is NO
- Attempt to improve compatibility with third-party frameworks such as TCMPortMapper
|
|
|
|
| |
stability (mostly in the kill query/thread failure path) and improve disconnection for increased stability
|
|
|
|
| |
tab (equivalent to the 'Open Database in New Tab' menu item). Implements issue #1040.
|
|
|
|
|
|
|
|
| |
- caught some more exceptional cases
- re-factored byte to bit conversion (really do not know why the old code wasn't working anymore); this should fix i1042
- disabled unisgned/zerofill check boxes in Structure for BIT
- insert correct default BIT field default value if any after adding a new row
-- this works for 5.5 but for MySQL 5.0.x it seems that providing a default value is a MySQL bug (further checks are needed)
|
|
|
|
|
|
|
|
|
|
| |
null-terminated string processing:
- This fixes issues caused by null characters in strings - addressing Issue 1029
- Also appears to be a few percent faster than the old approach when processing lots of short strings
- Allows significant simplification of MCPResult and low-memory MCPStreamingResult code, avoiding a memory copy; this also gives a significant speedup and can actually make full streaming in MCPStreamingResult faster than "fast streaming".
The code will be reviewed further in future to improve on the gains seen here.
|
|
|
|
|
| |
- Tweak README
|
| |
|
|
|
|
| |
dragging issue and implementing Safari-style fadeout of previous window shell when dragging the last miniwindow out of a tab bar
|
|
|
|
|
|
|
|
|
| |
- Fix further compiler warnings, including a couple of bugs
- Disable the -wselector warnings (Multiple definition types for selector) as they're currently unsupported in LLVM
- Disable the -wconversion warnings (Prototype conversion) warnings as we usually can't affect protocol declaration
- Disable the -wstrict-selector-match (Strict selector matching) due to too many false positives
|
| |
|