aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableSource.m
Commit message (Collapse)AuthorAgeFilesLines
* Improve TablesList significantly:rowanbeentje2009-07-281-1/+8
| | | | | | | | - If there are twenty or more tables, show a table quicksearch/filter at the top of the list, and update the rest of the code to match. This addresses issue #178. - Select tables and views alphabetically by user's current locale (instead of default MySQL "A B C a b c") - When adding or duplicating tables, insert them at the correct point - Fix a number of minor display bugs caused by incorrect interaction with the tables list caches
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-4/+3
| | | | | | | | | | | | | | | - 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.
* - Make the DBView window the document window. This allows the document to ↵rowanbeentje2009-07-151-1/+2
| | | | | | | | | | be closed when the window is closed, freeing the document's memory - Update a number of dealloc methods to include more retained memory, and to avoid releasing non-retained memory - Remove notification observers and delegates where appropriate to avoid issues after document closing - Fix a couple of memory leaks - Support window cascading for all windows past the first, using the first window as the autosave window
* - Tweak tabbing in TableSource.m to behave correctly following r991 (see ↵rowanbeentje2009-07-071-3/+1
| | | | Issue #323 for notes)
* - Alter the "Allow Null" column in the source view to use a checkbox ↵rowanbeentje2009-07-071-15/+13
| | | | | | | | instead of an autocompleting combo cell. This addresses Issue #323. - Make the appearance of all checkbox columns consistent and disable automatic resizing with table - Correctly flush the CREATE TABLE and status caches on table structure changes to ensure the Extended Info tab is kept up to date with column changes
* small fix for add index sheet default behaviormtvee2009-07-021-1/+1
|
* Fix warnings caused by calls to validateMenuItem: being passed to NSObject ↵stuconnolly2009-07-021-1/+1
| | | | by returning YES by default.
* Add contextual menus to table structure and table index views. Part of issue ↵stuconnolly2009-07-021-0/+23
| | | | #139.
* - Make changes to the table structure flush the appropriate table data cachesrowanbeentje2009-06-241-8/+18
| | | | | | - SPTableData's columnWithName: now updates caches as necessary to avoid issues - Mark the extended table info view (particularly the CREATE TABLE syntax) as requiring update following table structure changes
* - We have always allowed setting "on update CURRENT_TIMESTAMP" for ↵rowanbeentje2009-06-241-0/+8
| | | | timestamp columns - parse out this information, and now also show if it's set in the structure view. Fixes the setting not appearing to work.
* - Fix default values behaviour - previously, default values weren't being ↵rowanbeentje2009-06-241-15/+15
| | | | saved. They are now.
* • fixed several problems for alerting an error sheet inside of a ↵Bibiko2009-06-231-3/+3
| | | | didEndSelector: of an other sheet
* • fixed issue while editing an field cell in Structure View select an ↵Bibiko2009-06-231-28/+36
| | | | | | | other table • fixed issue while moving a field description row in Structure View that "Extra" field content wasn't moved • fixed issue that "Extra" field content was appended without leading space in "addRowToDB"
* • fixed issue for showing an error alert sheet inside of a endSheet ↵Bibiko2009-06-231-6/+25
| | | | | | | | | selector of an other sheet: - introduced -(void)showErrorSheetWithTitle:(id)error -- error is an array of title and message - this can be called via [self performSelector:@selector(showErrorSheetWithTitle:) withObject: afterDelay:] - this avoids a crash of the current table window
* • some code cleaning and tiny performance enhancements for various ↵Bibiko2009-06-211-6/+9
| | | | for/while loops
* Fix for issue #285. Also tidy up the add/change row method including ↵stuconnolly2009-06-191-42/+83
| | | | friendlier error message dialogs.
* • in r801 the code for inserting a new field containing a PRIMARY KEY ↵Bibiko2009-06-171-9/+19
| | | | | | | after the selected one was commented out - it's fixed now - improved code to ensure that in this case AFTER ... will be only appended for a new field
* • fixed: "Duplicate field" will be disabled explicitly if selected table ↵Bibiko2009-06-161-4/+6
| | | | is not a BASE TABLE
* • changed the behaviour of the "Duplicate Field" button in TableSource:Bibiko2009-06-161-5/+12
| | | | - if no field definition is selected "Duplicate Field" copies the last field structure defined in the table
* • fixed: if the user tries to delete the last defined field in a given ↵Bibiko2009-06-161-0/+18
| | | | table show an alert saying that this isn't allowed
* Replace the change table type button with an edit button that switches the ↵stuconnolly2009-06-151-63/+4
| | | | current view to the table info pane.
* - Default the index type picker to INDEX if a primary key already exists on ↵rowanbeentje2009-06-131-1/+15
| | | | | | | the table (addresses #290) - Set the default focus correctly on the add index sheet
* • fixed issue that after changing the pref "Use monospaced fonts" the ↵Bibiko2009-06-101-1/+20
| | | | table structure view did not recognize the change after a reload
* - Replace TableSource use of a custom, flawed NSScanner-based parser with ↵rowanbeentje2009-06-101-29/+32
| | | | SPSQLParser usage - fixes errors like closing brackets (")") truncating ENUM/SET definitions
* - fixed bug with changing extra to auto_increment for a columnmtvee2009-06-031-1/+1
| | | | - small mem release issue in CMMCPConnection
* Redesigned table information pane.stuconnolly2009-05-271-2/+3
|
* • add AFTER clause only if the user added a new fieldBibiko2009-05-261-2/+2
| | | | - this should fix issue 280
* - Added ability to insert field/column in structure mode.avenjamin2009-05-201-5/+12
| | | | | - Inserts a field after the current selection or at the end if there is no field selected. - Resolves issue #30
* New preference to allow the displaying of vertical grid lines in table views.stuconnolly2009-05-191-12/+28
|
* More header updates for source files, including Subversion Id property.stuconnolly2009-05-191-1/+2
|
* Fix for issue #256. Don't perform field updates if nothing has changed when ↵stuconnolly2009-05-151-26/+47
| | | | selecting the table cell.
* Improve warning dialogs when removing table fields and indexes. Part of ↵stuconnolly2009-05-121-33/+43
| | | | issue #192.
* Implementation of enhancement #28: Allow customizing default value of NULL ↵stuconnolly2009-05-111-2/+2
| | | | property when adding new table fields.
* - fixed bug where indexes not showing.avenjamin2009-04-121-1/+1
|
* Added printing support via WebKit WebViewbamse162009-04-111-1/+18
|
* - part 4 of merge from 'avenjamin' branch into trunk.avenjamin2009-04-101-8/+8
| | | | - committing Source
* Rename tokens.h to SPEditorTokens.h and tokens.l to SPEditorTokens.l.stuconnolly2009-03-261-1/+1
|
* - when loading texts/blobs is disabled, the table view now shows "(not ↵jakob2009-03-261-11/+50
| | | | | | loaded)" in a gray color rather than " - text or blob -" -the remove and duplicate buttons in table and browse view are now disabled when nothing is selected
* - fixed issue #203 (backticks in identifiers not supported)jakob2009-03-241-29/+31
| | | | | | | | - added a backtickQuotedString: method to SPStringAdditions - created the file SPArrayAdditions for a componentsJoinedAndBacktickQuoted: method In the future, we should use backtickQuotedString: to quote identifiers like this: [NSString stringWithFormat:@"SELECT * FROM %@", [tableName backtickQuotedString]]
* - Increment trunk version number to 0.9.4rowanbeentje2009-03-111-3/+11
| | | | | | | - Improves on r370 and r375 by preventing actions triggered by the save from triggering saves themselves - Improves further on r370 and r375 by committing any current edits before saving - Additional comments
* Improves the table structure view to only save a row when properly ↵rowanbeentje2009-03-051-38/+69
| | | | deselected, and automatically reselecting the row for re-edit on error - resolves Issue #74.
* Cleaned up warnings when building against 10.5 SDKavenjamin2009-02-281-2/+2
|
* A patch to improve View support, addressing Issue #130. This patch undoes ↵rowanbeentje2009-02-231-7/+16
| | | | the damage caused by r333, making views viewable again, and extends support by preventing errors in the info pane, by drawing views with a different icon to easily differentiate them, by making all source/index information non-editable to match GUI to behaviour, and to tweak the interface slightly to match.
* Visible improvements in this build:rowanbeentje2009-02-181-43/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Significantly reduce the queries that have to be performed, improving lag - especially over slow connections (Issue #118; see new controller info under headline code changes). - Fix Issue #117 properly (export numeric quoting - we now have access to column types and so can quote appropriately). - Fix Issue #145 (loss of unsigned/null/default attributes when reordering columns). - Fixes Issue #90 (support for filtering DECIMAL column types) - Improve table scrolling speed when the table contains long items. (Added a NSFormatter to automatically truncate strings > 150 chars for display purposes only) - Improved SQL compatibility - for example /* C style comments */ are now correctly ignored in imports and custom queries. - Add text and symbols emphasising that the table info pane / status view row count is an approximation (partially addresses Issue #141) - Fixes a major memory leak whenever opening or scrolling tables containing text/blob data. - SQL import is now faster (SQL parsing part is 3x faster). - Speed up SQL export (1.5x faster for numeric data; 1.1x faster for string data) and slightly speed up CSV export (~1.1x faster). - Display sizes on the status view using the byte size formatter, as per table info pane. Headline code changes: - Add a new NSMutableString subclass, SPSQLParser. See the header file for documentation and overview, but in short it's a centralised place for SQL parsing. Centralises and improves parsing, improves comment support, improves quoting support. Despite the improved featureset this is also faster than the previous distributed implementations - for example, when used to replace the old splitQueries:, > 3x speedup. - Implement a new controller which handles a structure and status cache for the current table, and provides structure parsing for specified tables. This cache is now used throughout the code, reducing the queries that have to be performed and providing additional information about the table structure for use; I think it also improves column type format slightly. - The table info pane and the status view now draw all their data from the cache. Tweaks: - Table encoding is now detected directly instead of being derived from the collation - increased accuracy and cope with the DEFAULT encoding. - Comments and formatting cleaned up in bits I was working on, obviously. - A couple of methods - particularly [tablesListInstance table] and [tableDocument encoding] - have been renamed to avoid conflicts and fix code warnings. Future improvements now possible: - As we now have access to column types and other information, we can provide per-type behaviour where desired. - The table parsing doesn't currently pull out comments or table indices, together with one or two other attributes. Some of this would be useful for display; some, such as indices, could be used to draw the table structure view as long as we're happy discarding a couple of columns (ie cardinality!)
* Query failing because of field length applied to datetime field. Fixes #135.stuconnolly2009-01-291-1/+1
|
* • CMTextView.m : added new auto-complete keywordsavenjamin2008-12-221-1/+1
| | | | • TableSource.m : fixed spelling error
* Mutating a NSMutableDictionary while enumerating through it. mltownsend2008-12-171-3/+4
|
* MERGED r262:266 from branches/stuart02 to trunk to include new project ↵stuconnolly2008-12-101-0/+1065
structure.