Releases: sql-formatter-org/sql-formatter
Releases · sql-formatter-org/sql-formatter
9.0.0-beta.6
Breaking changes
LIMIT
&OFFSET
keywords are no more supported in all dialects #362
Bugfixes
- Fix missing type-definition file when importing sql-formatter in TypeScript #353
Enhancements
- Allow
#
as first char for Redshift identifiers #358 - Allow MySQL and MariaDB identifiers to begin with a number #339
- Improved formatting of
SELECT DISTINCT
#362 - Added support for several variations in SELECT query clauses (like
WITH RECURSIVE
in addition to plainWITH
) #362 - General overhaul of query syntax support #362
9.0.0-beta.5
9.0.0-beta4
Bugfixes:
Enhancements:
- Improved formatting of PL/SQL
tbl@dblink
syntax #338 - Added support for PL/SQL Q strings #342
- Improved Trino row pattern formatting #333
- Revised reserved keyword lists in multiple dialects #348
- Revised supported joins and set operations in multiple dialects #346
- Revised supported string types in multiple dialects #332
Internals:
- Utility for auto-generation of syntax variants #327
9.0.0-beta3
9.0.0-beta2
Improvements
- Improved support for various BigQuery DDL statements (thanks to Ahmad Khan #319)
Bugfixes
- Fixed
aliasAs
option insertingAS
keywords to BigQuery functions #309 - Fixed parameter substitution not working in BETWEEN expressions #318
Internals
- Placed each
language.formatter.ts
file to separate directory and separated functions and keywords to separate files #315 - Removed
RESERVED_JOIN_CONDITION
token type.
9.0.0-beta1
New approach to function call matching
This release brings a major change to how function calls are detected:
- Only known builtin function names are now formatted like
TRIM()
- Any other function calls (e.g. user-defined functions) get formatted as
MY_FUNC ()
This fixes a long-standing problem where the format of input SQL effected output SQL. For example, if input contained TRIM ()
, then it was formatted as TRIM ()
and when it contained TRIM()
then it was formatted as TRIM()
. This in turn lead to problems where re-formatting an already formatted SQL could lead to different result. #140
8.2.0
8.1.0
Bugfixes
- Fix formatting of
DESC
insideORDER BY
for MariaDB #298 - Fix multiple problems with LIMIT clause formatting #301 #303
Improvements
- No more adding spaces around
::
operator. - Add support for multiple PostgreSQL JSON and other operators #296
- Add support for N1QL operator:
||
. - Add support for DB2 operators:
¬=
,¬>
,¬<
. - Add support for SQLite operators:
->
,->>
. - Add support for
~
,#
,?
,!
operators in several dialects.
Internals
- Reorganize code in
core/
dir intolexer/
,parser/
,formatter/
directories. - Major refactoring of
Tokenizer
. - Several new token types:
DELIMITER
,COMMA
,IDENTIFIER
,QUOTED_IDENTIFIER
,NAMED_PARAMETER
,QUOTED_PARAMETER
,INDEXED_PARAMETER
,POSITIONAL_PARAMETER
.