Skip to content

Releases: partiql/partiql-lang-kotlin

v1.2.2

27 Jun 17:56
60e2e66
Compare
Choose a tag to compare

What's Changed

Added

  • EXPERIMENTAL add metas map for PType
  • partiql-planner: ROW or collection types with excluded fields resulting from RelExclude will include a meta
    CONTAINS_EXCLUDED_FIELD mapping to true
  • Static factories for creating PType.decimal and PType.numeric types with a precision and default scale
  • Metas attached to PTypes indicating if a parameter (e.g. precision, scale, length) was specified

Fixed

  • BETWEEN operator function overloads in the partiql-planner
  • Mistyping of some Rex plan nodes
  • OperatorRewriter omitting types for rewritten nodes
  • fixed Aggregation function lookup so that custom overloads from Catalog are found
  • SqlDialect printing of AST literal string single quotes
  • Parsing of LIMIT, OFFSET, and ORDER BY on set operators

Full Changelog: v1.2.1...v1.2.2

v1.2.1

07 May 23:01
9d1380a
Compare
Choose a tag to compare

What's Changed

Added

  • added missing NotNull annotation for RexPathIndex's getIndex function

Fixed

  • fixed plan typing of function arguments which were previously typed the same as the function's return type
  • fixed pretty-printing of TRIM and binary operator parens
  • fixed the AST to plan conversion of PathStep.Field case-sensitivity
  • fixed the AST to plan resolving of IS <type> functions for <type>s with parameters

Removed

  • redundant CASTs added for CASE WHEN branches

Full Changelog: v1.2.0...v1.2.1

v1.2.0

12 Mar 16:54
Compare
Choose a tag to compare

Summary 🕙

This release is highlighted by the addition of the interval data type and the let clause.

  • Added support for SQL-standard interval data types (i.e. YEAR, MONTH, DAY, HOUR, etc.) in PartiQL. Users can now perform complex date calculations such as DATE '2025-01-01' + INTERVAL '1-5' YEAR TO MONTH and TIME '12:30:01.05' + INTERVAL '5:2:1.345' HOUR TO SECOND.
  • Added support for the LET clause, enabling users to write queries such as:
SELECT area * c.height AS volume
FROM cylinders c
LET 3.14 * c.radius * c.radius AS area;

Contributions

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.1.0

14 Feb 19:47
742e150
Compare
Choose a tag to compare

v1.1.0 - Valentine's Day Release 💘

Screenshot 2025-02-18 at 1 17 24 PM

Summary

This release is highlighted by the addition of support for parsing, planning, and execution of basic Common Table Expressions (CTEs).

These basic CTEs do not allow for the planning/execution of:

  1. RECURSIVE
  2. the with column list
  3. the ability to reference CTEs from other CTEs

These features may be added in a subsequent release. If you're interested in one of these features, please let us know!

Changelog

Full Changelog: v1.0.0...v1.1.0

v1.0.0

24 Jan 23:31
97741fa
Compare
Choose a tag to compare

We are extremely excited to announce the release of 1.0.0.

For more information, please refer to the PLK 1.0 Website.

What's Changed

Read more

v1.0.0-rc.3

11 Dec 18:53
b651415
Compare
Choose a tag to compare
v1.0.0-rc.3 Pre-release
Pre-release

This pre-release is characterized by:

  • Added the stable 1.0 grammar and parsing for DML and DDL.
  • Removed deprecated APIs and finalize exisiting APIs from prior release-candidates.
  • Add an extensible and transparent representation of literals which preserves literal syntax across rewrites.
  • Improvements to operator typing such as preserving numeric precisions during arithemetic operations.
  • Converted logical plans to Java, added a plan rewriter, as well as an Operators factory with defaults.

Thank you to all who have contributed!

As always, pre-releases are not meant for production use. If you have feedback on these changes, please open a GitHub Issue, or find our contact information at https://partiql.org/.

See the full list of changes.

v1.0.0-rc.2

05 Nov 06:47
8510a99
Compare
Choose a tag to compare
v1.0.0-rc.2 Pre-release
Pre-release

This pre-release is characterized by the:

  1. Re-introduction of the partiql-lang-kotlin package.
  2. Replacement of the Sprout-generated AST with a handwritten AST
  3. Formalization of PartiQL's error reporting mechanism
  4. Formalization of the PartiQLCompiler's APIs
  5. Addition of a default catalog implementation
  6. Formalization of the PartiQLParser's APIs
  7. Support for parsing multiple statements
  8. The introduction of the Variant type, as well as Datum readers/writers
  9. The introduction of compiler strategies to allow for user-defined rewrites of plan nodes to physical implementations for execution

Thank you very much to our contributors!

As always, pre-releases are not meant for production use. If you have feedback on these changes, please open a GitHub Issue, or find our contact information at https://partiql.org/.

See the full list of changes.

v1.0.0-rc.1

02 Oct 22:40
3221226
Compare
Choose a tag to compare
v1.0.0-rc.1 Pre-release
Pre-release

What's Changed

Read more

v0.14.9

26 Sep 17:12
3a9ef18
Compare
Choose a tag to compare

Changed

  • With full, closed schema, the planner will now give a plan-time warning when it can prove an exclude path will never
    exclude a value (relevant issue -- partiql/partiql-lang#91).

Experimental Changes

  • BREAKING: For the experimental org.partiql.lang.domains of PartiqlLogical, PartiqlLogicalResolved, and PartiqlPhysical,
    the modeling of DML has changed substantially. These changes, while considered breaking changes, are part of an
    experimental area of the PartiQL library and thus do not mandate a major-version bump of this library. Consumers
    of these experimental APIs should be wary of these changes.

Contributors

v0.14.8

19 Aug 23:24
546a126
Compare
Choose a tag to compare

Fixed

  • Case When Branch inference will preserve type constraint for String Type and Decimal Type, if no coercion is required

Contributors

Thank you to all who have contributed!