| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
• allow to enter the NULL value string even if the cell/field's maximal length is set to less then the actual NULL value string length (eg varchar(3) and NULL value string is @"NULL")
|
|
|
|
|
|
|
| |
- Rewrite TableContent and CustomQuery to store NSNull and SPNotLoaded objects in the data arrays where appropriate, rather than providing string conversion on data load. Faster, simpler comparisons and processing code, slightly lower memory usage, and reduces the chance of bugs caused by inadvertantly processing the string values; we can now also distinguish easily between NULL and "NULL" etc, and further paves the ground for image representations of special values.
- Fix a bug caused by consistent value reloading when editing BLOB/TEXT columns with deferred loading - if editing a row and revisiting an edited cell, the original value was restored; the original value is now only loaded once.
This addresses the rest of Issue #423.
|
|
|
|
| |
'selectedRowEnumerator'
|
|
|
|
| |
(eg selection changes with the arrow keys)
|
| |
|
|
|
|
|
|
| |
- fixed that the table is selectable again
- hitting ENTER/RETURN are enabled only for TableContent and ask the delegate's tableView:shouldEditTableColumn: method for validation
(by doing so a RETURN/ENTER is the same event as a double-click into a table cell for column 0 if table is in non-editing mode)
|
|
|
|
| |
used in CustomQuery
|
|
|
|
| |
definitions in CMCopyTable, the array wasn't being released on subsequent allocations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
containing a `
• some minor code cleaning and commenting
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
- 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)
|
|
|
|
|
|
| |
• 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)
|
|
|
|
| |
issue #233. Thanks to Ben for suggestion.
|
| |
|
|
|
|
|
|
| |
Implementation of copy with column names menu item
Removal of copy column names
|
|
structure.
|