| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- r4034: End editing for deleting content filter or query favourites, addressing exceptions and Issue #1648
- r4035: Apply schlabberdog's fix for log #3969, addressing Issue #1647
- r4036: Fix an error parsing SQL inside an unterminated delimiter statement causing an off-by-one error in positioning, addressing Issue #1643
- r4037: If date-type fields are cleared, and allow NULLs, save the cell value as NULL; this implements Issue #1638
- r4038: Alter the content filter manager and the query favourite manager to import items from a file into the Global group if the document is untitled, improving import UX and addressing Issue #1616 and Issue #1645. Also select and scroll to the newly imported items for clarity.
- r4039: Fix crashes in the User Manager when fields don't validate but a save/cancel/tab switch is still triggered, addressing Issue #1627
- r4041: Tweak and improve the User Manager: Rework how data to populate the user manager is retrieved from the server, speeding up display of lots of users by a large factor; Fix support for schema permissions for the Anonymous user, and add support for '%' and '' hostnames (only showing if already set once), fixing Issue #1620; Highlight databases in the user manager that have permissions set for the selected user; Switch to using the centrally provided database list to reduce queries and remove the information_schema and performance_schema "databases"; Speed up a number of operations by tweaking the logic and queries used
- r4042: Fix release builds after r4041; Update localizable strings
- r4043: Set Sequel Pro to always run on Integrated Graphics on machines with both integrated and discrete, improving power consumption if nothing else is triggering the discrete GPU. This addresses Issue #1609
- r4044: Make the theme background apply to the query favourites editor
- r4045: If the Custom Query editor view is active on window open, correctly set the focus in it, addressing Issue #1590
- r4046: Add support for querying the server default charset and collation; Move a bit of redundant code into a method
- r4047: Restore tab bar label when cancelling a connection
- r4048: Fix format string error in QueryKit
- r4049: Alter the preferences favourite minimum version to avoid issues with previous runs of nightlies, which may partially address Issue #1588; Remove the old favourites key from the preferences now imports have succeeded
- r4050: Allow Favorites import to read favorites from an old preferences .plist file, further addressing Issue #1588
- r4051: Change the string '=' and '!=' to be case- and collation-insensitive by default, using the Shift key (as documented in the tooltip) to trigger a BINARY exact match. This addresses Issue #1578
- r4052: When adding a database the servers default charset is now shown
- r4053: Adjust keywords list to fix auto capitalisation of "ON"
- r4054: Add a new SPMySQLEmptyResult class to SPMySQLFramework, returning it instead of nil if a query produces no result set. This allows per-result-set properties to be preserved, fixing issues where information like query execution time was lost - addressing Issue #1577
- r4056: Improve startup when loading from file, preventing overwrite of details read from a spf/spfs during startup. This addresses Issue #1619
- r4057: Correctly reset document state for setting it from file/when duplicating tab, further addressing Issue #1619
- r4058: Add a stub override to fix exceptions when code receiving a SPMySQLEmptyResult expects a SPMySQLStreamingResult/SPMySQLFastStreamingResult (Exception #3988)
- r4060: Make some small tweaks to string BINARY handling: Correctly send the binary state/collation when reordering fields, addressing Issue #1265; Allow unticking of the binary box to save correctly, allowing conversion of fields to non-binary collations again
- r4061: Fix errors when editing or moving columns on server vesions which do not support character sets/collations, addressing Issue #1629; Fix needless collation queries on those servers; Disable field enums and table encoding dropdown on those servers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- r4021: Add a check for SPNotLoaded values when automatically generating new tables when importing CSVs, fixing Issue #1621 (SPNotLoaded values are generated when rows shorter than the header row are seen)
- r4022: Fix crashes when importing favorites on the connection view, addressing Issue #1556; Select and scroll to newly created favorites after import
- r4023: Default to disabling SSH multiplexing to avoid connection issues as per Issue #1457; leave multiplexing code present, but behind a preference. Run `defaults write com.sequelpro.SequelPro SSHMultiplexingEnabled -boolean YES` to re-enable
- r4024: Fix handling of double-dash style comments within field names, addressing Issue #1554
- r4025: When favorites in the connection view gave no password, no longer set the focus to the password field as soon as they're selected; instead, make the password field the next responder for tab keys. This addresses Issue #1555
- r4028: Fix escaping of backlsashes in non-LIKE clauses, addressing string matching with the = and RegExp operators - addresses Issue #1563
- r4029: Fix handling of primary keys listing multiple fields of which an early field has a specified length, addressing Issue #1641
- r4030: Alter the database creation sheet to correctly use the selected new database encoding; Clean up the database creation logic and remove redundant selection logic; Correctly reset and detect the database encoding when creating and switching databases
- r4031: Fix blurry text in a number of text views in 1.0.x (Possibly caused by IB mangling; recreated new text views with the same settings to address). This fixes Issue #1560
- r4032: Detect deleted or non-writable folders for export targets and give appropriate errors (particularly for saved paths), addressing Issue #1566
- r4033: Add support for export path tokens containing non-alphanumeric characters, automatically grouping and tokenising as required for both dragged and typed tokens. This addresses Issue #1567
|
| |
|
|
|
|
| |
UI code from functional code
|
|
|
|
| |
this fixes Issue #1024
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Retain the delimiter if one is found, to avoid autorelease issues. This fixes http://spbug.com/l/124 .
- Improve delimiter support in a few functions, particularly SPSQLParser's trimAndReturnStringToCharacter:trimmingInclusively:returningInclusively:ignoringQuotedStrings, to improve compatibility
|
|
|
|
|
|
|
|
| |
syntax to \n. This addresses Issue #652.
- Clean up SPSQLParser, and use a few more CFString methods to avoid obj-c messaging in loops
- When importing SQL using autodetect, perform a manual SET NAMES if possible to cope with poorly-exported files.
|
|
|
|
| |
of them.
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
| |
release builds, including a large number of 64bit compatibility upgrades and tweaks
- Upgrade RegexKitLite to 3.3
|
|
|
|
| |
warnings and improve source readability
|
| |
|
|
|
|
| |
the Query Editor if the last query is empty or it is a "DELIMITER" statement to come up with the result of the last valid query or to avoid an unnecessary error message
|
|
|
|
|
|
|
|
| |
contains a '#' or '/*'
- this fixes issue 431
- furthermore if the parsing process fails for some other reasons, i.e. a table name is NULL or empty SP alerts the user about it instead of stalling
|
|
|
|
|
| |
- Improve SQL parser streaming improvements for significant speedups and some very important bugfixes
|
|
|
|
|
|
|
| |
- SQL import now reads and processes files in full streaming mode, running queries as they are encountered
- Memory usage during import is significantly reduced, and should stay within a few megabytes; the significant memory use remaining is for query logging
- The progress bar more accurately represents progress and is shown at once (this addresses Issue #320)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- added
(NSArray *) splitSqlStringByCharacter:(unichar)character;
(NSArray *) splitSqlStringIntoRangesByCharacter:(unichar)character;
(long) firstOccurrenceInSqlOfCharacter:
to the SQLParser which recognize a “delimiter” command
• queryAtPosition now works with ranges to speed it up
- the current query ranges resp. the just activated query range are cached in order to avoid parsing if the user only navigates through the textView buffer, or if the user calls Run Prev/Current Query only
• the "import dump" function makes usage of that new “delimiter” support
- i.e. dumps with procs/funcs declaration could be imported
IMPORTANT: Please check the new SQLParser exhaustively in order to prove that new approach
|
|
|
|
|
|
|
|
| |
by using the lexer SPTokenizer
- the new method is called splitStringIntoRangesOfSQLQueries: in SPSQLParser
- in CustomQuery's method queryAtPosition: can be found a test case which is as default not activated
- must be improved further
|
| |
|
| |
|
|
|
|
| |
input same via the editor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
- 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!)
|