v0.9.3-alpha
Pre-release
Pre-release
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