v.0.7.0-alpha
Pre-release
Pre-release
This is a major version release for v0.7.0-alpha
; it is highlighted by addition of an experimental query planner API, new built-in functions, 2.3x times more performant LIKE
operator, and various CLI and REPL improvements (see features more details).
Breaking changes are:
- Removal of Field
EVALUATOR_SQL_EXCEPTION
fromErrorCode
class:
A client program may be interrupted byNoSuchFieldError
exception. - Removal of
NodeMetadata
fromorg.partiql.lang.eval
:
A client program may be interrupted byNoClassDefFoundError
exception. - Removal of the following classes from
org.partiql.lang.eval.like
:CodepointCheckpointIterator
PatternPart
PatternPart.AnyOneChar
PatternPart.ExactChars
PatternPartKt
A client program may be interrupted by NoClassDefFoundError exception.
See the attached compat_report.html
file for full report on compatibility between this and previous version.
- Removal of the following interface from
org.partiql.lang.eval.like
:
A client program may be interrupted byNoClassDefFoundError
exception.
Features
- An experimental query planner API along with logical and physical plans structures with the support of non-default physical operator implementations.
- An optional flag,
--wrap-ion
, to give users the old functionality of reading multiple Ion values (previous behavior). - Benchmark framework and benchmark implementation for
LIKE
performance - Convenience
StaticType
forTEXT
andNUMERIC
- Enable
MIN
andMAX
to work with all the data-types. - Introduction of
extensions
and addition of thequery_ddb
function to allow querying AWS DynamodB from the CLI. - Replacement of REPL with JLine shell
- Syntax highlighting for CLI
- Three additional CLI flags:
-r --projection-iter-behavior:
Controls the behavior of ExprValue.iterator in the projection result: (default: FILTER_MISSING) [FILTER_MISSING, UNFILTERED]-t --typed-op-behavior
: indicates how CAST should behave: (default: HONOR_PARAMETERS) [LEGACY, HONOR_PARAMETERS]-v --undefined-variable-behavior
: Defines the behavior when a non-existent variable is referenced: (default: ERROR) [ERROR, MISSING]
--input-format
flag to the CLICEIL
andFLOOR
functionsDATE/TIME
formatting and the support forDATE/TIME
in Ion data format
Fixes
- Fix
write_file
CLI function; the old function required the input to be astring
, but it must be a generic type. - Add
ktlint
task dependency to enable execution optimizations and reducing he build time by ~30%
. - Adjust handling of Ion input (requiring single value)
- Adjust handling of Ion output (outputting the real value)
- Adds missing metas to
ORDER BY
ExprNode
andPartiqlAst
(E.g. source location), which limits error message reporting.
Misc
LIKE
matching via compilation to java.util.regex.Pattern- Run
ktlint
before tests.
List of commits: v0.6.0-alpha...v0.7.0-alpha