aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* • added SPDataCellFormatter to data cells of the Custom Query tableBibiko2009-06-232-26/+35
| | | | | | | | • in Content Browser send only the first 255 bytes to the cell formatter (makes it a tick faster) • fixed for editing in Content Browser if row contains binary blob data: - use = instead of LIKE operator in UPDATE statement - binary data will converted into X'...' representation
* • moved dataToHex as dataToFormattedHexString from TableContent to ↵Bibiko2009-06-234-91/+90
| | | | SPDataAdditions in order to you that method in different classes
* • added to the CustomQuery class the multipleLineEditingButton IBOutletBibiko2009-06-231-0/+1
|
* • fixed: make usage of backtickQuotedString to allow table names ↵Bibiko2009-06-233-60/+82
| | | | | | containing a ` • some minor code cleaning and commenting
* - Improve r911 (initial Custom Query editability) to allow editing of rows ↵rowanbeentje2009-06-221-13/+13
| | | | containing NULL values and editing data in tables with names containing backticks
* • first trial to make the result table in the Custom Query editable for ↵Bibiko2009-06-222-45/+225
| | | | such fields which can be identified bijectively by the given table data
* - Improve support for MySQL running in ANSI mode (or ANSI_QUOTES), fixing a ↵rowanbeentje2009-06-221-39/+41
| | | | cause of the content tab not loading for some users
* • fixed: ⌘R activated Table Info if Structure Pane is shown. Change to ⌘4.Bibiko2009-06-221-6/+10
|
* • improved: "Copy as SQL INSERT" in Custom Query passes the original table ↵Bibiko2009-06-221-6/+23
| | | | name (not that one defined via "AS") if the result columns' table source is the same, otherwise <table>.
* • first steps to synchronize CustomQuery table and ContentTableBibiko2009-06-224-8/+90
| | | | | | - CustomQuery table now allows to copy selected rows as SQL INSERT (table name is set to "<table>" - if a field is a blob display only the first 255 bytes/chars in the CQ table for speed reasons - blob fields in CQ does not listen to the pref setting for "LoadBlobsAsNeeded" because it could happen that no one-to-one relation to their original data will be found
* - Allow connections via SSH tunnels to reattempt using the specified host ↵rowanbeentje2009-06-217-41/+418
| | | | | | | | | if 127.0.0.1 was retried automatically. - Store the SSH debug logs and allow viewing on connection error - Clean up CMMCPConnections on connection failure - Fix connection keepalive instantiation
* • changed: if the current edited field is a "ENUM" fieldBibiko2009-06-211-1/+5
| | | | | - show NULL in the combobox only if NULL value is allowed for the current field - display NULL value according to prefs' setting for NULL value
* Update the new 'Edit Table Details' button tooltipstuconnolly2009-06-211-69/+17
|
* • some code cleaning and tiny performance enhancements for various ↵Bibiko2009-06-213-84/+100
| | | | for/while loops
* Issue #305 now fully resolved, remove debug.stuconnolly2009-06-211-3/+1
|
* Sparkle delegate methods doesn't seem to be getting called, so set the ↵stuconnolly2009-06-212-9/+6
| | | | delegate globally.
* Typo, should be the sheet not the window.stuconnolly2009-06-211-2/+2
|
* Fix for issue #305. Close all sheets attached to all open windows just ↵stuconnolly2009-06-212-2/+35
| | | | before Sparkle relaunches the app.
* • some code cleaning and tiny performance enhancements for syntax highlightingBibiko2009-06-212-39/+41
|
* • queryString: code cleaning and processing each encoding equallyBibiko2009-06-193-30/+39
| | | | | | | | - Since we are using mysql_real_query() there is no need to generate a \0 terminated cString. - The disadvantage of using UTF8String is that it returns NULL if the encoding fails. - To process each encoding equally we can now use [NSString dataUsingEncoding:enc allowLossyConversion:lossy]. In oder to avoid the overhead while calling it the following inline function is introduced: NSStringDataUsingLossyEncoding(aStr, enc, lossy) := [aStr dataUsingEncoding:enc allowLossyConversion:lossy] • import of CSV: code cleaned and optimized for speed a little
* • added: SPDataAdditions.mBibiko2009-06-195-68/+152
| | | | | | | - base64EncodingWithLineLength: • improved printing of blobs which contain image data - not it supports PDF preview - set maximum width to 100px or less
* Fix for issue #285. Also tidy up the add/change row method including ↵stuconnolly2009-06-191-42/+83
| | | | friendlier error message dialogs.
* • added to TableContent.m:Bibiko2009-06-193-1/+121
| | | | | | | | - (NSArray * )currentDataResult -- like currentResult but returns "BLOB" for blob data and a base64 encoded string for images à la <IMG SRC="data:image/auto;base64,"> - (NSString * ) base64EncodingOfData:(NSData * )data withLineLength:(unsigned int)lineLength -- it returns a base64 encoded string of data • changed: currentDataResult is now called for printing from the Table Content Browser
* Accommodate all MySQL versions when getting the list of storage engines.stuconnolly2009-06-192-5/+74
|
* • added: by holding ⌘, ⇧, or/and ⌥ dragged selected rows will be ↵Bibiko2009-06-191-2/+10
| | | | copied as SQL INSERTS (up to now only in table content browser)
* • fixed: avoid displaying µs for query execution timeBibiko2009-06-191-3/+7
| | | | | - minimum resolution now is set to 0.1ms - display “< 0,1ms” if time is less than minimum resolution
* • added support to drag&drop textClipping files to Custom Query Editor and ↵Bibiko2009-06-193-4/+25
| | | | | | | to editSheet • fixed tiny issue for narrow-down completion
* • added to SPArrayAdditions.h: NSArrayObjectAtIndex() inline functionBibiko2009-06-1818-215/+187
| | | | | | | | | - id o = NSArrayObjectAtIndex(anArray, index) :== id o = [anArray objectAtIndex:index] - this speed up it ~3µs per call - replaced that inline function for such calls within loops to speed up them • used IMP function pointers for keepAlive calls within queryString: • set -O3 (Fastest) compiler option • allow in preference pane "Tables" to set the Limit up to 50000
* • introduced inline function NSStringUTF8String() to SPStringAdditions.hBibiko2009-06-183-5/+22
| | | | | | - NSData *d = [aStr UTF8String]; :== NSData *d = NSStrignUTF8String(aStr) but a tick faster • implemented NSStringUTF8String() in queryString: and for the lex parser (syntax highlighting)
* Added new logging options to preferences.avenjamin2009-06-181-33/+396
| | | | Will be implemented in near future.
* • further tiny improvements for queryString's speedBibiko2009-06-182-4/+15
| | | | | | - cStringFromString function pointer is cached - if utf8 encoding make usage of UTF8String but implemented inside of queryString (otherwise no effect) • tiny code cosmetics
* • added: init consoleLoggingEnabled: for new connectionBibiko2009-06-181-0/+3
|
* Fix missing Growl Notification prefs alert messageavenjamin2009-06-181-0/+0
|
* • added to CMMCPConnection: observeValueForKeyPath:@"ConsoleEnableLogging"Bibiko2009-06-182-2/+15
| | | | | | - now [delegate willQueryString:] will only be called if user set ConsoleEnableLogging to YES (~8% faster) --Note: this option to disable logging should be placed in the Import dialog with default = NO for importing as well
* • some tiny improvements to speed up queryString:Bibiko2009-06-188-30/+49
| | | | | | | | | - cache the function pointer for delegate willPerformQuery: - if Console Log window is NOT visible suppress reloadData and scrolling to last line (this speeds it up remarkably); if user opens the Console log window it will be synchronized - timeIntervall for execution time will be divide by CLOCKS_PER_SEC in [NSString stringForTimeInterval] - removed for utf8 enc in cString the return UTF8String (no significant difference) • now execution time shows only the time for mysql_real_query
* • some improvement to speed up queryString:Bibiko2009-06-173-10/+26
| | | | | | | - caching of delegate && respondsToSelector - use clock() to calculate query's execution time • converting to cString: if utf8 encoding make usage of UTF8String • added to StringAddition to display µs for a timeIntervall
* • changed regex of trigger a reload of table/db according to executed queriesBibiko2009-06-171-3/+4
| | | | | - now it also recognizes such keywords with leading comments - still further improvements are needed
* • in r801 the code for inserting a new field containing a PRIMARY KEY ↵Bibiko2009-06-171-9/+19
| | | | | | | after the selected one was commented out - it's fixed now - improved code to ensure that in this case AFTER ... will be only appended for a new field
* Significant connection improvements:rowanbeentje2009-06-172-35/+98
| | | | | | | | | | - Restored MySQL 3 compatibility - max_packet_size details are now cached per connection for query speedup and to fix network recovery problems - Improved disconnection recovery - Errors during results fetching are correctly detected for the first time - Error strings are now correctly set in several places - The correct number of rows affected is now returned for queries which triggered reconnects or max_packet_size increases
* • added to CMMCPConnection:Bibiko2009-06-162-20/+81
| | | | | | | | | | | - register notification "SMySQLQueryWillBePerformed" to be able to identify the sender of the current query - (void)willPerformQuery:(NSNotification *)notification -- receives the "SMySQLQueryWillBePerformed" notification -- if CustomQuery was the sender retryAllowed will be set to NO • changed: now using mysql_real_query() because we've already calculated the length of the current query • changed: now the query length will be checked in beforehand against max_allowed_packet - if max_allowed_packet is editable increase it and reconnect - if not outputs an informative error alert
* • fixed: "Duplicate field" will be disabled explicitly if selected table ↵Bibiko2009-06-161-4/+6
| | | | is not a BASE TABLE
* • changed the behaviour of the "Duplicate Field" button in TableSource:Bibiko2009-06-162-33/+15
| | | | - if no field definition is selected "Duplicate Field" copies the last field structure defined in the table
* • fixed: if the user tries to delete the last defined field in a given ↵Bibiko2009-06-161-0/+18
| | | | table show an alert saying that this isn't allowed
* Rework queryString:withEncoding:, and ensure memory is correctly released ↵rowanbeentje2009-06-152-38/+88
| | | | | | | | | | | where used in our overwrites: - Check allocated memory and ensure it is released in our code - Consolidate code controlling both an initial query and any retries following connection failures - Perform additional checking to ensure a connection error was the cause - Correctly capture any result sets after the max_allowed_packet setting was changed - Check and cache the error strings and numbers for the intended queries, not any helper queries, and return them when requested.
* Move the QuickLook interface to its own header file.stuconnolly2009-06-155-94/+128
|
* • subclassed the editSheet textViewBibiko2009-06-155-28/+381
| | | | | - added drag&drop feature of file content or path resp. - added feature to in/decrease font size via ⌘+/- or two-finger zoom gesture
* • different log message for changing max_allowed_packet for increasing it ↵Bibiko2009-06-154-20/+39
| | | | | | | | and for resetting it (a bit more transparent info) - now also check the delegate if queryGaveError: method is implemented • while adding/updating a row to the db Table Content's pane now indicates that process better via spinning wheel • after TRUNCATE TABLE reload that table content
* Replace the change table type button with an edit button that switches the ↵stuconnolly2009-06-153-353/+95
| | | | current view to the table info pane.
* Implementation of enhancement #273: Allow user to truncate table by right ↵stuconnolly2009-06-154-59/+151
| | | | clicking.
* • deleted the drag&drop feature of file path or content from ↵Bibiko2009-06-156-180/+187
| | | | | | | | | | | SPTextViewAdditions - that feature should be added by subclassing NSTextView • fixed focus setting of editSheet • fixed general issue if SP tries to execute a query which is longer than max_allowed_packet - now it reconnects after changing max_allowed_packet (if it's editable) - the user will be informed via a log entry about that change - the new max_allowed_packet size will be valid during the current session; after reconnection to that db the default size will be used