aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* - Renames "Database Encoding" menu item in Database menu to "View Using ↵rowanbeentje2009-03-043-34/+82
| | | | | | | | 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.
* - BLOB and binary fields are now fully visible and editable again (fixes ↵rowanbeentje2009-03-038-52/+140
| | | | | | | | | 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
* - Re-design the custom query favourties editor and get rid of the nasty ↵stuconnolly2009-03-022-39/+21
| | | | | | | 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.
* Rollback on newbie mistake...bamse162009-03-021-10/+1
|
* Better error handling of dump reading (checking for NSError object instead ↵bamse162009-03-022-4/+27
| | | | | | | | of content of read string) Raising error when trying to import empty CSV file.
* - In the table status view use the user's long date format and medium time ↵stuconnolly2009-03-012-69/+102
| | | | | | | 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.
* Fix an issue where by selecting to view the content of a table without the ↵stuconnolly2009-03-011-16/+14
| | | | 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.
* Revert 10.5 build warning changes and make import progress sheet have focus ↵stuconnolly2009-03-011-39/+28
| | | | when displayed.
* Implemented method: componentsSeparatedByCharactersInSet. to be compatible ↵avenjamin2009-02-283-0/+38
| | | | with 10.4+
* Cleaned up warnings when building against 10.5 SDKavenjamin2009-02-285-40/+52
|
* Reduce the amount of padding on the new console panel and also auto save its ↵stuconnolly2009-02-281-0/+12
| | | | position. Thanks to Rowan for suggesting these.
* - Improve handling of disconnections made while selecting a database, ↵rowanbeentje2009-02-282-12/+25
| | | | | | | | 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
* + Separate the console from being drawer based to its own panel. New console ↵stuconnolly2009-02-286-104/+226
| | | | | | | | | 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.
* Applies connection checks and keepalive logic to select database/refresh ↵rowanbeentje2009-02-282-0/+33
| | | | databases queries. This fixes Issue #176.
* Patch submitted by Marius Ursache.avenjamin2009-02-271-77/+86
| | | | | - Fixes crash when you import a csv file into an empty table. - Added auto refresh of tables list when you import an sql file.
* - Removed unnecessary code block.avenjamin2009-02-273-12/+20
| | | | | | - Added 10.4 (Tiger) support for varchar/char length limits Related to Issue #170
* Added length limits to varchar and char fields. Issue #170avenjamin2009-02-273-1/+36
| | | | Ideally we should add these limits for other field types depending on their length value.
* Implement a connection keepalive, addressing Issue #171. This runs a ping ↵rowanbeentje2009-02-253-9/+91
| | | | 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.
* Replaces COUNT(*) with COUNT(1), which reportedly shows a speed increase on ↵rowanbeentje2009-02-241-2/+2
| | | | certain tables and views. (Thanks to Marius Ursache for this patch)
* Fix table creation, deletion, duplication following recent changesrowanbeentje2009-02-241-2/+8
|
* A patch to improve View support, addressing Issue #130. This patch undoes ↵rowanbeentje2009-02-238-183/+428
| | | | 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.
* Deselect favorites when any detail other than the password is edited. This ↵rowanbeentje2009-02-212-0/+19
| | | | 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.
* Fix the last two warnings in TableContent.m. Also include an error string ↵rowanbeentje2009-02-191-3/+4
| | | | instead of breaking display when an NSData object can't be encoded, in the style of the -text or blob- placeholder.
* Fix Issue #140 (Tables with many columns compress the end columns against ↵rowanbeentje2009-02-191-99/+56
| | | | | | | | | 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.
* - Ensure that the button controlling whether all data should be edited in a ↵rowanbeentje2009-02-181-1/+1
| | | | | | | 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
* Sets and enforces a connection timeout, and handles connection timeouts ↵rowanbeentje2009-02-183-21/+342
| | | | | | | | | | | | | | | | | | | 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.
* Visible improvements in this build:rowanbeentje2009-02-1822-629/+2091
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Significantly reduce the queries that have to be performed, improving lag - especially over slow connections (Issue #118; see new controller info under headline code changes). - Fix Issue #117 properly (export numeric quoting - we now have access to column types and so can quote appropriately). - Fix Issue #145 (loss of unsigned/null/default attributes when reordering columns). - Fixes Issue #90 (support for filtering DECIMAL column types) - Improve table scrolling speed when the table contains long items. (Added a NSFormatter to automatically truncate strings > 150 chars for display purposes only) - Improved SQL compatibility - for example /* C style comments */ are now correctly ignored in imports and custom queries. - Add text and symbols emphasising that the table info pane / status view row count is an approximation (partially addresses Issue #141) - Fixes a major memory leak whenever opening or scrolling tables containing text/blob data. - SQL import is now faster (SQL parsing part is 3x faster). - Speed up SQL export (1.5x faster for numeric data; 1.1x faster for string data) and slightly speed up CSV export (~1.1x faster). - Display sizes on the status view using the byte size formatter, as per table info pane. Headline code changes: - Add a new NSMutableString subclass, SPSQLParser. See the header file for documentation and overview, but in short it's a centralised place for SQL parsing. Centralises and improves parsing, improves comment support, improves quoting support. Despite the improved featureset this is also faster than the previous distributed implementations - for example, when used to replace the old splitQueries:, > 3x speedup. - Implement a new controller which handles a structure and status cache for the current table, and provides structure parsing for specified tables. This cache is now used throughout the code, reducing the queries that have to be performed and providing additional information about the table structure for use; I think it also improves column type format slightly. - The table info pane and the status view now draw all their data from the cache. Tweaks: - Table encoding is now detected directly instead of being derived from the collation - increased accuracy and cope with the DEFAULT encoding. - Comments and formatting cleaned up in bits I was working on, obviously. - A couple of methods - particularly [tablesListInstance table] and [tableDocument encoding] - have been renamed to avoid conflicts and fix code warnings. Future improvements now possible: - As we now have access to column types and other information, we can provide per-type behaviour where desired. - The table parsing doesn't currently pull out comments or table indices, together with one or two other attributes. Some of this would be useful for display; some, such as indices, could be used to draw the table structure view as long as we're happy discarding a couple of columns (ie cardinality!)
* Fixed Issue #168avenjamin2009-02-181-1/+3
| | | | Choose Database popup button now reverts to current database when cancelling the "Add Database…" dialog.
* Query failing because of field length applied to datetime field. Fixes #135.stuconnolly2009-01-291-1/+1
|
* Add 'Refresh Databases' menu item to the main database selection drop down. ↵stuconnolly2009-01-291-8/+12
| | | | Fixes issue #143
* Date filters were order wrong causing the opposite of the expected result to ↵stuconnolly2009-01-281-4/+4
| | | | be returned. Fixes #151.
* We are not quoting the filter argument when filter type is 'IN' meaning the ↵stuconnolly2009-01-281-8/+7
| | | | SQL is failing.
* Separate out the creation of a human readable string from the number of ↵stuconnolly2009-01-284-47/+142
| | | | bytes into a category class method of NSString so we can potentially use it in other places.
* Point the menu links to Sequel Pro's website rather than the Goolge Code site.stuconnolly2009-01-271-3/+3
|
* Commented the handleQuiteCommand method and put in a return of nil.mltownsend2009-01-201-1/+2
|
* We don't need the old SSH tunneling code lying about as its not used. Its ↵stuconnolly2009-01-182-266/+0
| | | | looged in Subversion if we ever need it again. Resolves issue #147.
* Added the print method to go from. Sort of works by printing the literal ↵mltownsend2009-01-181-0/+8
| | | | NSView that is currently selected.
* + Updated to use new icon in TABLE INFORMATION pane. (#146)avenjamin2009-01-181-1/+1
|
* #144 value of the "import format" popup button is now remembered in the ↵abhibeckert2009-01-142-12/+16
| | | | import panel
* Added cancel button to the import/export progress sheet. Also added ↵mltownsend2009-01-042-35/+47
| | | | importing on a separate thread.
* • CMTextView.m : added new auto-complete keywordsavenjamin2008-12-222-45/+90
| | | | • TableSource.m : fixed spelling error
* Clean up of validate menu items method.avenjamin2008-12-221-18/+8
|
* Disabled "Remove Database…" menu item when no database selected. Issue #124avenjamin2008-12-221-0/+4
|
* Spelling error in Flush Privilege's success message. Issue #123avenjamin2008-12-221-2/+2
|
* Removed Panther compatibilitiymltownsend2008-12-182-32/+11
|
* Mutating a NSMutableDictionary while enumerating through it. mltownsend2008-12-171-3/+4
|
* Fixed a range assertion error in SQL dumps when exporting small strings, ↵rowanbeentje2008-12-151-2/+4
| | | | caused by r274
* Provide a partial fix for Issue #117 by adding leading-zero tests to the ↵rowanbeentje2008-12-121-7/+10
| | | | NSScanner numeric checks, and clarifying comments to make it clearer that NSScanner should be replaced when possible.
* Define CMMCPConnection's delegate methods to prevent warnings.stuconnolly2008-12-101-0/+7
|
* Remove warning.stuconnolly2008-12-101-4/+8
|