| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
- Select favourites added in preferences
- Scroll to newly added or duplicated favourites in both preferences and connection sheet
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
- (int) getMaxAllowedPacket;
- (BOOL) isMaxAllowedPacketEditable;
- (int) setMaxAllowedPacketTo:(int)newSize;
|
|
|
|
|
|
| |
- Move the new disable query logging to the 'Alerts & Logs' pane.
- Hide the display of the new 'Shortcuts' toolbar item.
|
|
|
|
|
|
| |
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
|
|
|
|
| |
expanded upon to disable different types of queries.
|
|
|
|
| |
and views as a different header color
|
|
|
|
|
|
|
|
|
| |
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 is collapsable
- Export Controller code cleanup
|
| |
|
|
|
|
| |
fk relations
|
|
|
|
|
| |
- 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
|
|
|
|
| |
table structure view did not recognize the change after a reload
|
|
|
|
| |
SPSQLParser usage - fixes errors like closing brackets (")") truncating ENUM/SET definitions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]];
|
|
|
|
| |
calling ShowMySQLHelpForCurrentWord if "Highlight the current Query" is activated.
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
• disabled "Copy with Column Names" if Custom Query editor is active
|
|
|
|
| |
item is set to 'not hidden' in the MainMenu)
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
• 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)
|
|
|
|
| |
• added: DELIMITER to the completion suggestions
|
|
|
|
|
|
|
| |
misidentified (an autorelease is already present).
- Ensure manually allocated memory is correctly releases
|
| |
|
|
|
|
|
| |
- "Query Background" color
- checkbox "Highlight Current Query"
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
| |
- some TableDocument code cleanup
|
| |
|
|
|
|
|
|
|
| |
interaction and reduce crashes
- Add Command-. shortcuts for cancel buttons on SSH dialogs
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
table list if it was already opened
• commented out the NSLog "not parsed" in SPTableData.m
|
|
|
|
| |
• fixed: context menu item validation for "Show MySQL Help": hide it when no connection to the customQueryInstance is found
|
|
|
|
| |
- this fixes issue 270
|
| |
|
|
|
|
| |
• added: "Select Active Query ^Y" context menu item to the Custom Query Editor
|
|
|
|
|
|
| |
• 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
- small mem release issue in CMMCPConnection
|
|
|
|
|
|
| |
- Improve general SSH tunnel stability and automatic reconnection on failure
- Improve handling of failed SSH tunnel passwords
|
|
|
|
| |
correctly comparing hashes and not hash pointers (!)
|
| |
|