| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Fixed - If you attempt to duplicate a row in tables where blob/text data is present but hidden and there are no
keys, SP correctly pops up the dialog but then continues execution, and so crashes.
Fixed - If the row being duplicated contains NULL data, exceptions triggered by [NSNull length] are thrown, and SP
stops responding.
Thanks to Rowan for code review
|
| |
|
|
|
|
|
|
|
| |
Now, if a field has NOT NULL, the default value is '' (empty string), unless the field is autoincrement,
when we can keep the NULL value.
|
| |
|
|
|
|
| |
- Removed refresh tables menu item - refresh button right beside it.
|
| |
|
|
|
|
| |
affected" / "6 rows affected" rather than "1 row(s) affected"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use method caches for oft-called functions, and support caching of chunks of the underlying string for string walking, resulting in an overall 1.3x-1.4x parsing speedup.
- Improve handling of multi-character comment starts (eg / or -) at the very end of strings
- When running splitString... methods return even empty strings for consistency.
- Update TableDump and TableData to match new usage
SPStringAddition changes:
- Add a formatter for time intervals.
CMMCPConnection changes:
- Add support for timing queries
CustomQuery and nib changes:
- Change the "Run Queries" button to "Run All".
- Add a "Run Current" button, which runs the query the text caret is currently positioned inside; if text is actually selected, this changes to "Run Selection". This addresses Issue #43.
- Amend the "rows affected" string to better reflect the actual number of rows altered by several queries, show the query count if > 1, and display the overall execution time of the queries. This addresses Issue #142.
- No longer execute blank strings as part of the custom query, preventing errors.
|
|
|
|
|
|
| |
#198 Older-Younger swapped meaning
|
| |
|
|
|
|
|
| |
- disabled syntax coloring for texts larger than 20KB (too slow)
- added alot of comments to the syntax coloring code
|
| |
|
|
|
|
|
|
|
| |
was switched off inserted the wrong value for autoincrement columns, throwing exceptions and breaking SP
- Fix a bug in the autoincrement check which exposed the bug above even when no autoincrement was set.
|
| |
|
| |
|
|
|
|
|
|
|
| |
- Improves on r370 and r375 by preventing actions triggered by the save from triggering saves themselves
- Improves further on r370 and r375 by committing any current edits before saving
- Additional comments
|
|
|
|
| |
retrieval, and support for disabling keep-alive by setting the interval to 0.
|
|
|
|
| |
exports (Issue #184)
|
|
|
|
|
|
|
|
|
| |
image deletions, and image drag and dropping (fixes Issue #85 and google groups report)
- Improves compatbility of drag-and-drops onto the image well, including support for image drags from other applications
- Attempt to automatically select the image or text tab in the edit sheet as appropriate
- Fixes build-from-clean warnings caused by an unexposed function added in r375
|
| |
|
|
|
|
| |
deselected, and automatically reselecting the row for re-edit on error - resolves Issue #74.
|
|
|
|
| |
collapsing of the split view's subview. Minimum subvew view width has also been reduced by 20px. Fixes issue #150.
|
|
|
|
| |
and automatically change the format dropdown to match
|
| |
|
|
|
|
|
|
|
|
| |
Encoding" for clarity
- Add support for EUC-KR (I think, unable to test), hopefully fixing Issue #149
- Add workaround for UTF8 via Latin 1, supporting viewing and editing of data added using broken clients/upgraded old Wordpress/etc.
|
|
|
|
|
|
|
|
|
| |
Issue #155)
- Added basic support for viewing, filtering, and editing BIT columns (resolves Issue #127 in basic form)
- Rewrites selection/save handling. Rows are now only written to database if their content has changed, resolving a long-standing complaint; row selection and editing has also been improved, improving edit/save interaction (fixes Issue #157) and allowing re-editing of the row on failure (fixes Issue #115). Hopefully also addresses #Issue 131, and improves Issue #172.
- Hides the console window when the associated document window closes
|
|
|
|
|
|
|
| |
plus/minus buttons. Also add some interface element validation.
- Tidy up CustomQuery.h by getting rid of the definition of all datasource and delegate method signatures which don't need to be declared.
|
| |
|
|
|
|
|
|
|
|
| |
of content of read string)
Raising error when trying to import empty CSV file.
|
|
|
|
|
|
|
| |
format when displaying the create and update date/time of the selected table.
- In the table info pane set the date formatter's behaviour otherwise setting it's date and time style have no effect. Also consolidate the date formatting code into a single private method to reduce the amount of code duplication.
|
|
|
|
| |
option of fetching the accurate row count and limiting the result, results in the displayed row count being zero. Caused by fetching the count as the number of items in the fullResult array which hadn't been populated yet. If we are displaying the entire contents of the table set the count to the count of the fullResult array rather than relying on the numRows variable as the array is now populated.
|
|
|
|
| |
when displayed.
|
|
|
|
| |
with 10.4+
|
| |
|
|
|
|
| |
position. Thanks to Rowan for suggesting these.
|
|
|
|
|
|
|
|
| |
fixing a crasher when suffering from network issues
- When prompting for an export filename, only select the filename for editing and not the extension
- Remove timing debug from CSV export
|
|
|
|
|
|
|
|
|
| |
panel also adds the ability to save the current console content to a file on disk. Speed up the updating of the text view by removing the re-draw of the view after each message is appended. The console is still very basic, but is a starting point for more functionality to be added now that it is all handled in a single class.
+ Add the ability to specify the encoding when creating a new database. Addresses issue #125. Also improve the usability of the create database sheet by only enabling the 'Add' button if the database name length is greater than zero. This elimates the check that is done and the error panel that is displayed if the name is empty.
|
|
|
|
| |
databases queries. This fixes Issue #176.
|
|
|
|
|
| |
- Fixes crash when you import a csv file into an empty table.
- Added auto refresh of tables list when you import an sql file.
|
|
|
|
|
|
| |
- Added 10.4 (Tiger) support for varchar/char length limits
Related to Issue #170
|
|
|
|
| |
Ideally we should add these limits for other field types depending on their length value.
|
|
|
|
| |
every sixty seconds (a value stored in prefs, though not exposed via the prefs interface yet) in a background thread, to further improve connectivity handling following r334. Pings are only run when necessary - ie active use of the program extends the next ping interval as appropriate, so general impact should be minimal.
|
|
|
|
| |
certain tables and views. (Thanks to Marius Ursache for this patch)
|
| |
|
|
|
|
| |
the damage caused by r333, making views viewable again, and extends support by preventing errors in the info pane, by drawing views with a different icon to easily differentiate them, by making all source/index information non-editable to match GUI to behaviour, and to tweak the interface slightly to match.
|
|
|
|
| |
improves clarity, but also fixes an issue: if a connection with amended details failed, the default favourite details are reloaded in the sheet if a favorite is selected. This change allows a connection to fail and the actual used details to be reshown in the sheet.
|
|
|
|
| |
instead of breaking display when an NSData object can't be encoded, in the style of the -text or blob- placeholder.
|
|
|
|
|
|
|
|
|
| |
the end of the table):
- Set column sizing to "Uniform" , instead of "Sequential" - "Sequential" autosized columns so that all columns remained visible within the table, with as many columns as possible at full width, resulting in many columns being set to their minimum width.
- Automatically delete saved column widths which are at minimum width on first run of this new version. This will delete columns intentionally set to minimum idth (once), but otherwise all tables which had their columns autoresized had the minimum/broken widths saved so even the fix above would not show.
- Remove old CocoaMySQL prefs upgrade code, and store the last run bundle version in the code to allow prefs upgrades to occur according to the build number in future.
|
|
|
|
|
|
|
| |
sheet shows its state correctly (fixes Issue #169)
- Fixes editing with "Don't load blob and text fields" preference enabled by fixing an incorrect method call
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
appropriately - offering to retry, reconnect, or disconnect. This fixes Issue #93, Issue #69, and Issue #77.
The gory details:
Previously, MCPKit was correctly running mysql_ping to ensure a connection still existed before running a query, and aborted the query if the connection was no longer active.However the code very rarely checked the response of this, so if a query failed subsequent queries would continue to be run and the program would end up checking non-existent results, throwing Cocoa exceptions and generally breaking. However, mysql_ping would also use the default timeout (30 seconds) for each check - when running the (previous to r333) 14 queries to switch tables, this resulted in a long hang before the program even broke.
To exacerbate the issue, certain situations triggered a bug present in mysql_ping in the old client binaries we're using (http://bugs.mysql.com/bug.php?id=9678), causing mysql_ping to never return despite the presence of a timeout, and so causing an indefinite hang.
This issue has been fixed by:
- Setting a new 10 second connection timeout for both new connections (Issue #69) and for mysql_pings. Once preferences have been redesigned we'll probably make this value editable.
- Enforce the 10 second timeout even if mysql_ping hangs by using interrupts.
- Wrap mysql_ping in a new method to do the above and also catch re-established connections without reporting false failures.
- When a connection has failed, prompt the user to Retry, Reconnect, or Disconnect. Reconnect uses the original details for the old connection to establish a new connection, also attempting to preserve the current encoding.
- Do not return control to the main loop until a connection has been reestablished (or disconnected) - this ensures the program is never in a broken state without having to rewrite all query usage.
Much of the above patches the MCPKit connection methods as necessary.
|