aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* - Update the row count a bit more intelligently when the table content is ↵rowanbeentje2009-10-171-0/+26
| | | | LMITed or FILTERed but the table content is increasing. This addresses Issue #421.
* Replace the use of hard coded preference keys with constants to prevent ↵stuconnolly2009-10-1732-352/+552
| | | | issues such as the one fixed in revision 1419. All future preference usage should be done so using these constants.
* • fixed NSString pointer reassignment in SPArrayAddition's method ↵Bibiko2009-10-162-4/+32
| | | | | | | 'componentsJoinedAndBacktickQuoted' • improved deletion of rows in tables which have no primary keys - check for duplicated rows first; if no duplicates are found use all columns as 'primary keys' and delete the rows via … WHERE (a='…' AND b='…') OR (a='…' AND b='…') OR …
* - Improve on r1423 by avoiding stringWithFormat: within the query ↵rowanbeentje2009-10-163-12/+26
| | | | | | | | construction loop, enormously reducing memory usage in big loops - Use 64k chunks instead of 256k chunks - seems to give *much* better performance, possibly due to MySQL parsing/cache sizes (?) - When restoring the query console to allow updates again after a loop, trigger a refresh of the view if the console is visible
* • if a table has more than one PRIMARY KEY delete the rows à la DELETE ↵Bibiko2009-10-161-5/+69
| | | | | | | FROM `table` WHERE (`prikey1`='…' AND `prikey2`='…') OR (`prikey1 `='…' AND `prikey2`='…'); - changed error messages slightly while deletion
* • fixed SPArrayAdditions method 'componentsJoinedByCommas' to use a ↵Bibiko2009-10-164-22/+111
| | | | | | | | | | | | | mutable string to avoid crashes if array has a very large number of items (malloc error due to reassigning a NSString pointer) • added to SPTableData method - (NSArray *) primaryKeyColumnNames - returns all column names which are set as PRIMARY KEYs - return nil if no PRIMARY KEY is set • improved the deletion of rows - if current table has only one PRIMARY KEY field delete all rows via DELETE FROM table WHERE pri_key IN (…) whereby the deletion query will be splitted into 256k chunks Note: line 1790ff It has to be implemented a workaround for tables with more than one PRIMARY KEY – maybe via DELETE FROM table WHERE ( (pri_key1='…' AND pri_key2='…') OR (… AND …) OR … ) splitted in 256k chunks as well
* • fixed three further typos for: objectForKey:@"NullValue"Bibiko2009-10-164-9/+11
| | | | • allow to enter the NULL value string even if the cell/field's maximal length is set to less then the actual NULL value string length (eg varchar(3) and NULL value string is @"NULL")
* nullValue preference key should be NullValue, which was preventing the ↵stuconnolly2009-10-161-6/+7
| | | | editing of NULL fields in the editor sheet.
* • fixed issue that tables without primary key and Pref is set to ↵Bibiko2009-10-161-8/+12
| | | | | | | | LoadBlobsAsNeeded are not editable • fixed issue if user tries to delete a row from a table without a primary key and Pref is set to LoadBlobsAsNeeded that a warning comes up and the table data keep unchanged • if an error occurred while deleting rows reload the table data automatically for safety reasons • fixed data cell class detection for returning argumentForRow: (typo after changing the internal logic)
* Significant User Management improvements:rowanbeentje2009-10-164-45/+117
| | | | | | | | | | | | - When reading data from the server, correctly map values to the SPUser object values to prevent data loss - Ask server for priv support; disable unsupported privs in the interface, and only try to grant/revoke supported privs. Fixes errors saving users on MySQL < 6. - Make "check all" and "uncheck all" buttons functional - Add checkboxes for MySQL 6 privs as we already map the data for them - Fix double retain of priv mapping dictionary - Error dialogs stay on screen for longer than half a second - New hosts are now selected for editing when added This addresses some of the issues in Issue #349.
* Add a 'Provide Feedback' menu item to the help menu, which links to ↵stuconnolly2009-10-162-0/+10
| | | | http://www.sequelpro.com/docs/Contact_the_developers.
* • fixed issue for closing the sheet for deleting/adding row(s) explicitly ↵Bibiko2009-10-151-13/+15
| | | | | | | | | | due to the fact that SP would crash if an error alert sheet follows • fixed NULL value detection in method 'argumentForRow' Notes: - isSPNotLoaded check has to be implemented in line 1658 - hide blob data "(not loaded)" can be applied for tables which have no primary keys - we have to check the code again here
* • fixed issue while copying a very large number queries from the Console ↵Bibiko2009-10-151-3/+7
| | | | | | Log window - make usage of a NSMutableString to speed it up and to avoid crashes
* • added the chance to set "allowConsoleUpdate"Bibiko2009-10-153-38/+58
| | | | | | | | - if set to YES the Console Log won't be updated after adding a new message even if the window is visible; this is useful if SP has to execute a large number of queries • first steps to increase the deletion of a large number of rows in the Content pane - removed deprecated 'selectedRowEnumerator' - set Console Log's 'allowConsoleUpdate' to NO if more than 10 rows should be deleted - instead of adding the successful deleted row indexes into a new array delete these indexes from the selectedRows NSIndexSet
* - Fix a problem preventing the end of large CSV files from being importedrowanbeentje2009-10-151-1/+1
|
* • SPF file: remember/restore 'connectionEncoding' and 'toolbar visibility'Bibiko2009-10-151-1/+11
|
* • added AppleScript support for "make new document"Bibiko2009-10-142-0/+14
| | | | • fixed validation of the main menu item "Print" - only enabled if one table is selected (otherwise it throws an exception)
* • cleaned and improved AppleScript supportBibiko2009-10-141-0/+56
| | | | | | - now 'activate' & 'quit' works due to that fact that if an app is scriptable the Dock's "Quit" command calls handleQuitScriptCommand: which has to be implemened - fixed issue that SPAppController has to be the delegate for NSApp to support AS - added support for AS à la: "get name of first document" or "close every window" etc.
* • changed Error Detail HUD window for the connection manager slightly:Bibiko2009-10-131-0/+2
| | | | | | | - suppress spell checking - set left alignment - set a minimum window size - set font size to 12pt (to make it easier to read)
* • cleaned the current Applescript support definitions slightlyBibiko2009-10-132-15/+1
| | | | | - removed unnecessary method 'handleQuitScriptCommand' from SPAppController - set main class to SPAppController
* • Sequel Pro now understands the AppleScript command 'quit' correctlyBibiko2009-10-132-4/+4
| | | | - this fixed issue 434
* • first steps to improve the general tooltip behaviour of ↵Bibiko2009-10-123-19/+60
| | | | | | 'ImageAndTextCell' class • simplified the tooltip of Preference's Favorite List
* • fixed truncating issue of Pref's Favorite List table viewBibiko2009-10-123-4/+26
| | | | | - now favorite name/host will be truncated correctly - added tooltip for truncated favorites
* - Preserve the "host" field for other connection types when socket ↵rowanbeentje2009-10-112-19/+33
| | | | connections are selected, synthesising "localhost" where necessary. This addresses Issue #384.
* - Allow link arrows for foreign key links to work when used on a column ↵rowanbeentje2009-10-101-12/+27
| | | | with a foreign key link within the same table - this improves compatibility for Issue #428.
* Remove the use of the logger in debugging the new export redesign as it's ↵stuconnolly2009-10-102-4/+0
| | | | creating the log file on every launch.
* Improve handling of NULL and "(not loaded)" placeholders:rowanbeentje2009-10-105-139/+238
| | | | | | | - Rewrite TableContent and CustomQuery to store NSNull and SPNotLoaded objects in the data arrays where appropriate, rather than providing string conversion on data load. Faster, simpler comparisons and processing code, slightly lower memory usage, and reduces the chance of bugs caused by inadvertantly processing the string values; we can now also distinguish easily between NULL and "NULL" etc, and further paves the ground for image representations of special values. - Fix a bug caused by consistent value reloading when editing BLOB/TEXT columns with deferred loading - if editing a row and revisiting an edited cell, the original value was restored; the original value is now only loaded once. This addresses the rest of Issue #423.
* Reorganize the logical source structure of all controllers grouping them by ↵stuconnolly2009-10-092-4/+24
| | | | functional area. This isn't definite so please feel free to make any further changes.
* Yet more export redesign work. Export is now currently working for single ↵stuconnolly2009-10-094-179/+183
| | | | tables, but produces deadlock errors when attempting to export multiple tables as a result of the initial streaming request for the tables' data all being done from the same thread. To resolve this each of the streaming requests will be made concurrently in separate operations and once the data is available a new concurrent operation (SPExporter subclass instance) will be spawned to perform the data conversion process.
* Missing SVN properties.stuconnolly2009-10-094-5/+5
|
* Tiny performance improvement and cleaner code.stuconnolly2009-10-091-3/+3
|
* Don't filter out the current table of available tables to reference when ↵stuconnolly2009-10-091-1/+1
| | | | creating a new relation. Fixes issue #428.
* • fixed bug while parsing the CREATE TABLE syntax if a column name ↵Bibiko2009-10-093-1/+27
| | | | | | | | contains a '#' or '/*' - this fixes issue 431 - furthermore if the parsing process fails for some other reasons, i.e. a table name is NULL or empty SP alerts the user about it instead of stalling
* • After importing CSV data execute [TableContent reloadTable:] on ↵Bibiko2009-10-081-2/+4
| | | | | | mainThread to avoid crashes if SP shows the data in the Content Browser in which the data will be imported. [It occurred sometimes that the current table should be updated but no data were available due to threading.]
* • outsourced ImportCSV accessory view to fix the disappearing of combobox ↵Bibiko2009-10-071-0/+22
| | | | | | values after re-invoking it - store the accessory settings in SP's preferences
* • fixed bug for CSV importBibiko2009-10-071-0/+8
| | | | - now the parser will be initialized by the import dialog's settings (was unintentionally deleted)
* • some minor code cleaning and simplificationBibiko2009-10-072-298/+309
|
* More export redesign work. Note that the current implementation has a major ↵stuconnolly2009-10-077-90/+90
| | | | flaw in that exporter instances (NSOperation subclasses) are not reusable and so we have to create a new instance for every 'chunk' of data we want to process.
* • added main menu item: "Open “<file>” in New Window" ⌥⌘O as ↵Bibiko2009-10-063-0/+31
| | | | | | alternated menu item bound to "Open…" - this action opens the current file-based connection in a new window by reading <file> again
* More export redesign work.stuconnolly2009-10-067-35/+99
|
* • changed routine for opening SPF filesBibiko2009-10-063-13/+59
| | | | | | | | | - if no passwords are stored inside the SPF file try to retrieve the passwords from the KeyChain - for that purpose store the key 'kcid' in the SPF file if available - changed the accessory view: 'auto_connect' is always enabled (even no pw will be saved due to new routine) • fixed issue for Open Recent of SQL files • add a saved SPF file to Open Recent list if the user saved an Untitled doc or saved an open SPF file under an other name
* More export redesign work. CSV data generation is currently working using ↵stuconnolly2009-10-0612-311/+347
| | | | the old non-streaming code, but does not yet write to any files. Please note that this is still very much a work in progress.
* Add the ability to copy the selected server variable(s), either as name = ↵stuconnolly2009-10-042-18/+107
| | | | value pairs, just the variable or just the variable value.
* - When moving or editing table columns, preserve comments and any column ↵rowanbeentje2009-10-032-3/+45
| | | | | | | details which are currently unhandled (column formats, storage, references). This addresses the data loss part of Issue #180. - Parse out column comments in SPTableData to allow displaying or editing comments in future
* Improve Growl interaction to reduce general Growl spammage and improve ↵rowanbeentje2009-10-035-19/+134
| | | | | | | | | | functionality: - Growls are now only shown by default if they are not fired from the frontmost window - Long-running tasks (>3 secs) will still Growl - Clicking on a Growl will now bring the associated window to the front This addresses the original concerns of Issue #98.
* • fixed "Open Recent" for 10.6:Bibiko2009-10-031-1/+1
| | | | | | since 10.6 that list expects a clean file URL created via [NSURL fileURLWithPath:path] (having the suffix file://localhost/....) Note: should be tested for Leopard.
* - Ensure that blob and text fields which are loaded on-demand never have ↵rowanbeentje2009-10-031-7/+20
| | | | placeholder values written to database. This addresses the data corruption part of Issue #423.
* When duplicating table, but not its contents strip out any occurrence of a ↵stuconnolly2009-10-021-1/+8
| | | | present AUTO_INCREMENT value. Fixes issue #391.
* When duplicating a table strip out the names of any occurrences of InnoDB ↵stuconnolly2009-10-021-0/+7
| | | | foreign key references as the names must be unique. MySQL will create the new names based on the new table name. Fixes issue #398.
* • first implementation of a Content Filter EditorBibiko2009-10-0110-139/+189
| | | | | | | | | | | | | | - user-defined content filter can be saved globally (Prefs) or in SPF files - BETA - further tests are needed due to complexity - SPQueryController now handles the local user-defined content filters - tooltips are now generated automatically if not defined explicitly (incl. if $BINARY placeholder was used) • if user added local query favorites or content filters to an Untitled document and s/he wants to close it the standard sheet will be displayed (Don't Save - Cancel - Save) - due to that changed old [TableDocument displayName] to 'displaySPName' to be conform with Cocoa • changed behavior while importing query favorites - now they will append at the list (not inserted after selected row - makes more sense) • introduced to history filter dict the key 'menuLabel' which will be set to [TableContent tableFilterString] for displaying the history menu title and simplified the SPHistoryController logic for that • minor code changes