| 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)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
|/
|
|
| |
a table to warn of the potential data loss that may occur. Fixes issue #1258.
|
|
|
|
| |
currently used relation names in a backgroud thread. In the event that the user opens the add new relation sheet during this process, the ability to enter a relation name and confirm the addition is disabled until the retrieval process is complete. There is also a new progress indicator on the add sheet to indicate this.
|
| |
|
|
|
|
|
|
|
| |
split between TYPE or ENGINE depending on database version.
- Update CREATE TABLE and ALERT TABLE queries to use this, fixing custom-type table creation on MySQL <4 and table type changes on MySQL >= 5.5. This addresses Issue #947.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
central functionality out of SPTablesList:
- Centralise control over table loading, moving it away from SPTablesList and into SPDatabaseDocument and the new SPDatabaseViewController category
- Centralise control over the main tab view, moving control away from SPTablesList and into SPDatabaseDocument and the new SPDatabaseViewController category
- Simplify and clean up view loading logic
- Improve thread safety
- Update localisable strings
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
| |
* Make the table status tab date formatter use medium style or the string would be too large at smallest window width
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
with extended characters in MySQL identifiers (names of dbs/tables/cols):
- Move encoding queries and control into MCPKit, with newly cleaned-up methods, and switch a number of locations to using the new code.
- Use UTF8 connections for many identifier-based queries (selecting and listing databases, tables, stored procs, table information). This fixes selection and creation of table and database names containing extended characters, also fixing exceptions and errors.
- Improve UTF8 over Latin1 to correctly set the client character set encoding as well, fixing custom queries and edits; remove custom code in SPTableContent achieving the same thing in a single location.
- Fix database encoding detection routines
- Update localisable strings
|
|
|
|
| |
Procs, or Funcs (maybe it's needed to improve the display or to skip it)
|
|
|
|
| |
textfields in Table Status view
|
| |
|
|
|
|
| |
engines, or similar hard MySQL errors
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
SPTableData to ensure that it erroneously changed because of a failed string comparison.
|
|
|
|
| |
information view or create syntax sheet remember to append a semi-colon. Fixes issue #629.
|
|
|
|
| |
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
|
|
|
|
|
| |
- set create table syntax string temporarily to 10pt for printing
- before gathering print data set focus to createTableSyntaxView to update possible pending comment changes
|
| |
|
|
|
|
|
|
|
|
|
| |
- The ability to print the extended table information view using a new template.
- The inclusion of NULL values diaplyed as the user's NULL value placeholder when printing a table's sturcture and indexes.
- If enabled in the user's preferences, the inclusion of vertical gridlines in the table views.
- Dynamic calculation of page margins based on the paper size of the selected printer as opposed to using hard coded values.
- Lots of other little style enhancements.
|
|
|
|
| |
localised strings.
|
|
|
|
| |
auto increment' button when no auto increment field is present.
|
|
|
|
|
|
|
|
|
|
| |
value (no sheet)
• "Delete all records" confirmation sheet shows a checkbox "Reset AUTO_INCREMENT after deletion" if PRI key is given for that table
• minimized table data querying for auto_inc
• optimized auto_inc change notification
• if user changes tabVIew to Table Info Pane update data in beforehand
• TRUNCATE query updates auto_inc value as well in TABLE INFORMATION
|
|
|
|
|
|
|
|
| |
Table Info Pane via Advanced popup button and sheet (not yet optimal GUI solution)
• SPAlertSheets
- ensure that this sheet becomes the keyWindow
|
|
|
|
| |
relations etc immeadiately available on changes to InnoDB, and updates a number of status variables
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
applying changes to the db
|
|
|
|
| |
This completes the conversion of all constants in SPConstants to extern's.
|
|
|
|
|
| |
- Add some NSTextView editing notifications to maintain state correctly in an attempt to fix issue in crash log on comment 9 on #460
|
| |
|
|
|
|
| |
table information view as all table in this database are not modifiable by anyone.
|
| |
|
|
|
|
|
|
|
|
| |
- Improve task support on previously supported views
- Use a threaded task load for all initial table loads
- Support threaded task loads for table content loads, reloads, sorts, and filters
- Improve upon previous threaded task loads by minimising view updates and supporting updates of the existing data arrays where valid
|
|
|
|
|
|
|
|
| |
and row counts for display, fixing overflow issues (this addresses Issue #394)
- Tweak the byte size formatter to also show TBs for very large numbers
- Improve row count and auto increment value formatting by using a number formatter (enhancements for Issue #394)
|
|
|
|
|
|
|
|
| |
locations, and correcting the logic for fetching the count of rows so that the query is not used where not necessary.
- Update the Table Info pane and tab with a new row count if one is known - this addresses Issue #141
- This reverts r1090, and so needs to be discussed with stuart02 - the rest of the row logic changes may have fixed the 'larger issue' described there?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
| |
remove the depdendency on the information_schema database when its not available or accessible.
|
|
|
|
| |
SHOW TABLE STATUS so don't prefix the row count with '~'.
|
| |
|
|
|
|
|
| |
- show create syntax for views
- fixed editing behaviour of the Comments field (esp. for views)
|