| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
- base64EncodingWithLineLength:
• improved printing of blobs which contain image data
- not it supports PDF preview
- set maximum width to 100px or less
|
|
|
|
| |
friendlier error message dialogs.
|
|
|
|
|
|
|
|
| |
- (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
|
| |
|
|
|
|
| |
copied as SQL INSERTS (up to now only in table content browser)
|
|
|
|
|
| |
- minimum resolution now is set to 0.1ms
- display “< 0,1ms” if time is less than minimum resolution
|
|
|
|
|
|
|
| |
to editSheet
• fixed tiny issue for narrow-down completion
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
- NSData *d = [aStr UTF8String]; :== NSData *d = NSStrignUTF8String(aStr) but a tick faster
• implemented NSStringUTF8String() in queryString: and for the lex parser (syntax highlighting)
|
|
|
|
| |
Will be implemented in near future.
|
|
|
|
|
|
| |
- cStringFromString function pointer is cached
- if utf8 encoding make usage of UTF8String but implemented inside of queryString (otherwise no effect)
• tiny code cosmetics
|
| |
|
| |
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
- now it also recognizes such keywords with leading comments
- still further improvements are needed
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
is not a BASE TABLE
|
|
|
|
| |
- if no field definition is selected "Duplicate Field" copies the last field structure defined in the table
|
|
|
|
| |
table show an alert saying that this isn't allowed
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
- added drag&drop feature of file content or path resp.
- added feature to in/decrease font size via ⌘+/- or two-finger zoom gesture
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
current view to the table info pane.
|
|
|
|
| |
clicking.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
- this also fixes the issue to play sound files properly
• QuickLook's temp file will be deleted after closing the editSheet to allow double-click at the QuickLook preview for opening it in the default app
• fixed some issues of loading data into the editSheet (data/string recognition)
|
|
|
|
|
|
|
| |
- The correct result set is returned even if extra internal queries are used
- The correct error message is written even if extra internal queries are used
- If the mysql thread is altered as a result of a query - resetting the connection - the encoding details are now restored on the connection
|
|
|
|
|
|
|
| |
- Add view and code to support drawing a connection status icon at the left of the titlebar
- Use for SSH tunnels; completes Issue #114.
- Remove reference to an image resource "j" in the DBView - fixes console log errors.
|
|
|
|
|
|
|
| |
the table (addresses #290)
- Set the default focus correctly on the add index sheet
|
|
|
|
| |
databases containing non-alphanumeric characters. Resolves Issue #292.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
while holding ⌘ path) to SPTextViewAddition
- two finger zooming gesture is disabled for NSTableView cells
- i.e. all NSTextViews including NSTableView cells inherit these feature
• simplified QuickLookFormat IBActions
- added bin/text storing type to each action
• QuickLook animation set to SP's window middle point
• fixed issue that while having an image in editSheet an attribute change (font/size) in the editTextView destroyed the image data
• fix to allow again drag&drop an image to editSheet
• hide text/image/hex segment controll and QuickLook pull down button if user chose multipleLineEditingButton for non-blob fields
• disabled NSLog of print result in TableDocument
|
|
|
|
| |
- TODO: if a row contains large blob data addRowToDb: “sometimes” doesn't get rid of the correct encoding; e.g. inserted into a varchar field a ü; changed the table; went back to the table; the ü is still there; after closing and reopen the connection the ü is shown as two latin1 char.
|
|
|
|
| |
• added the possibility to QuickLook the current data by choosing a data format
|
| |
|
|
|
|
|
|
|
| |
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 )
|