-
Notifications
You must be signed in to change notification settings - Fork 67
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
LagandLead. - 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
pipelineflag 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 oneExprValueto a correspondingIonValue.
- Marks the GroupKeyReferencesVisitorTransform as deprecated. There is no functionally equivalent class.
- Marks
ionValueproperty inExprValueinterface 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, andSourceSpanas 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_TYPEas 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): ExprNodehas been removed. - [CompilerPipeline] API
compile(query: ExprNode): Expressionhas 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
CallAggnode from the Logical, LogicalResolved, and Physical plans. - Removes the experimental
PlannerPipelineand replaces it withPartiQLCompilerPipeline. - Removes the prior ability to convert an
IonDatagramto anExprValueusingof(value: IonValue): ExprValue, which is called bynewFromIonValue(value: IonValue): ExprValue- Workaround could be to use older version of
partiql-lang-kotlinor 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