Releases: partiql/partiql-lang-kotlin
v0.10.0-alpha
Added
- Added numeric builtins ABS, SQRT, EXP, LN, POW, MOD.
- Added standard SQL built-in functions POSITION, OVERLAY, LENGTH, BIT_LENGTH, OCTET_LENGTH, CARDINALITY,
an additional builtin TEXT_REPLACE, and standard SQL aggregations on booleans EVERY, ANY, SOME. - Breaking Added coercion of SQL-style subquery to a single value, as defined in SQL for
subqueries occurring in a single-value context and outlined in Chapter 9 of the PartiQL specification.
This is backward incompatible with the prior behavior (which left the computed collection as is),
but brings it in conformance with the specification. - Added
partiql-plan
package which contains experimental PartiQL Plan data structures. - Initializes SPI Framework under
partiql-spi
. - Models experimental
Schema
with constraints.
With this change, we're introducingTuple
andCollection
constraints to be able to model the shape of data as
constraints. - Introduces the PartiQLSchemaInferencer and PlannerSession
- The PlannerSession describes the current session and is used by the PartiQLSchemaInferencer.
- The PartiQLSchemaInferencer provides a function,
infer
, to aid in inferring the outputStaticType
of a
PartiQL Query. See the KDoc for more information and examples.
- Adds back ability to convert an
IonDatagram
to anExprValue
usingof(value: IonValue): ExprValue
andnewFromIonValue(value: IonValue): ExprValue
- Adds support for SQL's CURRENT_USER in the AST, EvaluatingCompiler, experimental planner implementation, and Schema Inferencer.
- Adds the AST node
session_attribute
. - Adds the function
EvaluationSession.Builder::user()
to add the CURRENT_USER to the EvaluationSession
- Adds the AST node
- Adds support for parsing and planning of
INSERT INTO .. AS <alias> ... ON CONFLICT DO [UPDATE|REPLACE] EXCLUDED WHERE <expr>
- Adds the
statement.dml
anddml_operation
node to the experimental PartiQL Physical Plan.
Changed
- Deprecates the project level opt-in annotation
PartiQLExperimental
and split it into feature level.ExperimentalPartiQLCompilerPipeline
andExperimentalWindowFunctions
. - Breaking: Moves StaticType to
partiql-types
.- All references to static types need to modify their imports accordingly. For example,
org.partiql.lang.types.IntType
is noworg.partiql.types.IntType
. - Please modify existing dependencies accordingly. You may need to add dependency
org.partiql:partiql-types:0.10.0
. - Also, several methods within StaticType have been moved to a utility class within
partiql-lang-kotln
. See the below list:org.partiql.lang.types.StaticType.fromExprValueType
->org.partiql.lang.types.StaticTypeUtils.staticTypeFromExprValueType
org.partiql.lang.types.StaticType.fromExprValue
->org.partiql.lang.types.StaticTypeUtils.staticTypeFromExprValue
org.partiql.lang.types.StaticType.isInstance
->org.partiql.lang.types.StaticTypeUtils.isInstance
org.partiql.lang.types.StaticType.isComparableTo
->org.partiql.lang.types.StaticTypeUtils.areStaticTypesComparable
org.partiql.lang.types.StaticType.isSubTypeOf
->org.partiql.lang.types.StaticTypeUtils.isSubTypeOf
org.partiql.lang.types.StaticType.typeDomain
->org.partiql.lang.types.StaticTypeUtils.getTypeDomain
org.partiql.lang.types.SingleType.getRuntimeType
->org.partiql.lang.types.StaticTypeUtils.getRuntimeType
org.partiql.lang.types.StringType.StringLengthConstraint.matches
->org.partiql.lang.types.StaticTypeUtils.stringLengthConstraintMatches
- All references to static types need to modify their imports accordingly. For example,
- Breaking: Removes deprecated
ionSystem()
function from PartiQLCompilerBuilder and PartiQLParserBuilder - Breaking: Adds a new property
as_alias
to theinsert
AST node. - Breaking: Adds new property
condition
to the AST nodes ofdo_replace
anddo_update
- Breaking: Adds
target_alias
property to thedml_insert
,dml_replace
, anddml_update
nodes within the
Logical and Logical Resolved plans - Breaking: Adds
condition
property to thedml_replace
anddml_update
nodes within the
Logical and Logical Resolved plans
Deprecated
ExprValueFactory
interface marked as deprecated. EquivalentExprValue
construction methods are implemented in theExprValue
interface as static methods.
Fixed
- Javadoc jar now contains dokka docs (was broken by gradle commit from 0.9.0)
- ANTLR (PartiQL.g4, PartiQLTokens.g4) and PIG (org/partiql/type-domains/partiql.ion) sources
are back to being distributed with the jar. - CLI no longer terminates on user errors in submitted PartiQL (when printing out the AST with !!)
and no longer prints out stack traces upon user errors. - Constrained Decimal matching logic.
- Parsing INSERT statements with aliases no longer loses the original table name. Closes #1043.
- Parsing INSERT statements with the legacy ON CONFLICT clause is no longer valid. Similarly, parsing the legacy INSERT
statement with the up-to-date ON CONFLICT clause is no longer valid. Closes #1063.
Removed
- The deprecated
IonValue
property inExprValue
interface is now removed. - Removed partiql-extensions to partiql-cli
org.partiql.cli.functions
- Removed IonSystem from PartiQLParserBuilder
- Breaking: Removes node
statement.dml_query
from the experimental PartiQL Physical Plan. Please see the added
statement.dml
anddml_operation
nodes.
Security
- None
Commits: v0.9.4-alpha...v0.10.0-alpha
v0.9.4-alpha
Release v0.9.4-alpha
This release reverts changes in the previous release v0.9.3-alpha
because the previous version contains the following breaking changes:
StaticType
move frompartiql-lang
topartiql-types
.- Deprecated
ionSystem()
function has been removed fromPartiQLCompilerBuilder
andPartiQLParserBuilder
.
List of commits: v0.9.3-alpha...v0.9.4-alpha
v0.9.3-alpha
Release v0.9.3-alpha
Please note:
Although this version is versioned as patch on v0.9.2-alpha
(the previous version) it still contains the following breaking changes PartiQL maintainers are working to rectify this issue and will update the release notes:
StaticType
move frompartiql-lang
topartiql-types
.- Deprecated
ionSystem()
function has been removed fromPartiQLCompilerBuilder
andPartiQLParserBuilder
.
Added
- Added numeric builtins ABS, SQRT, EXP, LN, POW, MOD.
- Added standard SQL built-in functions POSITION, OVERLAY, LENGTH, BIT_LENGTH, OCTET_LENGTH, CARDINALITY,
an additional builtin TEXT_REPLACE, and standard SQL aggregations on booleans EVERY, ANY, SOME. - Breaking Added coercion of SQL-style subquery to a single value, as defined in SQL for
subqueries occurring in a single-value context and outlined in Chapter 9 of the PartiQL specification.
This is backward incompatible with the prior behavior (which left the computed collection as is),
but brings it in conformance with the specification. - Added
partiql-plan
package which contains experimental PartiQL Plan data structures. - Initializes SPI Framework under
partiql-spi
. - Models experimental
Schema
with constraints.
With this change, we're introducingTuple
andCollection
constraints to be able to model the shape of data as
constraints. - Introduces the PartiQLSchemaInferencer and PlannerSession
- The PlannerSession describes the current session and is used by the PartiQLSchemaInferencer.
- The PartiQLSchemaInferencer provides a function,
infer
, to aid in inferring the outputStaticType
of a
PartiQL Query. See the KDoc for more information and examples.
Changed
- Deprecates the project level opt-in annotation
PartiQLExperimental
and split it into feature level.ExperimentalPartiQLCompilerPipeline
andExperimentalWindowFunctions
. - Breaking: Moves StaticType to
partiql-types
.- All references to static types need to modify their imports accordingly. For example,
org.partiql.lang.types.IntType
is noworg.partiql.types.IntType
. - Please modify existing dependencies accordingly. You may need to add dependency
org.partiql:partiql-types:0.10.0
. - Also, several methods within StaticType have been moved to a utility class within
partiql-lang-kotln
. See the below list:org.partiql.lang.types.StaticType.fromExprValueType
->org.partiql.lang.types.StaticTypeUtils.staticTypeFromExprValueType
org.partiql.lang.types.StaticType.fromExprValue
->org.partiql.lang.types.StaticTypeUtils.staticTypeFromExprValue
org.partiql.lang.types.StaticType.isInstance
->org.partiql.lang.types.StaticTypeUtils.isInstance
org.partiql.lang.types.StaticType.isComparableTo
->org.partiql.lang.types.StaticTypeUtils.areStaticTypesComparable
org.partiql.lang.types.StaticType.isSubTypeOf
->org.partiql.lang.types.StaticTypeUtils.isSubTypeOf
org.partiql.lang.types.StaticType.typeDomain
->org.partiql.lang.types.StaticTypeUtils.getTypeDomain
org.partiql.lang.types.SingleType.getRuntimeType
->org.partiql.lang.types.StaticTypeUtils.getRuntimeType
org.partiql.lang.types.StringType.StringLengthConstraint.matches
->org.partiql.lang.types.StaticTypeUtils.stringLengthConstraintMatches
- All references to static types need to modify their imports accordingly. For example,
- Breaking: Removes deprecated
ionSystem()
function from PartiQLCompilerBuilder and PartiQLParserBuilder
Deprecated
ExprValueFactory
interface marked as deprecated. EquivalentExprValue
construction methods are implemented in theExprValue
interface as static methods.
Fixed
-
Javadoc jar now contains dokka docs (was broken by gradle commit from 0.9.0)
-
ANTLR (PartiQL.g4, PartiQLTokens.g4) and PIG (org/partiql/type-domains/partiql.ion) sources
are back to being distributed with the jar. -
CLI no longer terminates on user errors in submitted PartiQL (when printing out the AST with !!)
and no longer prints out stack traces upon user errors. -
Constrained Decimal matching logic.
Removed
- The deprecated
IonValue
property inExprValue
interface is now removed. - Removed partiql-extensions to partiql-cli
org.partiql.cli.functions
- Removed IonSystem from PartiQLParserBuilder
Security
List of commits: v0.9.2-alpha...v0.9.3-alpha
v0.9.2-alpha
This version is a minor version with no breaking changes.
Release v0.9.2-alpha
Features
- Integrates Pico CLI to create a better CLI experience
- Adds support for shebangs (allowing for executable PartiQL files)
Fixes
- Fixes list/bag ExprValue creation in plan evaluator
- Fixes gradle build issues
List of commits: v0.9.1-alpha...v0.9.2-alpha
v0.9.1-alpha
This version is a minor version with no breaking changes.
Added
- Makes the following
PartiQLCompilerBuilder
functions public:customOperatorFactories
customFunctions
customProcedures
customTypes
List of commits: v0.9.0-alpha...v0.9.1-alpha
v0.9.0-alpha
Breaking Changes
Breaking behavioral changes
In version v.9.0, as a result of deprecating ionValue
property in ExprValue
and introduction of the substitute method ExprValue.toIonValue(ion: IonSystem)
in Kotlin, and ExprValueKt.toIonValue(value: ExprValue, ion: IonSystem)
in Java.
Ion annotation will get elided from the provided Ion values in identity evaluations:
Example
val query = `annotation::1`
/* Prior to v0.9
ExprValue: IonExprValue
ionValue: annotation::1
*/
/* After v0.9
ExprValue: IntExprValue
toIonValue: 1
*/
Other Breaking Changes
- Removes the deprecated V0 AST in the codebase.
- Removes the deprecated MetaContainer in the codebase, removed interfaces and classes include:
- [MetaContainer] Interface
- [MetaContainerImpl]
- [MetaDeserialize]
- [MemoizedMetaDeserializer]
- Removes the deprecated Rewriter/AstWalker/AstVisitor in the code base, removed interfaces and classes include:
- [AstRewriter] Interface & [AstRewriterBase] class
- [AstVisitor] Interface & [AstVisitorBase] class
- [AstWalker] class
- [MetaStrippingRewriter] class
- Removes the deprecated ExprNode and related files in the code base.
- [Parser] API
parseExprNode(source: String): ExprNode
has been removed. - [CompilerPipeline] API
compile(query: ExprNode): Expression
has been removed. - [ExprNode] and [AstNode] have been removed.
- Functions related to conversions between ExprNode and PartiqlAst have been removed.
- [Parser] API
- Removes the deprecated SqlParser and SqlLexer
- Removes the
CallAgg
node from the Logical, LogicalResolved, and Physical plans. - Removes the experimental
PlannerPipeline
and replaces it withPartiQLCompilerPipeline
.
Added
- Adds simple auto-completion to the CLI.
- Adds the IsListParenthesizedMeta meta to aid in differentiating between parenthesized and non-parenthesized lists
- Adds support for HAVING clause in planner
- Adds support for collection aggregation functions in the EvaluatingCompiler and experimental planner
- Adds support for the syntactic sugar of using aggregations functions in place of their collection aggregation function
counterparts (in the experimental planner) - Experimental implementation for window function
Lag
andLead
. - Adds support for EXPLAIN
- Adds continuous performance benchmarking to the CI for existing JMH benchmarks
- Benchmark results can be seen on the project's GitHub Pages site
- Adds the
pipeline
flag to the CLI to provide experimental usage of the PartiQLCompilerPipeline - Added
ExprValue.toIonValue(ion: IonSystem)
in kotlin, andExprValueExtensionKt.toIonValue(value: ExprValue, ion: IonSystem)
in Java to transform oneExprValue
to a correspondingIonValue
. - Added
ExprValue.of(value: IonValue)
method to construct anExprValue
from anIonValue
.
Changed
- Now
CompileOption
usesTypedOpParameter.HONOR_PARAMETERS
as default. - Updates the CLI Shell Highlighter to use the ANTLR generated lexer/parser for highlighting user queries
- PartiQL MISSING in Ion representation now becomes ion null with annotation of
$missing
, instead of$partiql_missing
- PartiQL BAG in Ion representation now becomes ion list with annotation of
$bag
, instead of$partiql_bag
- PartiQL DATE in Ion representation now becomes ion timestamp with annotation of
$date
, instead of$partiql_date
- PartiQL TIME in Ion representation now becomes ion struct with annotation of
$time
, instead of$partiql_time
- Simplifies the aggregation operator in the experimental planner by removing the use of metas
- Increases the performance of the PartiQLParser by changing the parsing strategy
- The PartiQLParser now attempts to parse queries using the SLL Prediction Mode set by ANTLR
- If unable to parse via SLL Prediction Mode, it attempts to parse using the slower LL Prediction Mode
- Modifications have also been made to the ANTLR grammar to increase the speed of parsing joined table references
- Updates how the PartiQLParser handles parameter indexes to remove the double-pass while lexing
- Changes the expected
Property
's ofTOKEN_INFO
to useProperty.TOKEN_DESCRIPTION
instead ofProperty.TOKEN_TYPE
Deprecated
- Marks the GroupKeyReferencesVisitorTransform as deprecated. There is no functionally equivalent class.
- Marks
ionValue
property inExprValue
interface as deprecated. The functional equivalent method isExprValue.toIonValue(ion: IonSystem)
in kotlin, andExprValueKt.toIonValue(value: ExprValue, ion: IonSystem)
in Java. - Marks
Lexer
,Token
,TokenType
,SourcePosition
, andSourceSpan
as deprecated. These will be removed without
any replacement. - Marks approximately 60
ErrorCode
's as deprecated. These will be removed without any replacement. - Marks
Property.TOKEN_TYPE
as deprecated. Please useProperty.TOKEN_DESCRIPTION
.
Fixed
- Fixes the ThreadInterruptedTests by modifying the time to interrupt parses. Also adds better exception exposure to
facilitate debugging.
v0.8.2-alpha
Description
This is a minor version release, v0.8.2-alpha.
Added
- Adds simple auto-completion to the CLI.
Changed
- Increases the performance of the PartiQLParser by changing the parsing strategy
- The PartiQLParser now attempts to parse queries using the SLL Prediction Mode set by ANTLR
- If unable to parse via SLL Prediction Mode, it attempts to parse using the slower LL Prediction Mode
- Modifications have also been made to the ANTLR grammar to increase the speed of parsing joined table references
- Updates how the PartiQLParser handles parameter indexes to remove the double-pass while lexing
List of commits: v0.8.1-alpha...v0.8.2-alpha.
v0.8.1-alpha
Description
This is a minor version release, v0.8.1-alpha.
Added
- Extends statement redaction to support
INSERT/REPLACE/UPSERT INTO
.
List of commits: v0.8.0-alpha...v0.8.1-alpha
v0.8.0-alpha
Description
This is a major version release for v0.8.0-alpha.
Breaking Changes
- Replaced
union
,intersect
,except
IR nodes with commonbag_op
IR node - Renamed
PassResult
to PlannerPassResult for clarity. (This is part of the experimental query planner API.) - Removed [ExprValueType.typeNames] as needed by the future work of legacy parser removal and OTS
Added
CHANGELOG.md
with back-filling of the previous releases to the change log to provide more visibility on unreleased
changes and make the release process easier by using theunreleased
section of change log. TheCONTRIBUTING.md
has also been updated to ensure this is part of the process.- backward-incompatiblity and dependency questions are added to the project's PR process to provide more context
on the changes that include these and the alternatives that have been considered. - README.md badges for GitHub Actions status, codecov, and license
- An experimental (pending #15) embedding of a subset of
the GPML (Graph Pattern Matching Language) graph query, as a new expression
form<expr> MATCH <gpml_pattern>
, which can be used as a bag-of-structs data source in theFROM
clause.
The use within the grammar is based on the assumption of a new graph data type being added to the
specification of data types within PartiQL, and should be considered experimental until the semantics of the graph
data type are specified.- basic and abbreviated node and edge patterns (section 4.1 of the GPML paper)
- concatenated path patterns (section 4.2 of the GPML paper)
- path variables (section 4.2 of the GPML paper)
- graph patterns (i.e., comma separated path patterns) (section 4.3 of the GPML paper)
- parenthesized patterns (section 4.4 of the GPML paper)
- path quantifiers (section 4.4 of the GPML paper)
- restrictors and selector (section 5.1 of the GPML paper)
- pre-filters and post-filters (section 5.2 of the GPML paper)
- Added EvaluatonSession.context: A string-keyed map of arbitrary values which provides a way to make
session state such as current user and transaction details available to custom [ExprFunction] implementations
and custom physical operator implementations. - Replaces
union
,intersect
,except
IR nodes with commonbag_op
IR node - Add support for CallAgg in Type Inferencer.
- A GitHub Workflow to automatically sync the
docs
directory with the GitHub Wiki - Introduces the
PartiQLParser
, an implementation ofParser
usingANTLR
- Parsing of
INSERT
DML withON CONFLICT DO REPLACE EXCLUDED
based on RFC-0011 - Adds a subset of
REPLACE INTO
andUPSERT INTO
parsing based on RFC-0030- Parsing of target attributes is not supported yet and is pending #841
- Logical plan representation and evaluation support for
INSERT
DML withON CONFLICT DO REPLACE EXCLUDED
andREPLACE INTO
based on RFC-0011 - Logical plan representation of
INSERT
DML withON CONFLICT DO UPDATE EXCLUDED
andUPSERT INTO
based on RFC-0011 - Enabled projection alias support for ORDER BY clause
Experimental Planner Additions
- Renamed
PassResult
to PlannerPassResult for clarity. (This is part of the experimental query planner API.) - The
PlannerPipeline
API now has experimental and partial support forINSERT
andDELETE
DML statements—
tracking PartiQL specification issues are partiql-docs/#4 (only
a subset has been implemented--see examples below) and
partiql-docs/#19.- Examples of supported statements include:
INSERT INTO foo << { 'id': 1, 'name': 'bob' }, { 'id': 2, 'name' : 'sue' } >>
(multi record insert)INSERT INTO foo SELECT c.id, c.name FROM customer AS c
(insert the results of a query into another table)DELETE FROM foo
(delete all records in a table)DELETE FROM foo AS f WHERE f.zipCode = '90210'
(delete all records matching a predicate)
- Examples of supported statements include:
- Introduced planner event callbacks as a means to provide a facility that allows the query to be visualized at every
stage in thePlannerPipeline
and to generate performance metrics for the individual phases of query planning. See
PlannerPipe.Builder.plannerEventCallback
for details. - Adds the following optimization passes, none of which are enabled by default:
FilterScanToKeyLookupPass
which performs a simple optimization common to most databases: it converts a filter
predicate covering a table's complete primary key into a single get-by-key operation, thereby avoiding a full table
scan. This may pass leave behind some uselessand
expressions if moreand
operands exist in the filter predicate
other than primary key field equality expressions.RemoveUselessAndsPass
, which removes any uselessand
expressions introduced by the previous pass or by the
query author, e.g.true and x.id = 42
->x.id = 42
),true and true
->true
, etc.RemoveUselessFiltersPass
, which removes useless filters introduced by the previous pass or by the query author
(e.g.(filter (lit true) <bexpr>))
-><bexpr>
.
- Add support for
UNPIVOT
, the behavior is expected to be compatible with theevaluating compiler
. - Adds support for GROUP BY (aggregations, group keys, etc)
- Adds support for ORDER BY in Planner
- Adds support for PIVOT in the planner consistent with
EvaluatingCompiler
Changed
- The default parser for all components of PartiQL is now the PartiQLParser -- see the deprecation of
SqlParser
- Parsing of
ORDER BY
clauses will no longer populate the AST with defaults for the 'sort specification'
(i.e.,ASC
orDESC
) or 'nulls specification' (i.e.,NULLS FIRST
orNULLS LAST
) when the are not provided in
the query text. Defaulting of sort order is moved to the evaluator.
Deprecated
- Deprecates
SqlLexer
andSqlParser
to be replaced with thePartiQLParserBuilder
. - Deprecates helper method,
blacklist
, withinorg.partiql.lang.eval
and introduced a functionally equivalent
org.partiql.lang.eval.denyList
method. - Deprecates
TypedOpParameter.LEGACY
to be replaced withTypedOpParameter.HONOR_PARAMETERS
Fixed
- Codecov report uploads in GitHub Actions workflow
- GitHub Actions capability to run on forks
- Negation overflow caused by minimum INT8
- Type mismatch error caused by evaluator's integer overflow check
- Cast function's behavior on positive_infinity, negative_infinity, and NaN explicitly defined and handled.
- Changed Trim Function Specification handling(fixed error message, and now can take case-insensitive trim spec)
Removed
- README.md badge for travisci
- Breaking Change: removed [ExprValueType.typeNames] as needed by the future work of legacy parser removal and OTS
List of commits: v0.7.0-alpha...v0.8.0-alpha
v.0.7.0-alpha
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