| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
- Change MCPConnection.m to no longer use a reference to tableWindow to attach sheets - instead use a delate error display method if available
- Rework TableSource and TableContent sheetDidEnd methods into per-task methods rather than overloading contextInfo
- Rework SPAlertSheets to perform actions on the main thread, with the loss of (unused) support for a didDismissSelector. This addresses a number of crashes logged by the crash reporter
|
|
|
|
| |
this addresses Issue #666
|
|
|
|
| |
[MCPConnection affectedRows] returning -1. Fixes issue #654.
|
| |
|
|
|
|
| |
last row in the table
|
|
|
|
|
| |
- update row count after pressing escape when editing a new row
|
|
|
|
|
|
|
|
| |
standardise current view-commit-checks to use that
- Add checking of that status to history navigation (fixing http://spbug.com/l/127 ) and window closing (fixing http://spbug.com/lr/263 )
- Improve thread safety/deferred actions in TableContent
|
|
|
|
| |
http://spbugs.com/l/120
|
|
|
|
|
|
|
|
| |
safe. From now on, always use [self lockConnection] rather than [queryLock lock], independent of what thread you are running on
- A warning is written to the console when the connection is unlocked multiple times (to identify potential race conditions)
- modified MCPStreamingResult to ensure it only closes the connection once
- added a check to prevent arrow key navigation past the last row
|
|
|
|
| |
to NULL and loads blobs
|
|
|
|
| |
connection locking issues, addressing Issue #634
|
|
|
|
|
| |
- enter key ends editing and saves row now rather than going to the next cell
- fixed a bug that occured when clicking the delete/duplicate button while editing a cell
|
|
|
|
|
|
|
| |
- Add more calls to deregister watchers to fix crashes to closing threads or objects
- Fix a couple of memory leaks
- Alter a few calls to be performed on main thread (afterDelay: operates on the thread is is called on) - this fixed database reloading after import and field/index deletion error sheets
|
|
|
|
| |
rows from a table.
|
|
|
|
| |
by using copies of data store objects when the data store is being updated. This addresses http://log.sequelpro.com/view/20 and http://log.sequelpro.com/view/88
|
|
|
|
| |
selected, make sure to check that the value returned is not nil/NULL before we perform any regex with it. Fixes exception http://log.sequelpro.com/view/95.
|
|
|
|
| |
favorites (Thanks Hans).
|
|
|
|
|
|
|
| |
returning nil if no error occurred (previously a blank string was returned most of the time)
- Add a new (BOOL)[MCPConnection queryErrored] method, changing all error message checks to use it for clarity
|
|
|
|
|
|
|
|
|
|
| |
code for selecting databases and tables. Clean up database selection to use this new method, and avoid reloads when re-selecting the same database.
- Convert the history controller to use this new call. This fixes history behaviour when a table list filter was active.
- Convert the (hidden) navigator to use this new call. This fixes timing issues.
- Make some thread safety tweaks to TablesList.
- Change TablesList selectTableOrViewWithName: to selectItemWithName:, including procs etc.
|
|
|
|
|
|
|
|
| |
- if a parsed row in the csv file doesn't have the same number of columns as the first row fill the missing columns with SPNotLoaded to allow while importing that these missing data can be replaced by the table column's DEFAULT value
- fixed tiny issue for field mapper sheet to display the correct tooltip for default values
• SPTableData
- ATTENTION: changed the object for returned key 'default': if its value is NULL now it returns a [NSNull null] object
- changed instances to handle this [NSNull null] object (must be checked)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NSObjects to easily proxy commands onto the main thread with any number and type of arguments.
- Use the new trampoline and other thread safety tweaks to hopefully address a number of what appear to be threading issues:
http://log.sequelpro.com/view/20
http://log.sequelpro.com/view/32
http://log.sequelpro.com/view/41
http://log.sequelpro.com/view/42
http://log.sequelpro.com/view/55
http://log.sequelpro.com/view/64
http://log.sequelpro.com/view/65
http://log.sequelpro.com/view/66
|
|
|
|
| |
content view which exceeds a set number of rows. This number is currently set to 1000 which can be changed via the hidden preference key 'PrintWarningRowLimit'. The approach to cancelling the print HTML generation thread may also need to be re-implemented to ensure that it is killed straight away, something that is currently not possible using NSThread. Rowan suggested using pthreads instead, but this should be discussed in terms of potential memory leaks and stability.
|
|
|
|
|
|
|
|
|
| |
crashes: prevent multiple disconnects, add more checks, cancel current queries, and add a tiny delay to allow mysql cleanup.
- Alter MCPStreamingResult to no longer return a retained instance, setting up correct result disposal on autorelease but changing callers to retain as soon as they receive.
- Review and change a number of local variables shadowing/shielding other local or global variables.
|
|
|
|
| |
variables, a few leaks, and additional nil setting/checking to prevent overreleases or releases of random areas of memory.
|
|
|
|
|
|
|
| |
value in another table (this addresses http://log.sequelpro.com/view/53 )
- Fix filtering within the same table when following foreign key relationships
|
|
|
|
|
| |
- select first textfield for 1 or 2 argument(s); if no argument field is selectable select compareField
- ensure the focus setting by calling "makeContentFilterHaveFocus" via performSelector:afterDelay
|
|
|
|
| |
ensure the bezel and spinner are removed from view. Fixes issue #570.
|
|
|
|
| |
the content view and places the focus on the filter field.
|
|
|
|
| |
requests changs be discarded
|
|
|
|
|
|
|
|
|
|
| |
value (no sheet)
• "Delete all records" confirmation sheet shows a checkbox "Reset AUTO_INCREMENT after deletion" if PRI key is given for that table
• minimized table data querying for auto_inc
• optimized auto_inc change notification
• if user changes tabVIew to Table Info Pane update data in beforehand
• TRUNCATE query updates auto_inc value as well in TABLE INFORMATION
|
|
|
|
|
|
| |
- Move foreign key reference loading into it's own task and set state modification markers to allow it to override the table state history
- Rename modifyingHistoryState to modifyingState now the usge has broadened slightly
|
|
|
|
| |
from last commit r1824 since that part should be moved maybe into SPTableTextFieldCell
|
|
|
|
|
|
|
|
| |
table columns are reordered by the user
• initial transition to insert via - up to now - ^⇧N a [NSNull null] object into the table's data source directly without parsing a possible @"NULL" string
- it's a first test
- and works only for CMCopyTable subclassed tables
|
|
|
|
| |
correctly if no ${} argument is passed
|
|
|
|
| |
whether the leading <field> placeholder should be suppressed or not in order to be able to write a filter like "LENGTH($CURRENT_FIELD)>${}"
|
|
|
|
|
|
|
|
|
|
|
| |
functions (off by default). Remove the forked "...Sql..." functions, as they're now duplicates, and switch CustomQuery to using the original methods.
- TableDump imports can now process DELIMITERs correctly as a result.
- Alter the TableDump display of tables etc to use TablesList as the source of information, and used cached lists where appropriate for a small speedup. Also means we gain consistent sorting.
- Display procedures and functions in the toggleable list when exporting as SQL
- Tweak the procedure and function export to only export selected items, and also to respect the "export drop syntax" and "export create syntax" checkboxes
- Fix a crash when removing items from the TablesList resulted in an errorneous selection by deselecting all rows before deleting (and preemptively applying the same fix to TableContent)
|
|
|
|
|
|
|
| |
field if the actual underlying table doesn't exit anymore; now it informs the user, clean the view, and reloads the Table List
• improved error handling in Content View for refreshing data for the current table if the table doesn't exist anymore
- this fix and the fix in [TableContent setCompareTypes:] to check for valid table data removes some NSPlaceholderString and NSScanner warnings
|
|
|
|
|
|
| |
the same font/size as the table cells
• CMTextView: make sure that some methods are never called if the CMTextView is set to 'not ediable'
|
|
|
|
|
|
|
|
| |
textviews
• added Preference setting "Table font" in "Table" pane to set the table font/size for all result tables (Content, Custom Query)
• added to SPTableView the method setFont:
• fixed the initialisation of vars in CMTextView (fixes the displaying of create syntax)
|
|
|
|
|
|
|
|
|
|
| |
- Reverse the effects of the r1664/r1690 combination, restoring the original link from CMCopyTable to the underlying data source
- Adapt the code to retrieve information from the new SPDataStorage; update SPDataStorage as necessary if underlying data changes
- Refactor and speed up various checks and loops for speed and logic improvements
- Ensure the binary-encoded TEXT data is hex encoded rather than retrieved as "<123ABC 123ABC...>" NSData representations
- Fix some memory leaks
This resolves Issue #533 and the original "Copy as SQL" issue
|
|
|
|
| |
to avoid unstable tooltip status
|
|
|
|
| |
longer matched the internal table representation, table storage exceptions would occur. Additional checks are now made against the column count; if a content result set is retrieved with an unexpected number of columns, the result set is discarded and a full table refresh is triggered to restore the state.
|
|
|
|
|
|
|
|
|
| |
- Set error strings on MCPConnection on user disconnect to allow existing error chcking to catch the state
- Improve close behaviour from threads
- Improve window close behaviour and appearance
- Add new checks for disconnection in one or two crash-prone locations
This addresses Issue #531, one of Issue #532, one of Issue #539, and probable reported crashes on Issue #541.
|
|
|
|
|
|
| |
- Fix incorrect uses of [NSString stringWithFormat:] with preconstructed strings and no arguments in SPUserManager
- To fix display issues, replace NSBeginAlertSheet (which includes automatic sprintf expansion of the message) with a safely-escaped SPBeginAlertSheet in many files
|
| |
|
|
|
|
|
|
|
|
| |
- SPDataStorage is a class designed for a 2D array of fixed-width data storage, replacing the current method of nested NSMutableArrays. NSFastEnumerator compatible.
- Overall memory overhead for table storage in memory reduced by 1.2-1.4x - this almost gains back the large memory jump seen for 64 bit
- Some operations (adding data, retrieving a single cell's data) are faster than nested NSMutableArrays; some operations (requesting a row as an NSArray) are slightly slower as the data needs to be converted, but overall result is a slight speed gain.
(- Could be used in future to store SQL results in C datatypes, avoiding very high NSObject overhead for numbers and short strings)
|
|
|
|
| |
certain conditions
|
|
|
|
|
|
|
| |
filtering is occurring, just pagination
- If the table count is estimated (eg InnoDB), but the end is reached via pagination, make the row count accurate based on the known number of rows
|
|
|
|
|
|
|
| |
behaviour to escape _ % automatically since it could be confusing to the user because it uses LIKE '%...%'
• reimplemented: scroll to newly added row in Content View
|
|
|
|
|
|
|
|
| |
- Change the error dialog buttons to "Edit row" and "Discard changes" instead of "OK" and "Cancel"
- Correctly refocus the deselected row
- Edit the first cell in the row after errors.
- Fix row deselection and error handling on the Table Source view
|