aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableData.m
Commit message (Collapse)AuthorAgeFilesLines
* Minimal refactoringMax2015-03-091-1/+1
| | | | Replaced some (range.location + range.length) with NSMaxRange(range)
* Addition to commit 2735e15bMax2015-01-041-16/+13
|
* Formalize [x release], x = nil; conventionMax2015-01-041-3/+3
| | | | | 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-1/+1
| | | | | | * [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 @[]
* Replace boxed integers in code with @ literalsMax2014-12-131-2/+2
|
* Reformatting code for modern ObjCMax2014-12-131-26/+23
| | | | | Replaced all [NSNumber numberWithBool:YES/NO] with the @YES/@NO literals. Also replaced some TRUE/FALSE with their YES/NO counterparts.
* Add basic support for CURRENT_TIMESTAMP in DATETIME columns (MySQL 5.6.5)Max2014-03-191-1/+1
| | | | See #1867
* 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
|
* Issue #1369: Fix the display of cross database relations.stuconnolly2013-10-211-2/+12
|
* - Fix all the Xcode 4.6.2 build warnings, and tweak warning settings to ↵rowanbeentje2013-05-211-2/+2
| | | | enable some more
* * Composite Foreign Keys will now show all columns in Relation view (workaround)dmoagx2013-04-211-2/+10
|
* - Fix handling of primary keys listing multiple fields of which an early ↵rowanbeentje2013-03-011-1/+1
| | | | field has a specified length, addressing Issue #1641
* Changing SP_REFACTOR macro to SP_CODAsqlprodev2013-02-141-14/+14
|
* Remove useless init and dealloc method comments and perform general tidy up.stuconnolly2013-01-221-7/+3
|
* - Fix a problem where the row count for InnoDB would not be displayed as an ↵rowanbeentje2013-01-211-0/+58
| | | | | | | | 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
* - Tweak handling of tables which have been deleted while they were being ↵rowanbeentje2012-11-221-4/+6
| | | | used, preventing hangs (Issue #1429)
* Change Sequel Pro's license from GPL (version 2) to MIT.stuconnolly2012-07-251-14/+22
|
* - If no table encoding is set on a table, fall back to the database ↵rowanbeentje2012-03-291-1/+4
| | | | encoding if available, instead of directly to Latin1. This improves compatibility with MySQL <4.1 servers set to use an encoding other than latin1, and fixes incorrect encoding detection where tables are set to inherit from the database. This should address Issue #1308.
* - 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
|
* - Rework SPTableData PRIMARY KEY and UNIQUE KEY parsing to use SPSQLParser ↵rowanbeentje2012-03-221-61/+38
| | | | | | | | | | instead of regexes - Support multiple primary keys in the SPTableData parse - If possible, use primary keys to preserve table content selection instead of row indexes - Improve SPTableData primary keys method to use cached value instead of using another query - Preserve selection when filtering tables if appropriate
* - Fix a bug in the SPMySQL integration branch causing the table triggers ↵rowanbeentje2012-03-161-3/+3
| | | | list never to be initialised - 10.7 magically fixed this and worked, but 10.6 didn't show any triggers. Thanks to schlabberdog for spotting and diagnosing this issue!
* SPMySQL integration bugfixes:rowanbeentje2012-03-141-0/+1
| | | | | | | - Fix a bug where the socket path would not be autodetected if an empty string was supplied - Fix a bug fetching primary key column names for tables - Fix a bug building database structures on MySQL 3.x servers
* Warning: this branch commit is largely untested, and known to throw ↵rowanbeentje2012-02-231-34/+28
| | | | | | | | | | | | 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
* - Expicitly cast parameters before passing into NSString formatters ↵rowanbeentje2012-01-091-2/+2
| | | | assuming 64-bit lengths; this addresses exceptions and hangs viewing table contents on 32-bit machines, many thanks to stuart02 for identifying and tracking down this issue
* - Update code to use NSStrings for NSTableColumn identifiers, as per 10.7 SDKrowanbeentje2011-10-171-2/+2
| | | | | - Update localizable strings
* Ensure the that table constraints are cleared in [SPTableData ↵stuconnolly2011-10-081-26/+21
| | | | informationForTable:] to prevent the inclusion of them in subsequent calls for different tables. Fixes issue 1206.
* - Fix "Multiple selection" still being displayed after multiple tables are ↵rowanbeentje2011-06-141-1/+1
| | | | | | | | | deleted - If multiple tables are selected when opening the SPFieldMapperController select the first to import into - Clean up tableName in tablesList - now returns nil if no tables are selected or multiple tables are selected, instead of returning an empty string for multiple tables
* initial commit of SP_REFACTOR ifdefs, the start of a long quest to separate ↵sqlprodev2011-04-111-0/+13
| | | | UI code from functional code
* Fix more compiler warnings, including a few bugsrowanbeentje2011-03-081-9/+9
|
* Fix compiler warnings.stuconnolly2011-03-011-0/+2
|
* - Fix spinlocks when table/database deletion causes the table information ↵rowanbeentje2011-02-191-0/+9
| | | | class to trigger a requery of current state information. This addresses Issue #985.
* - Revert r3187, which only masked an underlying bug and caused double ↵rowanbeentje2011-02-111-57/+53
| | | | | | | | | columns in views - In SPTableStructureDelete, don't request the encoding if the table is reloading; this prevents multithreaded data fetches and race conditions causing Issue #974. - Alter SPTableData to use thread mutexes instead of a boolean to prevent threading issues, which also fixes Issue #974 in a different way. Alter race condition checks to block their threads instead of returning bogus information to prevent state issues. - Alter table loading to no longer load trigger information until required, speeding up use of other views and cleaning up the console log.
* - Improve handling of table names containing backslashesrowanbeentje2010-12-141-0/+2
|
* • improved Structure editing logic to allow to choose auto_increment for ↵Bibiko2010-11-011-0/+8
| | | | | | Extra only if table has no auto_increment field set since MySQL allows only one auto column - the user has still the chance to type 'auto_increment' into the Extra manually
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-2/+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
|
* Various improvements to server capability/version checking, including:stuconnolly2010-10-071-7/+5
| | | | | | | | | | | | | - 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.
* • added basic support for spatial dataBibiko2010-10-011-0/+29
| | | | | | - while querying and writing back make usage of AsText() and GeomFromText() to allow to edit each GEOMETRY field as text simple string - works only in Content Tab so far - the spatial data are not yet editable inside views
* • fixed issue836 by avoiding the fact that while selecting a new table ↵Bibiko2010-09-221-88/+191
| | | | | | | | the CREATE SYNTAX will be parsed twice under certain circumstances which led to this issue - introduced a isWorking mechanism to SPTableData; while SPTableData is updating its cache (ie the CREATE SYNTAX is being parsed) each request for values will return nil or an empty array; the caller is responsible to decide what to do • various commenting stuff • various speed improvements
* • added some basic VIEW INFORMATION coming from information.schema.VIEWSBibiko2010-08-301-52/+62
|
* Encoding changes and improvements, particularly to increase compatibility ↵rowanbeentje2010-08-251-2/+61
| | | | | | | | | | | 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
* - Make a few more strings localizablerowanbeentje2010-08-011-1/+1
|
* A number of exporter improvements:rowanbeentje2010-06-071-1/+2
| | | | | | | | | | | | - Improve interface validation on the SQL view, including fixing no-content toggling - Fix the export of views to correctly construct placeholder tables and fix view syntax export (this addresses Issue #707) - Fix logic controlling Stored Procedure and Function export - fix hangs and allow correct export - Handle permission errors when retrieving Stored Pro/Function syntax - Improve export of linebreaks in CSV quoted cells for improved Excel compatibility - SQL export now retrieves table syntax as it progresses through the tables - more accurate progress bar and removes initial pause when exporting lots of tables - Alter filename construction to use centralised filename string: fixes end export Growl notification - Improve dump comments
* - Fix exceptions and crashes caused by corrupt tables, disabled storage ↵rowanbeentje2010-06-021-0/+6
| | | | engines, or similar hard MySQL errors
* Rename TableDocument to SPDatabaseDocument.stuconnolly2010-05-281-1/+1
|
* Rename TablesList to SPTablesList.stuconnolly2010-05-271-1/+1
|
* Initial implementation of tabs:rowanbeentje2010-05-231-3/+4
| | | | | | | | - Addition of PSMTabBar framework - Rework away from a document-based TableDocument - Support tabs throughout the application - Add menu items for creating tabs, and add support for dragging tabs to different windows