aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* • changes in editSheet:Bibiko2009-06-243-12/+75
| | | | | | - generate Hex representation on demand (this speeds up the working with images enormously) - added support to paste image data via the pasteboard (data are stored as TIFF LZW compressed) - if user switched to an other view (text/iamge/hex) that view will be become first responder explicity (fixes an issue that the Open button got the focus sometimes)
* Implement some of the points suggested in issue #309:stuconnolly2009-06-241-14/+14
| | | | | | - All menu items which show a panel of some kind before completing the action need to have "..." after the menu item name. - All menu items which do something destructive (drop table, truncate table) need to default to the CANCEL button in their alert message.
* • tried to unify the displaying of error messages (mainly converted them ↵Bibiko2009-06-242-11/+29
| | | | | | | | into sheets) • changed the alert for "Truncate table" - "Are you sure you want to delete ALL table records in the..." • added BWToolkitFramework copyright notice to credits.rtf
* - Tweak to table relations to allow data refreshing to optionally clear the ↵rowanbeentje2009-06-231-28/+37
| | | | master data cache; removes the duplicate CREATE TABLE command on table load, reducing overall queries and so improving speed further
* • added to SPDataAdditions:Bibiko2009-06-234-67/+48
| | | | | | - (NSString *) shortStringRepresentationUsingEncoding: --mainly used for displaying large blob data in a tableView • tiny speed improvements for tableView:objectValueForTableColumn and tableView:setObjectValueForTableColumn in Content Browser and Custom Query
* • fixed several problems for alerting an error sheet inside of a ↵Bibiko2009-06-234-10/+46
| | | | didEndSelector: of an other sheet
* - Add BWToolkit Framework to allow for better control over some UI elementsavenjamin2009-06-231-49/+49
| | | | | | | - Add TABLE INFORMATION toggle button - shows/hides pane - Used new UI elements in Copy Table Syntax HUD window - Misc other changes - NOTE: more splitview changes to be made
* • fixed issue while editing an field cell in Structure View select an ↵Bibiko2009-06-231-28/+36
| | | | | | | other table • fixed issue while moving a field description row in Structure View that "Extra" field content wasn't moved • fixed issue that "Extra" field content was appended without leading space in "addRowToDB"
* • fixed issue for showing an error alert sheet inside of a endSheet ↵Bibiko2009-06-232-6/+27
| | | | | | | | | selector of an other sheet: - introduced -(void)showErrorSheetWithTitle:(id)error -- error is an array of title and message - this can be called via [self performSelector:@selector(showErrorSheetWithTitle:) withObject: afterDelay:] - this avoids a crash of the current table window
* • 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
* • 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-216-30/+122
| | | | | | | | | 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
* • 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-211-1/+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-211-0/+22
| | | | 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-194-68/+146
| | | | | | | - 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-1816-125/+164
| | | | | | | | | - 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)
* • 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
|
* • 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-161-5/+12
| | | | - 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-154-94/+118
|