aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* • fixed truncating issue of Pref's Favorite List table viewBibiko2009-10-124-346/+463
| | | | | - 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.
* - Make the custom query error text selectable - this addresses Issue #425rowanbeentje2009-10-101-31/+37
|
* - 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-107-140/+245
| | | | | | | - 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-093-50/+110
| | | | 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-095-332/+1057
| | | | 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-075-954/+1385
| | | | | | 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.
* Move 'Close' menu item.stuconnolly2009-10-061-240/+35
|
* • added main menu item: "Open “<file>” in New Window" ⌥⌘O as ↵Bibiko2009-10-064-11/+287
| | | | | | 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-064-303/+110
| | | | | | | | | - 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-0614-346/+401
| | | | 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.
* Tiny tweak: make isNSNull checks ~3x fasterrowanbeentje2009-10-051-1/+3
|
* - Rewrite keepalive pings to be performed within pthreads, enforcing ping ↵rowanbeentje2009-10-052-43/+46
| | | | timeouts and thus avoiding problems with network connections dropping and mysql_ping sticking and crashing as more keepalive pings kick in. This should address Issue #298.
* Remove the (single item) 'Tools' menu and move the 'User Manager' menu item ↵stuconnolly2009-10-041-74/+61
| | | | to the 'Database' menu renaming it to 'User Accounts'.
* Add the ability to copy the selected server variable(s), either as name = ↵stuconnolly2009-10-043-37/+235
| | | | 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.
* • corrected tooltips for 'Add' and 'Remove' buttonBibiko2009-10-021-16/+49
|
* • first implementation of a Content Filter EditorBibiko2009-10-0111-145/+191
| | | | | | | | | | | | | | - 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
* Remove the word 'Table' from the copy create syntax Growl notification name ↵stuconnolly2009-10-011-2/+2
| | | | to be the same of the name thats actually been used, thus making the notification work again.
* - Add copy create syntax button to the create syntax sheet.stuconnolly2009-10-017-14/+103
| | | | | | - Fix the Growl notification prefs message as well as making the dialog a sheet. - Re-run genstrings to update localizable.strings and also remove use of multiple comments for a single string.
* - Replace the create syntax transparent HUD panel with a standard sheet, ↵stuconnolly2009-10-014-575/+522
| | | | | | | | | which displays the create syntax in the same non-editable version of the custom query editor. Addresses issue #411. - Add the ability to save the displayed create syntax to a file on disk. - Change the 'Show Create Syntax' shortcut from shift+cmd+S (its already in use) to alt+cmd+S. - Make both the create syntax and server variables sheets not run application modally and thus prevent them from blocking the main thread. Part of issue #351.
* - Add an empty tableview behind the table filter box, with the same ↵rowanbeentje2009-09-301-222/+377
| | | | | | | background settings as the tables list tableview; this makes background colours consistent, addressing Issue #395 - Set the image scaling property on five checkboxes to "None" to silence Interface Builder warnings
* - Add ControlMaster compatibility to SSH tunnels - credit to Igor Sutton. ↵rowanbeentje2009-09-301-0/+1
| | | | This addresses Issue #396
* - Update history item name generation (for history menus) to add support ↵rowanbeentje2009-09-301-0/+10
| | | | for the BETWEEN filter
* • further progress on the Content Filter EditorBibiko2009-09-308-738/+1142
| | | | | • fixed issue for "Add" a new favorite in SPQueryFavoriteManager: - save pending changes in the query textView in beforehand
* - Correctly release and reset the sort column when deselecting tables or ↵rowanbeentje2009-09-291-0/+4
| | | | selecting single tables after multiple tables are selected. This addresses Issue #372 and probably Issue #365
* • preparation for GUI support to manage user-defined content filtersBibiko2009-09-294-0/+3693
|
* - When editing a row in a table with "on update CURRENT_TIMESTAMP" set for ↵rowanbeentje2009-09-291-11/+15
| | | | a column, if that column value hasn't been changed by the user apply the CURRENT_TIMESTAMP appropriately. This addresses Issue #416
* - When adding tables, use standard selection update methods rather than ↵rowanbeentje2009-09-281-30/+2
| | | | custom (and partial) code; fixes issues of showing old columns/data from the previous table when creating new tables.
* • some code cleaning and removing of the deprecated method ↵Bibiko2009-09-282-51/+55
| | | | 'selectedRowEnumerator'
* • fixed an issue of double-loading user-defined filtersBibiko2009-09-283-10/+53
| | | | | | • introduce a new placeholder $BINARY to the filter definition - if user presses ⇧ while invoking the table filter and a filter had defined that placeholder the search will be case-sensitive; otherwise the placeholder $BINARY will be simply removed to search case-insensitive - added tooltip for these string filters in ContentFilters.plist
* • improved and fixes escaping of filter argumentsBibiko2009-09-283-7/+53
| | | | | | | | - 'is (not)' and 'contains (not)' are now defined as: take the argument literally, ie % and _ will be escaped automatically - in string fields one can look for \n , \r , \t - added LIKE and NOT LIKE operators to strings to be more transparent - a routine detects automatically whether a placeholder was wrapped into ' or " and if so ' or " will be escaped
* • rewrote the content filter logic:Bibiko2009-09-285-235/+499
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - all default filters come from "ContentFilters.plist" which can be localized main structure: <plist> <dict> <key>number</key> <array/> <key>string</key> <array/> <key>date</key> <array/> </dict> </plist> filter item structure: [ ${} is a place holder for an argument ] <dict> <key>MenuLabel</key> <string>BETWEEN</string> <key>Tooltip> <string>a tooltip</string> <key>NumberOfArguments</key> <integer>2</integer> <key>ConjunctionLabels</key> <array> <string>AND</string> </array> <key>Clause</key> <string>BETWEEN '${}' AND '${}'</string> </dict> - if NumberOfArguments == 0 then start filtering automatically - now one can save his/her own filters in SP's preferences.plist (GUI follows soon) - fixed issue for filters requiring two arguments that pressing RETURN if one is in the second argument input field invokes "Filter" - added string operators: "IS EMPTY" and "IS NOT EMPTY" - fixed issue that now one is able to look for eg \n in string fields
* Rewrite CSV import:rowanbeentje2009-09-285-577/+1205
| | | | | | | | | | | | | - Replace the CSV parsing function (arrayForCSV:) with a new SPCSVParser class - Make speed improvements to SPCSVParser to achieve 1.9x faster parsing than the old arrayForCSV: function - Rewrite CSV imports to be performed as a streaming import, keeping memory usage much much lower - CSV field mapping preview is now shown very early on in the import process, as soon as the first hundred rwos are available for a preview - Progress bars are more consistent and accurate - CSV rows are grouped into batches of up to 50 (depending on line length) for import, falling back to one-query-per-row if errors occur. The current error reporting level is therefore maintained, but imports of non-erroring data are much much faster. - Improve processing speed slightly - Fix some odd edge cases in CSV parsing This addresses issue #389.