Skip to content

v0.14.5

Compare
Choose a tag to compare
@alancai98 alancai98 released this 26 Apr 21:13
· 26 commits to main since this release
ab65143

Added

  • partiql-ast: adds warning not to implement AstVisitor interface directly. Please extend AstBaseVisitor instead.
  • partiql-plan: adds warning not to implement PlanVisitor interface directly. Please extend PlanBaseVisitor instead.

Changed

  • Change StaticType.AnyOfType's .toString to not perform .flatten()
  • Change modeling of COALESCE and NULLIF to dedicated nodes in logical plan
  • Function resolution logic: Now the function resolver would match all possible candidate (based on if the argument can be coerced to the Signature parameter type). If there are multiple match it will first attempt to pick the one requires the least cast, then pick the function with the highest precedence.
  • Behavioral change: The COUNT aggregate function now returns INT64.

Deprecated

  • The current SqlBlock, SqlDialect, and SqlLayout are marked as deprecated and will be slightly changed in the next release.
  • Deprecates constructor and properties variableName and caseSensitive of org.partiql.planner.PlanningProblemDetails.UndefinedVariable
    in favor of newly added constructor and properties name and inScopeVariables.

Fixed

  • StaticType.flatten() on an AnyOfType with AnyType will return AnyType
  • Updates the default .sql() method to use a more efficient (internal) printer implementation.
  • Fixes aggregations of attribute references to values of union types. This fix also allows for proper error handling by passing the UnknownAggregateFunction problem to the ProblemCallback. Please note that, with this change, the planner will no longer immediately throw an IllegalStateException for this exact scenario.

Contributors

Thank you to all who have contributed!

List of commits: v0.14.4...v0.14.5