aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Fixes connection timeouts during queries of over three seconds, and speeds ↵rowanbeentje2009-06-122-79/+21
| | | | | | | up queries further (1.5x faster for short socket queries). Doing further research, it turns out that mysql_query should effectively lock the connection, and mysql_ping should not be performed while a query is active as mysql is specifically not thread-safe in this one regard. This fixes #293. However, it means that we will suffer from http://bugs.mysql.com/bug.php?id=9678 again; if we don't complete the framework integration before 0.9.6, we should roll back this patch and r831 to allow all connections to behave properly and avoid hangs.
* - Fix saving of SSH tunnel passwords entered in preferencesrowanbeentje2009-06-112-2/+6
| | | | | | - Select favourites added in preferences - Scroll to newly added or duplicated favourites in both preferences and connection sheet
* • fix to allow insert large blob dataBibiko2009-06-112-21/+37
| | | | | | If a query gave the error 2006 (server has gone away) try to increase max_allowed_packet - if the user has SUPER privileges - and redo the query. If max_allowed_packet was changed reset it to default after executing. In addition if error 2006 occurred and max_allowed_packet can't be set write an additional error message to the log "(Please check if query size < max_allowed_packet)". - 10MB of data are no problem - while trying to insert 67MB MySQL gave the error : ... X'(null)' plus malloc: mmap(size=141287424) failed (error code=12); can't allocate region
* • introduced these methods to CMMCPConnectionBibiko2009-06-112-0/+54
| | | | | | | - (int) getMaxAllowedPacket; - (BOOL) isMaxAllowedPacketEditable; - (int) setMaxAllowedPacketTo:(int)newSize;
* - Rename the preference pane 'Alerts' to 'Alerts & Logs'.stuconnolly2009-06-111-3/+3
| | | | | | - Move the new disable query logging to the 'Alerts & Logs' pane. - Hide the display of the new 'Shortcuts' toolbar item.
* • fixed exception if content table view wants to load data from a table ↵Bibiko2009-06-111-1/+1
| | | | | | but the table data are not accessible (e.g. for information_schema) - this fix sets the content table view into a defined state as well
* Add a very basic preference to disable all query logging. This can be ↵stuconnolly2009-06-113-4/+25
| | | | expanded upon to disable different types of queries.
* updated dot generator to handle multi-col fk's with a different arrow type ↵mtvee2009-06-112-4/+22
| | | | and views as a different header color
* • cleaned code for the case that the user selects a view which causes a ↵Bibiko2009-06-103-6/+14
| | | | | | | | | MySQL error while retrieving data - [SPTableData tableEncoding] returns nil if no encoding can be found - [TableList tableViewSelectionDidChange:] checks in beforehand for a valid table encoding; this avoids to get the same MySQL error message twice and cleaned the structure view • if a MySQL error occurred while retrieving table data for the content view set the content view to a defined and clean status • bound TableContent's filterButton to DBView.xib to disable it if an error occurred (otherwise the status bar shows unexplainable results )
* - Table Info pane now has fixed heightavenjamin2009-06-104-7/+70
| | | | | - Table Info pane is collapsable - Export Controller code cleanup
* small fix for WebView not printing background colorsmtvee2009-06-101-0/+3
|
* update dot file genertor to use SPTableData instead of a v5 style query for ↵mtvee2009-06-102-19/+22
| | | | fk relations
* • fixed some minor issues in fetchResultFieldsStructureBibiko2009-06-101-5/+7
| | | | | - detection tiny/medium blob now uses length/max_lengthOfCharOfEnc - dropped mac_char_length key from dict because it's not possible to calculate the correct max_length in a given encoding
* • 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
* • introduced the method (NSArray *)fetchResultFieldsStructure to CMMCPResultBibiko2009-06-092-88/+582
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - it returns an array of dicts containing general information about each field of the result array of the last executed query dict example so far for: SELECT ucs_comp AS co FROM comp_ucs3 AS co_table AUTO_INCREMENT_FLAG = 0; BINARY_FLAG = 0; BLOB_FLAG = 0; ENUM_FLAG = 0; MULTIPLE_KEY_FLAG = 1; NOT_NULL_FLAG = 0; NUM_FLAG = 0; PART_KEY_FLAG = 1; PRI_KEY_FLAG = 0; SET_FLAG = 0; UNIQUE_KEY_FLAG = 0; UNSIGNED_FLAG = 0; ZEROFILL_FLAG = 0; byte_length = 30; char_length = 10; charset_collation = utf8_general_ci; charset_name = utf8; charsetnr = 33; db = test; decimals = 0; flags = 16392; max_byte_length = 4; max_char_length = 1; name = co; org_name = ucs_comp; org_table = comp_ucs3; table = co_table; type = VARCHAR; typegrouping = string; Hint: To test that new method one can add the following code after the execution of a mysql query: NSArray *fStruct = [NSArray arrayWithArray:[theResult fetchResultFieldsStructure]];
* • fixed bug for "Show help while typing" - prevent an internal loop of ↵Bibiko2009-06-091-1/+2
| | | | calling ShowMySQLHelpForCurrentWord if "Highlight the current Query" is activated.
* • added: "Copy as SQL INSERT" ^⌥⌘CBibiko2009-06-083-89/+184
| | | | | | - up to now only available for the table content pane - supports blobs - if a primary key is given it also support (not yet loaded) blobs and long text data fields
* Effectively halve connection lag for queries, speeding up all queries and so ↵rowanbeentje2009-06-082-17/+114
| | | | | | | | | | | | interface responsiveness. - Rework [CMMCPConnection queryString:usingEncoding:] to no longer check the connection before every query. This removes a ping from the equation and therefore effectively halves connection lag. - Move the actual query to a thread (note this is *not* the long-desired multithreading!) to still correctly cope with http://bugs.mysql.com/bug.php?id=9678 . As soon as we upgrade the MySQL client libraries this can be removed, the code simplified, and a further processing speedup will be seen. - When testing a ~10,000 row CSV import (=10,000 queries), the following speedups were observed: - Local server, socket connection: 1.2x speedup - Remove server, 30ms ping: 1.85x speedup Slower connections will observe the biggest benefit from this commit.
* • improved "Copy as SQL INSERT" (still hidden)Bibiko2009-06-074-5/+15
| | | | • disabled "Copy with Column Names" if Custom Query editor is active
* • improved "Copy as SQL INSERT" (still hidden - can be tested if the menu ↵Bibiko2009-06-073-17/+59
| | | | item is set to 'not hidden' in the MainMenu)
* Further SSH tunnel improvements:rowanbeentje2009-06-066-14/+91
| | | | | | | | - Redesigned SSH key authentication dialog - Added ability to add SSH key passphrases to keychain (sharing details with system SSH) - SSH tunnels with keys which fail are now correctly restarted, interacting with the GUI as necessary - GUI interaction now performed on the main thread for increased stability
* • moved macros enumerate() and sizeOf() to sequel-pro_Prefix.pchBibiko2009-06-066-29/+131
| | | | | | • added to SPArrayAdditions.m - (NSArray *)subarrayWithIndexes:(NSIndexSet *)indexes • added "Copy as SQL INSERT" to MainMenu (not yet activated) • added to CMCopyTable - (NSString *)selectedRowsAsSqlInserts for copying selectedRows as INSERT INTO ... string (under constructions, up to now it works for strings)
* • improved: sped up removing the background color for query highlightingBibiko2009-06-062-2/+11
| | | | • added: DELIMITER to the completion suggestions
* - Fix some manual memory releases in r820 which llvm/clang has ↵rowanbeentje2009-06-051-8/+2
| | | | | | | misidentified (an autorelease is already present). - Ensure manually allocated memory is correctly releases
* • added "Select Enclosing Brackets" to each NSTextView (⇧⌘B)Bibiko2009-06-052-0/+87
|
* • added to Editor Preferences:Bibiko2009-06-053-4/+21
| | | | | - "Query Background" color - checkbox "Highlight Current Query"
* • reload table list, database pull-down menu according to user's ↵Bibiko2009-06-056-50/+135
| | | | | | | | | statements in the Custom Query editor if necessary - if statement begins with: use, create, alter, rename, drop • reload table list, database pull-down menu according to imported statements • sped up "Import MySQL Dump" • fixed some tiny issues of the last commit
* Fixed some memory leaks found using llvm/clang. There are still some to fixbamse162009-06-0510-32/+55
|
* - visual improvements to the graphviz dot file outputmtvee2009-06-051-7/+6
|
* - Added toolbar icon for table relations.avenjamin2009-06-051-5/+31
| | | | - some TableDocument code cleanup
* - added schema export to basic graphviz dot filemtvee2009-06-052-0/+142
|
* - Make memory management for SSH tunnels explicit to improve thread ↵rowanbeentje2009-06-051-7/+21
| | | | | | | interaction and reduce crashes - Add Command-. shortcuts for cancel buttons on SSH dialogs
* Further SSH tunnel improvements:rowanbeentje2009-06-053-38/+122
| | | | | | - SSH Public/private keys are now supported, even if they are password-protected. The user and password fields can be left blank where appropriate. - SSH yes/no queries (ie host key mismatch) and password requests (eg key passphrases) dialogs now automatically resize to match the content from the SSH process.
* • added: the "Show Create Syntax" window now follows the selection in the ↵Bibiko2009-06-044-3/+22
| | | | | | table list if it was already opened • commented out the NSLog "not parsed" in SPTableData.m
* • added: syntax highlighting to the HUD window "Show Create Syntax"Bibiko2009-06-042-1/+9
| | | | • fixed: context menu item validation for "Show MySQL Help": hide it when no connection to the customQueryInstance is found
* • added the operator LIKE to numeric fields in the content browserBibiko2009-06-041-2/+7
| | | | - this fixes issue 270
* • fixed typo for "Select Active Query" key-binding ^Y not ^QBibiko2009-06-041-2/+2
|
* • fixed: suppress highlighting of the current query if something is selectedBibiko2009-06-044-3/+37
| | | | • added: "Select Active Query ^Y" context menu item to the Custom Query Editor
* • simplified quertAtPosition:Bibiko2009-06-042-214/+100
| | | | | | • added queryRangeAtPosition: method because this is needed also for other purposes • moved the commands for highlighting the current query from queryAtPosition: to textViewDidChangedSelection: (where it belongs to) • some minor changes in error highlighting code
* • updated queryTextRangeForQuery: method to make usage of the new SQLParserBibiko2009-06-041-15/+11
|
* • added support for the “delimiter” commandBibiko2009-06-045-220/+399
| | | | | | | | | | | | | | - added (NSArray *) splitSqlStringByCharacter:(unichar)character; (NSArray *) splitSqlStringIntoRangesByCharacter:(unichar)character; (long) firstOccurrenceInSqlOfCharacter: to the SQLParser which recognize a “delimiter” command • queryAtPosition now works with ranges to speed it up - the current query ranges resp. the just activated query range are cached in order to avoid parsing if the user only navigates through the textView buffer, or if the user calls Run Prev/Current Query only • the "import dump" function makes usage of that new “delimiter” support - i.e. dumps with procs/funcs declaration could be imported IMPORTANT: Please check the new SQLParser exhaustively in order to prove that new approach
* Added print accesory view with option to Print Backgroundsbamse162009-06-045-0/+82
|
* - SSH Tunnel - PubKey Authenticationavenjamin2009-06-041-0/+1
|
* Further SSH tunnel improvements, password handling improvements, and minor ↵rowanbeentje2009-06-049-110/+273
| | | | | | | | | | | | | bugfixes: - SSH tunnels can now correctly show dialogs for ssh queries, eg host key mismatches - SSH tunnels are now correctly closed by the document for connection failures - Keychain password item name and account generation has been moved to within the keychain class, to centralise generation for consistency - Keychain item names and accounts now correctly deal with nil values, allowing more keychain items to be read - "Add to favorites" button and menu item now correctly store passwords and SSH tunnel settings - Duplicating favorites in preferences now selects the newly created favorite instead of deselecting everything - Fixes an occasional crasher sometimes encountered in keychain usage
* Various enhancements to relation functionality, including:stuconnolly2009-06-033-221/+235
| | | | | | | - Only presenting valid tables for possible relations, that is InnoDB tables. - Only presenting valid columns for possible relations, that is columns of the same data type. - Loads of interface validation.
* - fixed bug with changing extra to auto_increment for a columnmtvee2009-06-032-2/+2
| | | | - small mem release issue in CMMCPConnection
* - Fix SSH tunnels on PPCrowanbeentje2009-06-032-1/+11
| | | | | | - Improve general SSH tunnel stability and automatic reconnection on failure - Improve handling of failed SSH tunnel passwords
* - Fix SSH tunnel treatment of temporary (non-Keychain) passwords by ↵rowanbeentje2009-05-291-1/+1
| | | | correctly comparing hashes and not hash pointers (!)
* - SSH tunnel now correctly uses placeholder/default port numbersrowanbeentje2009-05-291-1/+1
|