aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPExtendedTableInfo.m
Commit message (Collapse)AuthorAgeFilesLines
* Add constants for MySQL 'system' databases.stuconnolly2012-03-171-1/+3
|
* Merge in the SPMySQL Framework. This new framework should provide much of ↵rowanbeentje2012-03-171-12/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * Warning: this branch commit is largely untested, and known to throw ↵rowanbeentje2012-02-231-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | * Moves the background color code for SPTextView into the class. Fixes #1073dmoagx2012-03-161-11/+0
| |
* | Display a dialog whenever the user attempts to change the storage engine of ↵stuconnolly2012-03-111-46/+118
|/ | | | a table to warn of the potential data loss that may occur. Fixes issue #1258.
* Fix for issue 1168. Whenever the database is changed load all of the ↵stuconnolly2011-09-041-1/+0
| | | | 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.
* Fix more compiler warnings, including a few bugsrowanbeentje2011-03-081-0/+2
|
* - Add a new -engineTypeQueryName method to SPServerSupport, with a correct ↵rowanbeentje2011-01-131-1/+1
| | | | | | | 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.
* * Recognize "performance_schema" as system DB (added in 5.5)dmoagx2010-12-181-5/+6
|
* Add a new category to SPDatabaseDocument, allowing code cleanup and moving ↵rowanbeentje2010-11-031-1/+1
| | | | | | | | | | | 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
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-1/+0
| | | | | | | | - 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.
* Considering nearly every class uses constants, import it via the prefix header.stuconnolly2010-10-191-1/+0
|
* * Fix string width as reported by Alexander Vasiliev (ru)dmoagx2010-09-121-1/+1
| | | | * Make the table status tab date formatter use medium style or the string would be too large at smallest window width
* • added some basic VIEW INFORMATION coming from information.schema.VIEWSBibiko2010-08-301-88/+92
|
* Encoding changes and improvements, particularly to increase compatibility ↵rowanbeentje2010-08-251-2/+4
| | | | | | | | | | | 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
* • avoid exceptions if user tries to print the Table Status data of Views, ↵Bibiko2010-07-071-22/+37
| | | | Procs, or Funcs (maybe it's needed to improve the display or to skip it)
* • forgotten to remove placeholders and default values resp. of data ↵Bibiko2010-07-071-9/+9
| | | | textfields in Table Status view
* • made Table Status view localisable and resized GUI elementsBibiko2010-07-071-10/+10
|
* - Fix exceptions and crashes caused by corrupt tables, disabled storage ↵rowanbeentje2010-06-021-1/+3
| | | | engines, or similar hard MySQL errors
* Rename TableDocument to SPDatabaseDocument.stuconnolly2010-05-281-1/+1
|
* Rename TableSource to SPTableStructure.stuconnolly2010-05-271-1/+1
|
* Rename TablesList to SPTablesList.stuconnolly2010-05-271-1/+1
|
* Add missing space to auto increment value field on extended information view.stuconnolly2010-05-231-1/+1
|
* Rework alert sheets:rowanbeentje2010-05-091-4/+4
| | | | | | | - 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
* Trim whitespace and newline characters from a table's comment returned by ↵stuconnolly2010-05-031-1/+2
| | | | SPTableData to ensure that it erroneously changed because of a failed string comparison.
* When displaying a table/view's create syntax in the extended table ↵stuconnolly2010-04-091-3/+5
| | | | information view or create syntax sheet remember to append a semi-colon. Fixes issue #629.
* - Improve error checking for various actions, particularly permissions ↵rowanbeentje2010-03-311-5/+6
| | | | 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
* • Extended Table Info printingBibiko2010-03-131-0/+16
| | | | | - set create table syntax string temporarily to 10pt for printing - before gathering print data set focus to createTableSyntaxView to update possible pending comment changes
* Add support for printing a table's create syntax with syntax highlighting.stuconnolly2010-03-131-6/+21
|
* Lots more printing support enhancements, including:stuconnolly2010-03-131-19/+47
| | | | | | | | | - 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.
* Localise SPExtendedTableInfo.m and remove use of multiple comments for ↵stuconnolly2010-03-031-24/+25
| | | | localised strings.
* In the extended table information view, hide rather than disable the 'reset ↵stuconnolly2010-03-011-2/+2
| | | | auto increment' button when no auto increment field is present.
* • Reset AUTO_INCREMENT in Table Info Pane uses inline entering of the new ↵Bibiko2010-02-231-4/+31
| | | | | | | | | | 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
* • implemented chance to reset AUTO_INCREMENT of the PRIMARY KEY field in ↵Bibiko2010-02-221-3/+15
| | | | | | | | Table Info Pane via Advanced popup button and sheet (not yet optimal GUI solution) • SPAlertSheets - ensure that this sheet becomes the keyWindow
* - Trigger a full table reload when the table type is changed; makes ↵rowanbeentje2010-02-061-1/+2
| | | | relations etc immeadiately available on changes to InnoDB, and updates a number of status variables
* Address Issue #546 (format string bugs):rowanbeentje2010-01-201-4/+5
| | | | | | - 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
* • fixed: escape new entered comments in the Table Info Pane before ↵Bibiko2010-01-121-1/+1
| | | | applying changes to the db
* Replace the main toolbar's #define'd identifier constants with extern's. ↵stuconnolly2009-12-121-3/+3
| | | | This completes the conversion of all constants in SPConstants to extern's.
* - Make some thread safety improvements to improve on Issue #460rowanbeentje2009-11-181-4/+20
| | | | | - Add some NSTextView editing notifications to maintain state correctly in an attempt to fix issue in crash log on comment 9 on #460
* - Make some thread safety improvements to try to address Issue #460rowanbeentje2009-11-161-0/+1
|
* When viewing the information_schema database, disable all controls on the ↵stuconnolly2009-11-151-8/+13
| | | | table information view as all table in this database are not modifiable by anyone.
* Tidy up.stuconnolly2009-11-071-2/+2
|
* - Add task support to all the main interface viewsrowanbeentje2009-11-041-5/+72
| | | | | | | | - 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
* - Use long longs instead of ints when looking at table sizes, free space, ↵rowanbeentje2009-09-011-4/+14
| | | | | | | | 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)
* - Rework TableContent row count fetching, loading it in the correct ↵rowanbeentje2009-08-131-2/+2
| | | | | | | | 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?
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-1/+0
| | | | | | | | | | | | | | | - 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 dependency on information_schema for table encodings.stuconnolly2009-07-201-4/+4
|
* Include a hard coded list of encodings and collations in SPDatabaseData to ↵stuconnolly2009-07-201-5/+13
| | | | remove the depdendency on the information_schema database when its not available or accessible.
* MyISAM tables report the exact number of rows in a table in the output of ↵stuconnolly2009-07-071-0/+4
| | | | SHOW TABLE STATUS so don't prefix the row count with '~'.
* Accommodate all MySQL versions when getting the list of storage engines.stuconnolly2009-06-191-1/+1
|