Skip to content

Releases: partiql/partiql-lang-rust

v0.13.0

10 Jun 18:36
df46296
Compare
Choose a tag to compare
v0.13.0 Pre-release
Pre-release

[0.13.0]

Changed

  • BREAKING Heavily refactors evaluation to be stateless
  • BREAKING Heavily refactors Session & Evaluation Contexts to no longer require lifetime parameters
  • BREAKING partiql-ast: Removes disused Sexp AST node

Added

  • Added lowering and evaluation of graph MATCH label negation, conjunction, and disjunction
  • Added lowering and evaluation of graph MATCH WHERE clauses
  • Added lowering and evaluation of graph MATCH modes (i.e., WALK, TRAIL, ACYCLIC, SIMPLE)

Removed

v0.12.0

12 Apr 00:20
a7c8b5e
Compare
Choose a tag to compare
v0.12.0 Pre-release
Pre-release

Changed

  • BREAKING partiql-parser: Added a source location to ParseError::UnexpectedEndOfInput
  • BREAKING partiql-ast: Changed the modelling of parsed literals.
  • BREAKING partiql-logical: Changed the modelling of logical plan literals.
  • BREAKING partiql-eval: Fixed behavior of comparison and BETWEEN operations w.r.t. type mismatches
  • BREAKING partiql-eval: BindEvalExpr::bind takes self rather than &self
  • BREAKING Changed modeling of Ion Literals to be evaluated to Boxed Variants rather than eagerly transformed to PartiQL Values.
  • BREAKING partiql-logical: Change the modeling of ProjectAll
  • Fix some query evaluation edges cases.

Added

  • partiql-value: Pretty-printing of Value via ToPretty trait
  • Added Datum, an interface to introspecting Values
  • Added graph MATCH expressions and GRAPH_TABLE expression conformant with SQL 2023 Property Graph Query
    • Parsing and pretty-printing are intended to be conformant
    • Only a subset of planning and evaluation are supported currently
  • Added extension scan_csv

Removed

v0.11.0

03 Oct 18:06
010602f
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release

Changed

  • BREAKING partiql-catalog: refactored structure of crate; module paths have changes

Added

  • Added partiql-common.
  • Added NodeId to StaticType.
  • BREAKING Added thread-safe PartiqlShapeBuilder and automatic NodeId generation for the StaticType.
  • Added a static thread safe shape_builder function that provides a convenient way for using PartiqlShapeBuilder for creating new shapes.
  • Added partiql_common::meta::PartiqlMetadata
  • Added ability for crate importers to add scalar User Defined Functions (UDFs) to the catalog
  • Added extension/partiql-extension-value-functions crate demonstrating use of scalar UDFs
  • Added TUPLEUNION and TUPLECONCAT functions in the extension/partiql-extension-value-functions crate

Removed

  • BREAKING Removed partiql-source-map.
  • BREAKING Removed const PartiQL types under partiql-types in favor of PartiqlShapeBuilder.
  • BREAKING Removed StaticType's new, new_non_nullable, and as_non-nullable APIs in favor of PartiqlShapeBuilder.

v0.10.1

01 Aug 17:04
6dc088c
Compare
Choose a tag to compare
v0.10.1 Pre-release
Pre-release

Changed

  • partiql-ast: fixed pretty-printing of PIVOT
  • partiql-ast: improved pretty-printing of CASE and various clauses

Added

Fixed

v0.10.0

26 Jul 19:26
2da9cdb
Compare
Choose a tag to compare
v0.10.0 Pre-release
Pre-release

Changed

  • BREAKING: partiql-ast: added modeling of EXCLUDE
  • BREAKING: partiql-ast: added pretty-printing of EXCLUDE

Added

  • BREAKING: partiql-parser: added parsing of EXCLUDE

Fixed

v0.9.0

24 Jul 13:28
3ca67b7
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release

Changed

  • BREAKING: partiql-ast: changed modeling of BagOpExpr setq field to be an Option
  • BREAKING: partiql-ast: changed modeling of GroupByExpr strategy field to be an Option
  • BREAKING: partiql-ast: changed modeling of PathStep to split PathExpr to PathIndex (e.g., [2]) and PathProject (e.g., .a)
  • BREAKING: partiql-ast: changed modeling of PathStep to rename PathWildcard to PathForEach (for [*])
  • BREAKING: partiql-types: changed type ordering to match specification order
  • BREAKING: partiql-types: changed some interfaces to reduce clones and be more ergonomic

Added

  • partiql-ast: Pretty-printing of AST via ToPretty trait
  • partiql-ast: Added NodeBuilder to make building ASTs easier

Fixed

  • Minor documentation issues

v0.8.0

08 Jul 20:31
93622bd
Compare
Choose a tag to compare
v0.8.0 Pre-release
Pre-release

Changed

  • BREAKING: Adds optionality to StructField in partiql-types
  • BREAKING: Removed NULL and MISSING types from partiql_types::PartiQLType
  • BREAKING: Removed partiql_ast_passes::partiql_type

Added

  • BREAKING: Introduces PartiqlShape and removes PartiqlType
  • Adds partiql-extension-ddl that allows generation of PartiQL Basic DDL Syntax for a PartiQL Shape.

v0.7.2

12 Apr 18:54
5dc7c6e
Compare
Choose a tag to compare
v0.7.2 Pre-release
Pre-release

Changed

Added

Fixed

  • partiql-types: Fixed handling of struct fields to be resilient to field order w.r.t. equality and hashing

v0.7.1

16 Mar 05:19
17886f3
Compare
Choose a tag to compare
v0.7.1 Pre-release
Pre-release

Changed

Added

Fixed

  • partiql-eval: Fixed propagation of errors in subqueries to outer query
  • partiql-eval: Fixed handling of nested binding environments in subqueries

v0.7.0

12 Mar 20:10
af599b6
Compare
Choose a tag to compare
v0.7.0 Pre-release
Pre-release

Changed

  • Adds quotes to the attributes of PartiQL tuple's debug output so it can be read and transformed using Kotlin partiql-cli
  • BREAKING: partiql-eval: Changes the interface to EvalPlan to accept an EvalContext
  • BREAKING: partiql-eval: Changes EvaluationError to not implement Clone
  • BREAKING: partiql-eval: Changes the structure of EvalPlan

Added

  • partiql-extension-visualize: Add partiql-extension-visualize for visualizing AST and logical plan
  • partiql-eval: Add a SessionContext containing both a system-level and a user-level context object usable by expression evaluation

Fixed

  • partiql-logical-planner: Fixed ORDER BY's ability to see into projection aliases
  • partiql-eval: Fixed errors in BaseTableExprs get added to the evaluation context
  • partiql-eval: Fixed certain errors surfacing in Permissive evaluation mode, when they should only be present in Strict mode