aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPDatabaseData.m
Commit message (Collapse)AuthorAgeFilesLines
* * Basic math is hard sometimes (fixes an issue introduced by me in ↵Max2015-10-311-0/+3
| | | | | | | b2d798ba9282d3acf1a2d65de30849e529d4d255) * Fix an exception that could occur when trying to view a damaged table * Fix a theoretical use-after-free issue by a wrongly structured retain/release in a setter
* Add method to get charset from collationMax2015-10-311-13/+32
|
* Improve the way Sequel Pro inferrs the collation of a column. (#2237)Max2015-10-251-9/+47
| | | | This does not entirely fix the bug of SP sometimes displaying the wrong collation, but should work in >= 99% of cases.
* Formalize [x release], x = nil; conventionMax2015-01-041-10/+10
| | | | | Take this commit as a proposal to formalize our existing "[x release], x = nil;" convention by introducing a macro for it. Feel free to revert this commit if you see issues with the approch or implementation.
* Replace some NSDictionaries with literalsMax2014-12-131-9/+9
| | | | | | * [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).
* Change [NSArray arrayWithObject:] to @[] literalMax2014-12-131-1/+1
| | | | Note: [NSArray arrayWithObjects:...,nil] is left unchanged as that could possibly cause a NPE if converted to @[]
* Update URL in source file header to point to GitHub.Stuart Connolly2014-01-261-1/+1
|
* Remove SVN property placeholder.Stuart Connolly2014-01-261-2/+0
|
* - Fix errors when editing or moving columns on server vesions which do not ↵rowanbeentje2013-03-191-14/+4
| | | | | | | | support character sets/collations, addressing Issue #1629 - Fix needless collation queries on those servers - Disable field enums and table encoding dropdown on those servers
* * When adding a database the servers default charset is now showndmoagx2013-03-111-2/+7
|
* * Add support for querying the server default charset and collationdmoagx2013-03-101-26/+63
| | | | * Move a bit of redundant code into a method
* * Add support for querying MySQL 4 for collationsdmoagx2013-03-071-0/+49
|
* - Alter the database creation sheet to correctly use the selected new ↵rowanbeentje2013-03-021-1/+3
| | | | | | | | database encoding - Clean up the database creation logic and remove redundant selection logic - Correctly reset and detect the database encoding when creating and switching databases
* Remove useless init and dealloc method comments and perform general tidy up.stuconnolly2013-01-221-7/+1
|
* Change Sequel Pro's license from GPL (version 2) to MIT.stuconnolly2012-07-251-12/+20
|
* If available display the columns default encoding and collation in the ↵stuconnolly2012-07-041-0/+24
| | | | structure view. Implements issue #1355.
* Improvements to the New Table sheet:rowanbeentje2012-06-181-5/+16
| | | | | | | | | - Make the default sheet width wider - Change "Default" encoding to "Inherit from database" to clarify the action of the menu item - Fix retrieval of default table type on recent MySQL versions - Fix retain of default server table type This should address Issue #1377.
* - Retain the new SPDatabaseData defaultCharacterSetEncoding when created, ↵rowanbeentje2012-06-111-1/+1
| | | | fixing overrelease crashing on exit
* Add the default encoding and storage engine to the default menu items on the ↵stuconnolly2012-06-101-16/+61
| | | | new table sheet. Implements issue #1245.
* - Alphabetically sort table engines, addressing Issue #1316rowanbeentje2012-04-091-2/+10
| | | | | - If a table has no rows, don't show the data loss warning when altering table engine
* - Clean up SPMySQL and QueryKit inclusion and search methods, which should ↵rowanbeentje2012-03-271-4/+0
| | | | | | | fix nightly builds - Fix warnings
* tweaks to compile on Xcode 4 / 10.6 SDK for SP_REFACTORsqlprodev2012-03-271-0/+4
|
* Final feature work on the SPMySQL branch before merging:rowanbeentje2012-03-141-0/+1
| | | | | | | | - 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
* Warning: this branch commit is largely untested, and known to throw ↵rowanbeentje2012-02-231-20/+12
| | | | | | | | | | | | 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
* Fix more compiler warnings, including a few bugsrowanbeentje2011-03-081-1/+1
|
* - 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.
* Tidy up SPDatabaseData by splitting out the hardcoded list of charcater sets ↵stuconnolly2010-10-081-162/+6
| | | | into SPDatabaseCharacterSets. The struct is now returned by calling SPGetDatabaseCharacterSets().
* Various improvements to server capability/version checking, including:stuconnolly2010-10-071-44/+51
| | | | | | | | | | | | | - Add a new ServerSupport class, for which an instance is created upon each new connection and is then subsequently accessible via SPDatabaseDocument. - Replace the majority of manual version checking with calls to properties in the above new class. - Improve the user manager's compatibility with MySQL 3 and 4 servers. Fixes issue #811 Other changes include: - Disable the encoding popup button when adding a new table or database to servers running pre MySQL 4.1 as it only contains one option, 'Default'. - Fix various potential memory leaks discovered during static analysis. - General tidy up and comments.
* • [SPDatabase getDatabaseCollationsForEncoding:] now uses a cache to ↵Bibiko2010-09-091-5/+14
| | | | | | | | reduce the querying of info_schema - this fixes the querying of each reloadData in [SPTableStructure objectValueFor:] • autoreleased mutableCopy in [SPTableStructure loadTable] • fixed drag&drop query in SPTableStructure to copy charset and collation as well
* - Convert connection encoding menus to be menu tag based to fix ↵rowanbeentje2010-06-141-2/+24
| | | | | | | | | | localisation errors - Add database encoding retrieval support for MySQL 4.1 - Convert the add table and add database sheets to use encoding menus derived from server supported encodings - Re-layout preferences with larger labels to aid localisation - Fix preference resizing in non-Favorite tabs
* Speed up SPDatabaseData by obtaining the server version when the connection ↵stuconnolly2010-04-211-17/+25
| | | | is set to prevent multiple calls everytime the list of available storange engines, etc. is requested.
* - Make [MCPConnection getLastErrorMessage] more consistent by always ↵rowanbeentje2010-03-251-2/+1
| | | | | | | returning nil if no error occurred (previously a blank string was returned most of the time) - Add a new (BOOL)[MCPConnection queryErrored] method, changing all error message checks to use it for clarity
* General tidy up, with a focus on consolidating more constants in ↵stuconnolly2010-03-241-4/+4
| | | | SPConstants.h/m.
* Following a manual code review, fix some local variables overriding global ↵rowanbeentje2010-03-151-1/+1
| | | | variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
* • avoid querying for collations if passed var "encoding" for method ↵Bibiko2010-01-131-1/+1
| | | | getDatabaseCollationsForEncoding is equal to NULL
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-1/+1
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* • avoid querying the server for `information_schema` table for MySQL ↵Bibiko2010-01-061-4/+7
| | | | version < 5 - this speeds up SP esp. for slow connections
* - Ensure all results for server variable requests are returned as strings, ↵rowanbeentje2010-01-031-0/+1
| | | | | | | to avoid binary-mode result issues with certain versions of MySQL (including 4.1.14). This should address Issue #509. - TableDocument now requests the server version string from MCPConnection, aiding caching
* - Fix display of the bottom row in the query console by reloading table ↵rowanbeentje2009-12-021-26/+15
| | | | | | | | data *after* the scroll - Quote timestamp and connection when copying rows from the table console - Reduce queries when fetching database collations or encodings by removing an additional check and adapting logic to match
* Faster loop approach.stuconnolly2009-11-011-4/+2
|
* When checking the existance of the ENGINES table within the ↵stuconnolly2009-11-011-2/+2
| | | | information_schema database, use its exact name case-wise, to avoid problems on case sensitive filesystems (i.e. linux).
* • added to hard-coded encoding list the DESCRIPTION fieldBibiko2009-09-081-170/+173
| | | | | | | | | | | | • fixed issue while retrieving possible encodings/collations from information_schema - in many cases "SHOW TABLES IN information_schema LIKE 'character_sets'" returns NULL whereby "SELECT * FROM `information_schema`.`character_sets`" returns the correct list - change the test query to the latter syntax - if the retrieving of possible encodings fails return an array of the hard-coded list with dictionaries containing the keys for name AND description -- [this fix solves i400 due to the fact that the chosen encoding title from the popup list must be of the format: "description (name)"; otherwise the following regexp returns (null) because it's looking for the content of parentheses]
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-8/+6
| | | | | | | | | | | | | | | - 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-1/+19
|
* Include a hard coded list of encodings and collations in SPDatabaseData to ↵stuconnolly2009-07-201-6/+200
| | | | remove the depdendency on the information_schema database when its not available or accessible.
* Accommodate all MySQL versions when getting the list of storage engines.stuconnolly2009-06-191-4/+73
|
* Forgot to add !, removed for testing.stuconnolly2009-05-271-1/+1
|
* Log query errors in SPDatabaseData to the console.stuconnolly2009-05-271-2/+2
|
* Redesigned table information pane.stuconnolly2009-05-271-0/+176