-
Notifications
You must be signed in to change notification settings - Fork 62
v0.8 to v0.9 upgrade
am357 edited this page Sep 13, 2023
·
5 revisions
- 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, andExprValueKt.toIonValue(value: ExprValue, ion: IonSystem)
in Java to transform oneExprValue
to a correspondingIonValue
.
- 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
.
- Fixes the ThreadInterruptedTests by modifying the time to interrupt parses. Also adds better exception exposure to facilitate debugging.
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:
val query = `annotation::1`
/* Prior to v0.9
ExprValue: IonExprValue
ionValue: annotation::1
*/
/* After v0.9
ExprValue: IntExprValue
toIonValue: 1
*/
Note: Support for Ion annotations will get added back once the work related to finalizing the specification as an RFC is completed. See partiql-spec/issues/63 for more details.
- 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
. - Removes the prior ability to convert an
IonDatagram
to anExprValue
usingof(value: IonValue): ExprValue
, which is called bynewFromIonValue(value: IonValue): ExprValue
- Workaround could be to use older version of
partiql-lang-kotlin
or convert theIonDatagram
's values into anIonList
- This will capability will be added back in an upcoming release
- Workaround could be to use older version of
- General
- Tutorials
- Documentation
- Clauses
- Testing
- Serde
- Upgrade Guides
- Design & Development Documents
- V1 Documentation
- Basics
- PartiQL CLI
- Developer Usage Guides