| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the functionality required from MCPKit and is based around its interface for relatively easy integration.
Externally visible changes as a result of this merge:
- Speed improvements, particularly when loading large data sets
- Stability improvements, particularly related to connection state after the connection is dropped (eg Issue #1256)
- Improved support for new MySQL data types, which should address Issue #1052.
- Database structure retrieval and query cancellation now use a single persistent helper connection instead of lots of connections on-demand. This should help Issue #1097.
- More internal commands now use queries instead of MySQL functions; for example USE queries are now used to trigger database selection, improving transcripts. This addresses Issue #1247.
- Improved internal encoding work; while this needs support within the UI, it lays the foundation for issues like Issue #1280.
Code improvements:
- Much improved class layouts including extensive category usage
- Improved documentation across framework methods
- Support for fast enumeration across result objects
- Rewrite fixes use of a number of deprecate functions
- Much less code duplication across result set types
- Improved encapsultation within the framework, limiting the number of methods exposed, and also not exposing all the MySQL headers
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)
|
| |
| |
| |
| |
| |
| | |
- Fix background database structure checks throwing exceptions at the end of certain table operations
- Fix incorrect timer access/overrelease when closing a SPNarrowDownCompletion window when database structure fetching is active
|
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| |\
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
is being retrieved
|
| |
|
|
|
|
| |
fixes Issue #1119
|
|
|
|
| |
exceptions (log #1847)
|
| |
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
backticked names and the final insertion - part 2
- also fixed undo behaviour
|
|
|
|
| |
backticked names and the final insertion
|
|
|
|
|
|
| |
arise while SPTablesList updateTables method,
• added [theView breakUndoCoalescing]; before inserting the grey completion suggestion due to possible undo exceptions
|
| |
|
|
|
|
|
| |
- Fix deletion of text after the caret when moving through autocomplete suggestion lists
|
|
|
|
|
|
|
|
|
| |
a more Mac-like behaviour: insert a faded placeholder for the currently selected autocomplete item.
- Update the autocomplete placeholder when the autocomplete dropdown selection is changed
- Clean up methods for removing placeholders, and ensure the placeholder is always removed (fixes issues with pasting with a placeholder visible, etc)
- When the Help window is closed, switch off AutoHelp - this will aid in supporting those users who accidentally switch on AutoHelp and then can't figure out how to switch it off, resulting in returning windows.
|
|
|
|
|
|
| |
- Show the text cursor at the location future input will be inserted for clarity
- Show autocompleted text faded to indicate it's temporary and may be replaced by other keypresses
|
|
|
|
|
|
|
|
| |
- Prepare for the implementation of PDF and HTML export by hiding the export options box for export types that don't need it.
- Fix some spacing issues on the export dialog.
- Create a new SPCategoryAdditions header that is included in the apps precompiled header, making all additions available to all classes.
- Update strings files.
|
| |
|
|
|
|
| |
from the precompiled header.
|
|
|
|
|
|
|
|
|
| |
[aString appendString:[NSString stringWithFormat:]] by
[aString appendFormat:]
since it's much more faster
• first look at loop where several [aStr appendString:] occur to try to combine them into one appendString or appendFormat since the allocation of memory takes really time
Note: I tested all my changes but we should test it further to be sure that I didn't a mistake!
|
|
|
|
| |
quotes or not in order to come up with the correct suggestions
|
|
|
|
| |
invisible empty autocomplete when no autocomplete matches are found
|
| |
|
|
|
|
|
|
| |
- Make a tiny fix to narrow down completion to avoid memory overrelease issues
- Unhide the "Show create view syntax" menu and contextual menu items when selecting a view
|
|
|
|
| |
locally, to fix further crashes like http://spbug.com/l/139 .
|
|
|
|
|
|
|
| |
windows are closed. This also allows SPNarrowDownCompletion to be closed when CMTextView is deallocated; this should fix http://spbug.com/l/139 .
- Fix some minor memory leaks
|
|
|
|
|
|
|
| |
- Add more calls to deregister watchers to fix crashes to closing threads or objects
- Fix a couple of memory leaks
- Alter a few calls to be performed on main thread (afterDelay: operates on the thread is is called on) - this fixed database reloading after import and field/index deletion error sheets
|
|
|
|
|
|
| |
inserted suggestions and increased the minimum auto-complete delay to 0.5s since below that a fight between computer speed and user typing speed could occur.
This addresses i625.
|
|
|
|
|
|
| |
structure fetching was finished
- for some reasons it could happen that the timer? fires twice, to avoid this changed the re-invocation strategy
|
|
|
|
|
| |
- unified scroll behaviour
- fixed some issues if animated "fetching data…" row is displayed incl. a fix to avoid overlapping completion windows
|
|
|
|
|
|
| |
structure querying
- set variable directly and call [self close] explicitly
|
|
|
|
|
| |
- init all column' data cells according to their settings to avoid jittering and font size change
- this fix also removed one issue for 'overlapping' completion windows
|
|
|
|
|
|
| |
'cancelPreviousPerformRequestsWithTarget' to the custom query editor to stop auto-completion and auto-help timer to avoid crashes after closing
• improved some minor stuff for completion's re-invocation
|
|
|
|
|
|
|
|
|
|
|
| |
'overlapping' access to global variables
• after querying db structure write back data on main thread
• completion list displays animated sync images if connection is just querying db structure data
• fixed some minor issue for completion list
• make sure that if last window of a connection is closed all relevant data will be removed from global variables
Note: please test!
|
|
|
|
|
|
|
|
|
|
|
| |
statements
- completion now works for server versions < 5 as well
- proc/func info will be queried by using information_schema for mysql >= 5
- changed completion logic to handle new format
- completion will get the info from SPNavigator since this controller caches all information about db structure
- optimization and fine-tuning will follow very soon
|
|
|
|
| |
SPConstants.h/m.
|
| |
|
|
|
|
|
|
| |
end of the text buffer and has no default value
- added a range sanity check for completion before insertion of the chosen item
|
|
|
|
|
|
|
|
|
| |
- added support for mirrored snippets $x x:= to be mirrored snippet index
- example:
SELECT $1.${2:} FROM ${1:¦$SP_ASLIST_ALL_TABLES¦} WHERE $1.${3:} = ${4:value} AND $1.$2 =
• CMTextView
- fixed completion issue for fuzzy search
- added {} chars as auto-pair for connivence
|
|
|
|
| |
variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
|
| |
|
|
|
|
|
| |
- suppress completion window if only one item is found and the typed word is equal to it (case-insensitively)
- fixed memory leak
|
|
|
|
|
| |
• added Show Completion List submenu to the Custom Query Editor gear menu with the items all dbs ^1, all tables ^2, all fields ^3
• if dbStructure is available show these pre-defined completion lists with all info like the completion it does, otherwise fall back to plain style
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
after narrow-down the list
• added chance to invoke the snippet list in fuzzy search mode by the template ¦¦a¦b¦¦
• added new snippet placeholders:
¦$SP_ASLIST_ALL_TABLES¦ displays a list of all tables incl. views from the current db
¦$SP_ASLIST_ALL_DATABASES¦ displays a list of all dbs from the current connection
This makes it possible to write eg a query fav:
USE ¦¦$SP_ASLIST_ALL_DATABASES¦¦;
to search via fuzzy mode for a db and to use it
|