| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* [NSDictionary dictionary] → @{}
* [NSDictionary dictionaryWithObject:forKey:] can safely be replaced. object==nil would have already thrown a NPE in the past.
* Also replaced some (hopefully safe) NSArray initializers (ie. their objects should always exist).
|
| |
|
| |
|
| |
|
|
|
|
| |
enable some more
|
| |
|
|
|
|
|
|
|
|
| |
support character sets/collations, addressing Issue #1629
- Fix needless collation queries on those servers
- Disable field enums and table encoding dropdown on those servers
|
| |
|
|
|
|
|
|
|
|
| |
accurate value, whatever the Preferences setting, if the Content table was not selected
- Clean up code slightly
- Remove an unneccessary query being used for the table information view, speeding up display slightly
|
| |
|
|
|
|
| |
once it's dismissed to prevent issues when errors occur
|
|
|
|
|
| |
- If a table has no rows, don't show the data loss warning when altering table engine
|
|
|
|
|
|
|
| |
fix nightly builds
- Fix warnings
|
|
|
|
| |
even though no error actually occurred. Fixes issue #1304.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|