Skip to content

0.19.0

Compare
Choose a tag to compare
@nene nene released this 28 Dec 14:41
· 422 commits to master since this release

Breaking changes

  • Unary + is now parsed as an operator, not as part of a number
  • data_type has been renamed to named_data_type
  • select_clause columns are now optional
  • SymbolOperator type is now plain string (because it needs to accommodate custom PostgreSQL operators)
  • RowConstructor type is now part of Expr type

SQLite bugfixes

  • Support unicode letters in SQLite identifiers

Improved PostgreSQL support

  • Use the actual Postgres reserved words list
  • Nested block-comments
  • Remove incorrect #-comment support from Postgres
  • Strings:
    • Dollar-quoted strings
    • String with C-style escapes
    • Unicode strings
    • Repeated-quote escapes in E-strings
    • Bit-string blobs
  • Identifiers:
    • Unicode identifiers
  • Literals:
    • JSON & JSONB literals
    • INTERVAL literals
  • ROW() constructor
  • EXTRACT() expression
  • Special paren-less functions
  • All keywords can be used in explicit aliases
  • Operators:
    • IS UNKNOWN
    • IS DISTINCT FROM
    • ISNULL
    • NOTNULL
    • % operator
    • ^ operator
    • || operator
    • Bitwise ~ and # operators
    • ILIKE
    • BETWEEN SYMMETRIC
    • SIMILAR TO
    • IS NORMALIZED
    • AT TIME ZONE
    • COLLATE
    • Array-access operator
    • Array-slice operator
    • :: cast operator
    • All the builtin PostgreSQL operators
    • Almost fully correct PostgreSQL operator precedence
  • Types:
    • All builtin data types
    • Special Object Identifier types
    • multi-dimensional array types
    • TIME types WITH/WITHOUT TIME ZONE
    • INTERVAL type
    • Custom data types
  • SELECT support:
    • Support NULLS FIRST/LAST
    • LIMIT offset,count is not supported
    • Support FETCH..OFFSET
    • Support FOR-clause
    • Support INTO TABLE clause
    • Support empty SELECT
    • Support GROUP BY DISTINCT
    • Support LIMIT ALL
    • Support basic TABLE clause
  • Basic TRUNCATE support
  • Basic ANALYZE support
  • Basic EXPLAIN support
  • Basic EXECUTE support

Improved MySQL & MariaDB support

  • Support FOR-clause in MySQL and MariaDB
  • Support LOCK IN SHARE MODE in MySQL/MariaDB