aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableDocument.m
Commit message (Collapse)AuthorAgeFilesLines
* This changeset implements renaming and duplicating databases on a server. ↵drx7772010-04-281-2/+88
| | | | | | | | | | | | | | | | | | | Details as follows: * altered MCPConnection listTablesFromDB:like: to return NSArray * altered MCPConnection listFieldsFromTable:like: to use backtick quoted strings for table and fieldnames * added MCPConnection listTablesFromDB for a complete table list * added SPStringAdditions.h to various files to prevent warnings * added sheets for duplicate/rename DB in DBView.xib * added duplicate/rename menu items to MainMenu.xib * added outlets in TableDocument: databaseNewSheet databaseRenameSheet databaseCopyNameField databaseRenameNameField copyOnlyStructureButton copyDatabaseButton renameDatabaseButton * added methods in TableDocument: getConnection, copyDatabase, renameDatabase, _copyDatabase, _renameDatabase * added OCMock Framework for object mocking in tests * added group Others/DatabaseActions
* Enhance SPLogger by adding the ability to run leaks() against the ↵stuconnolly2010-04-241-2/+7
| | | | | | | | | application upon termination with the result being written to /tmp. To enable call setDumpLeaksOnTermination on SPLogger. Note, that SPLogger has been restructed to accommodate calling this method without writing the additional log file to the user's desktop. Could probably be enhanced a bit by someone with better C skills than me.
* changed many occurrences of "REMOVE" to "DELETE", eg. "DELETE DATABASE"jakob2010-04-221-1/+1
|
* When saving an SPF only save the socket if it's present. Fixes ↵stuconnolly2010-04-201-1/+1
| | | | http://spbug.com/l/137
* - Add a new couldCommitCurrentViewActions method to TableDocument, and ↵rowanbeentje2010-04-181-51/+50
| | | | | | | | standardise current view-commit-checks to use that - Add checking of that status to history navigation (fixing http://spbug.com/l/127 ) and window closing (fixing http://spbug.com/lr/263 ) - Improve thread safety/deferred actions in TableContent
* - Fix a bug in 10.5.8 where a background connection window would ↵rowanbeentje2010-04-171-1/+2
| | | | overrelease on crash, by moving from automatic/inherited window management for the task spinner to fully managed. This addresses http://spbug.com/l/4 .
* - Tweak the history controller to track the toolbar item visibility, and ↵rowanbeentje2010-04-151-2/+3
| | | | only update it when visible - this fixes crashes after the toolbar item is removed from the toolbar and then updated (eg http://spbug.com/l/114 )
* Review usage of notifications, afterDelay: and waitUntilDone:NO calls:rowanbeentje2010-04-121-1/+4
| | | | | | | - Add more calls to deregister watchers to fix crashes to closing threads or objects - Fix a couple of memory leaks - Alter a few calls to be performed on main thread (afterDelay: operates on the thread is is called on) - this fixed database reloading after import and field/index deletion error sheets
* • renamed 'Open' button in 'Import from Clipboard' to 'Next'Bibiko2010-04-121-1/+1
| | | | • fixed 'Import from Clipboard' menu item validation to be disabled if no database is selected (thanks to avenjamin for pointing it out)
* Add a new SPFileHandle class to support gzip compression and writing on a ↵rowanbeentje2010-04-121-1/+0
| | | | | | | | | | | background thread, and integrate for SQL import: - Implement streaming reading of gzip-compressed files for SQL import - Support exporting SQL dumps into a gzip-compressed file - SPFileHandle supports the most-used subset of NSFileHandle commands for easy integration - Integrate zlib 1.2.4 for improved gzip streaming performance (and support for custom buffer sizes and file offset positions) This implements Issue #571 .
* Forgot to update Localizable.strings for previous commit.stuconnolly2010-04-111-2/+2
|
* • added "Import from Clipboard" ⌥⇧⌘IBibiko2010-04-101-2/+16
| | | | | | - sheet showing the first 4kB of pasteboard content and the SQL/CSV accessory view - pasteboard content will be saved as temp file and read by using the current table/connection encoding
* When displaying a table/view's create syntax in the extended table ↵stuconnolly2010-04-091-2/+2
| | | | information view or create syntax sheet remember to append a semi-colon. Fixes issue #629.
* - Improve .spf handling of blank passwords; allow empty passwords to be ↵rowanbeentje2010-04-061-4/+4
| | | | saved (this addresses http://spbug/l/75), and correctly restore empty passwords
* If user selects the Query Editor window set always the focus on the text ↵Bibiko2010-04-061-2/+2
| | | | view regardless if the content is empty or not, since it's very likely that the user wants to change it. This should solve i483.
* • ensure that the global schema structure data for completion are updated ↵Bibiko2010-03-311-1/+1
| | | | even if SP is not active
* • if document window will close sent a ↵Bibiko2010-03-311-0/+11
| | | | | | 'cancelPreviousPerformRequestsWithTarget' to the custom query editor to stop auto-completion and auto-help timer to avoid crashes after closing • improved some minor stuff for completion's re-invocation
* • querying for db structure is queued for the same connection to avoid ↵Bibiko2010-03-311-3/+2
| | | | | | | | | | | 'overlapping' access to global variables • after querying db structure write back data on main thread • completion list displays animated sync images if connection is just querying db structure data • fixed some minor issue for completion list • make sure that if last window of a connection is closed all relevant data will be removed from global variables Note: please test!
* - Improve error checking for various actions, particularly permissions ↵rowanbeentje2010-03-311-0/+22
| | | | errors (NULL data returned) for views and stored procedures. This should fix http://log.sequelpro.com/view/27 , http://log.sequelpro.com/view/57 , and the last of http://log.sequelpro.com/view/53
* • fixed several issue for completion listsBibiko2010-03-291-0/+10
| | | | | | | • improved gathering and caching of structure data coming from connection windows with the same connection • made the structure querying more stable against threading issues • moved getUniqueDbIdentifierFor from MCPConnection to SPNavigatorController to be up-to-date in all connection windows • improved detection if db structure querying should be performed or not (not yet finished)
* Add the ability to sort the connection favorites table view in the ↵stuconnolly2010-03-271-0/+6
| | | | preferences. Sort options are by name, host or type as well as the option to be sorted in reverse order. This implements issue #490.
* - When switching tables, correctly catch disconnections and suppress error ↵rowanbeentje2010-03-271-8/+0
| | | | | | | | | dialogs and related crashes - Move connection error sheet close method to the connection delegate - Tweak the information_schema db schema building query to be much faster on busy servers by amending the VIEW part - Set the connection lock to nil after releasing, coping with connection unlocks deferred on the main thread until after dealloc
* • navigatorBibiko2010-03-261-6/+3
| | | | | - fixed issue if different connection windows are connected to the same connection - prepared structure querying method to be able to add user info containing which table/db was changed if we know it to reduce the future parsing cost
* • Navigator and completion listBibiko2010-03-261-1/+7
| | | | | | - fixed issues for deletion of a db like remove all relevant items and refresh the navigator - simplified and minimized code and memory usage while querying the connection structure - whether a schema name is an unique db or table will be evaluated on run-time via allKeysofDbStructure
* • first steps to ease the structure querying for auto-completion and navigatorBibiko2010-03-261-10/+20
| | | | | | | - now it accumulates the data and caches them db by db, ie one has to select a db before using its structure for completion and navigator - next step is to avoid querying info_schema as much as possible - it will only query the structure if something was changed - next steps follows as soon as possible
* Bunch of improvements to the server process list viewer, including:stuconnolly2010-03-251-1/+1
| | | | | | | | | | - It is now a separate window like the console to enable monitoring. - It now uses the same window style as the console. - The ability to show or hide the process ID, column. This could possibly be enabled for some of the other columns as well, suggestions? - The ability to enable or disable the use of SHOW FULL PROCESSLIST or just SHOW PROCESSLIST. This implements most of the enhancements requested in issue #607, with the exception of the option to enable auto-refresh, which is still being worked on.
* Add support for selecting the triggers view as the default in the general ↵stuconnolly2010-03-251-12/+20
| | | | preferences pane.
* • changed behaviour of ^⌥⌘F "Filter Table" or "Change Focus to Table ↵Bibiko2010-03-251-2/+8
| | | | | | | | List" - if > 20 tables are listed it sets the focus on the search field - if <= 20 it sets the focus on the table list, and - if no selection - it selects the first table item - this fixes i597
* • NavigatorBibiko2010-03-251-11/+1
| | | | | | - make usage of a notification sent by the [MCPConnection queryDbStructure] to update the navigator, and this decouples a doc window and MCPConnection from the navigator - minimized the tree update - now connectionID-based - any tree update will be now performed on main thread and waits until done to avoid 'overlapping' updates triggered by different notifications which normally ended up in an inchoate tree display
* - Make [MCPConnection getLastErrorMessage] more consistent by always ↵rowanbeentje2010-03-251-15/+15
| | | | | | | 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-17/+18
| | | | SPConstants.h/m.
* - Add a new selectDatabase:item: method to TableDocument, to centralise ↵rowanbeentje2010-03-241-47/+97
| | | | | | | | | | code for selecting databases and tables. Clean up database selection to use this new method, and avoid reloads when re-selecting the same database. - Convert the history controller to use this new call. This fixes history behaviour when a table list filter was active. - Convert the (hidden) navigator to use this new call. This fixes timing issues. - Make some thread safety tweaks to TablesList. - Change TablesList selectTableOrViewWithName: to selectItemWithName:, including procs etc.
* - Remove observers for key paths when dealloc'ing objects to fix later ↵rowanbeentje2010-03-231-0/+16
| | | | | | | crashes when changing those keyvalues (eg changing query editor background colour after closing windows - http://log.sequelpro.com/view/44 ) - Fix a memory leak of a prefs reference in CMTextView
* Before opening the user manager check that the current user has access to ↵stuconnolly2010-03-231-0/+18
| | | | the mysql.user table. If they don't display a warning message that they don't have the necessary privileges for user management.
* • NavigatorBibiko2010-03-231-3/+4
| | | | | | | | - gather more information - show infos for proc/func - improved error handling - reduced jittering while closing a connection window - still hidden - if navigator is not visible no navigator code will be executed
* - Simplify table source table setup and make thread safe. This should ↵rowanbeentje2010-03-221-3/+4
| | | | | | | | address http://log.sequelpro.com/view/43 , http://log.sequelpro.com/view/46 - Improve keepalive timer interaction - this should address http://log.sequelpro.com/view/74 and http://log.sequelpro.com/view/71 - Further thread safety improvements to Custom Query, Table Document, and the history controller
* • NavigatorBibiko2010-03-211-0/+30
| | | | | | | | | | - added 'sync' mode - the navigator follows the active window db/table selection if navigator has not multiple selected items - added drag support of selected items -- as comma separated and backtick quoted string for external apps -- as array of schema paths for SP • CMTextView - added drop support for selected items coming from the Navigator - insert them as comma list relative to current selected db/table
* • NavigatorBibiko2010-03-211-0/+3
| | | | | - preserve selection; if generally possible check if selected item still exists if not select parent if still exists on so forth - a reload should only occurs if structure was changed
* Fix memory leak upon connection window close.stuconnolly2010-03-201-0/+1
|
* • further work on Navigator (not yet active but workable -> unHide menu item)Bibiko2010-03-191-1/+49
|
* • further progress for navigatorBibiko2010-03-181-1/+1
|
* • some progress of the navigator approach (not yet active - hidden main ↵Bibiko2010-03-181-3/+18
| | | | menu item)
* - Fix a couple of calls which crashed if the window had already been ↵rowanbeentje2010-03-181-0/+1
| | | | | | | closed, fixing window close on query startup or after queries; this fixes http://log.sequelpro.com/view/9 - Fix an exception caused in the NavigatorController if the dbstructure has not been fetched yet
* • initial commit to support a connection/schema navigator (not yet active ↵Bibiko2010-03-171-0/+34
| | | | - to try see line 1134 in TableDocument.m)
* Fix a couple more potential issues found during static analysis.stuconnolly2010-03-151-1/+1
|
* Fix some potential issues found during static analysis.stuconnolly2010-03-151-1/+1
|
* Following a manual code review, fix some local variables overriding global ↵rowanbeentje2010-03-151-2/+10
| | | | variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
* Peform the addition and removal of table indexes on a background thread with ↵stuconnolly2010-03-141-1/+0
| | | | the option to cancel the operation to prevent locking up the main thread. Fixes issue #591.
* • fixed printDocument validation if Custom Query is activeBibiko2010-03-131-5/+5
| | | | - allow to print the Custom Query result table even if no database/table is selected
* Perform HTML generation for printing on a background thread, displaying the ↵stuconnolly2010-03-131-2/+2
| | | | usual progress indicator with the ability to cancel it. Still need to add warnings when attempting to print a table content with a large number of rows or a lot of data.