Highlights
This is primarily a bugfix release. Most notably this solves some of the issues introduced in 2.0.1 around spacing within datatypes. Expressions like 1.0::double precision should now be spaced correctly.
Beyond that, this contains a selection of smaller bugfixes and dialect improvements. Even for a relatively small release we saw three new contributors (thanks @aurany, @JackWolverson & @mikaeltw π).
The one new feature (as such) is being able to now configure LT05 (aka layout.long_lines) to optionally move trailing comments after the line they are found on, rather than the default behaviour of moving them up and before. Users can enable this with the trailing_comments configuration setting in the indentation section.
This release also contains some performance optimisations in the parser, especially on queries with heavily nested expressions. There will be more to come in this space, but we hope this leads to a better experience for many users. π
Whatβs Changed
- Parse Caching #4576 @alanmcruickshank
- Data type spacing #4592 @alanmcruickshank
- MySQL: allow quoted literal in alias name #4591 @yoichi
- Make implicit indents visible in the parse tree #4584 @alanmcruickshank
- Fix #4559: TSQL implicit indents on WHERE #4583 @alanmcruickshank
- Added keywords to DB2 dialect from IBM docs #4575 @aurany
- Remove matches_target_tuples (#3873) #4561 @alanmcruickshank
- Use terminators in BaseExpression #4577 @alanmcruickshank
- Address #1630: Optionally move comments after long line #4558 @alanmcruickshank
- Added schema to set statement #4580 @JackWolverson
- Refactor lint_line_length and fix comma bug #4564 @alanmcruickshank
- Fix untaken indent bug #4562 @alanmcruickshank
- SQLite: Fix SELECT LIMIT #4566 @greg-finley
- Fix #4453: Snowflake semi-stuctured casts in CV11 #4571 @alanmcruickshank
- Name of LT07 #4557 @alanmcruickshank
- Patch fetch and over #4555 @mikaeltw