| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
cache within getNumberOfRows after the discovery of much larger issue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Includes all custom code from subclasses CMMCPConnection and CMMCPResult, meaning they have subsequently been removed from the project.
- All previous Sequel Pro specific code in the above subclasses has been removed in favour of the delegate (currently set to TableDocumet) informing the framework of such information.
- All references to CMMCPConnection and CMMCPResult have subsequently been changed to MCPConnection and MCPResult.
- Framework includes MySQL 5.1.36 client libraries and source headers.
- Framework is now built as a 4-way (32/64 bit, i386/PPC arch) binary.
- All import references to <MCPKit_bundled/MCPKit_bundled.h> have been changed to <MCPKit/MCPKit.h>.
- New script 'build-mysql-client.sh' can be used to build the MySQL client libraries from the MySQL source. See the script's header for a list of available options or run it with no arguments to display it's usage.
Note that there are still a few changes to be made to the framework with regard to removing Sequel Pro specific calls to the delegate. These however can be made later on as they have no effect on functionality and are merely design changes.
Also, note that any future development done on the framework should be made to be as 'generic' as possible, with no Sequel Pro specific references. This should allow the framework to be integrated into another project without the need for SP specific code.
|
| |
|
|
|
|
|
| |
• added: spinning wheel background image
• removed warning in TableContent (unused 'j')
|
|
|
|
| |
than LIKE, so the quote methods were incorrect. We now use standard escaping without additional LIKE preparation. This resolves Issue #338
|
|
|
|
|
|
|
|
|
| |
addressing the first part of #209:
- For the first column linked by each foreign key, display a link arrow within the table cell
- When clicking on the link arrow, select the reference table and set the table filters to select the clicked value
- Also uses the table cell subclass to allow the entire cell to be editable, not just the contained text (addresses #250)
|
|
|
|
|
|
| |
- added the feature to set "isEditable"; according to "isEditable" GUI elements will be hidden or renamed
- if no blob data reduce the minimal sheet size since no segment or quicklook control is needed
|
|
|
|
| |
• deleted in DBVview.xib Field Editor Sheet (out-sourced)
|
|
|
|
|
|
|
|
|
|
| |
be closed when the window is closed, freeing the document's memory
- Update a number of dealloc methods to include more retained memory, and to avoid releasing non-retained memory
- Remove notification observers and delegates where appropriate to avoid issues after document closing
- Fix a couple of memory leaks
- Support window cascading for all windows past the first, using the first window as the autosave window
|
|
|
|
|
|
|
|
|
|
|
|
| |
arrays, and make some editable CustomQuery improvements:
- Switch to using arrays for row storage rather than dictionaries. Use the data column index for table column identifiers.
- This fixes Issue #316 and also allows sorting by all custom query result columns using a column index rather than the name
- Offers significant speed and memory advantages: result building is now 2x-3x faster, memory used for results storage is 30-40% lower, and result access is slightly faster. (Note full 2x-3x speed results won't be seen - result fetching and mysql binary work isn't included in the timing)
- No longer need to fetch the first column of data for tables containing only blob types
- Correctly escape strings when editing CustomQuery results
- Rewrite NSArrayObjectAtIndex to use the native CFArrayGetValueAtIndex rather than cached selectors - neater code and I think slightly faster
|
| |
|
|
|
|
| |
isn't deselected to prevent accidental loss of entered data
|
|
|
|
| |
by returning YES by default.
|
|
|
|
| |
Completes the implementation of issue #139 as all views now have contextual menus.
|
|
|
|
|
|
| |
- 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)
|
|
|
|
|
|
| |
- (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
|
|
|
|
| |
didEndSelector: of an other sheet
|
|
|
|
|
|
|
|
| |
• 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
|
|
|
|
| |
SPDataAdditions in order to you that method in different classes
|
|
|
|
|
| |
- 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
|
|
|
|
| |
for/while loops
|
|
|
|
|
|
|
| |
- base64EncodingWithLineLength:
• improved printing of blobs which contain image data
- not it supports PDF preview
- set maximum width to 100px or less
|
|
|
|
|
|
|
|
| |
- (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)
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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 )
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
• disabled "Copy with Column Names" if Custom Query editor is active
|
|
|
|
| |
item is set to 'not hidden' in the MainMenu)
|
| |
|
|
|
|
| |
- this fixes issue 270
|
| |
|
| |
|
| |
|
|
|
|
| |
value is NULL (fixes Issue #229)
|
| |
|
|
|
|
| |
- committing Source
|
|
|
|
| |
count.
|
|
|
|
|
|
|
| |
would be greater than the total number of rows of the current table
• FIXED: if the user enters into "Limit from" a number which is greater than the total number of rows of the current table, show the last pref's "limitRowsValue" number of rows instead
• FIXED: if the user has already filtered the current table by specifying "Limit from" > 1 and afterwards the user applied a new filter the filtering will be repeated for LIMIT 0, "limitRowsValue" if nothing was found
|
|
|
|
| |
start and end
|
|
|
|
| |
tables which have already seen a column resized in the past. Looks like r389 incorrectly used arrays instead of dictionaries when cleaning up a memory leak.
|