-
Notifications
You must be signed in to change notification settings - Fork 67
v0.5 to v0.6 upgrade
yliuuuu edited this page Nov 2, 2022
·
4 revisions
-
ORDER BYimplementation in the evaluator
-
ExprNodedeprecated in rest of code base including evaluator
- Upgrade Kotlin version to 1.4.322
- [fix] changed path ast node to sue its root node source location
- Replace
EnvironmentwithEvaluationSessionforExprFunctions
// ----- v0.5.* -----
class SomeExprFunction(): ExprFunction {
override val signature = FunctionSignature(
name = "some_expr_function",
requiredParameters = listOf(StaticType.ANY),
optionalParameter = StaticType.ANY,
returnType = StaticType.ANY
)
// In v0.5.0, the `callWith*` functions' first argument was `Environment`
override fun callWithRequired(env: Environment, required: List<ExprValue>): ExprValue {
TODO("Implementation details without optional argument")
}
override fun callWithOptional(env: Environment, required: List<ExprValue>, opt: ExprValue): ExprValue {
TODO("Implementation details with optional argument")
}
}// ----- v0.6.* -----
class SomeExprFunction(): ExprFunction {
override val signature = FunctionSignature(
name = "some_expr_function",
requiredParameters = listOf(StaticType.ANY),
optionalParameter = StaticType.ANY,
returnType = StaticType.ANY
)
// Starting in v0.6.0, the `callWith*` functions' first argument is changed to `EvaluationSession`.
// `Environment` has also been made private
override fun callWithRequired(session: EvaluationSession, required: List<ExprValue>): ExprValue {
TODO("Implementation details without optional argument")
}
override fun callWithOptional(session: EvaluationSession, required: List<ExprValue>, opt: ExprValue): ExprValue {
TODO("Implementation details with optional argument")
}
}-
NaturalExprValueComparatorsfields have been renamed
-
NULLS_FIRST→NULLS_FIRST_ASC -
NULLS_LAST→NULLS_FIRST_DESC
- Upgrade to PIG v0.5.0. This doesn't have any direct breaking changes. With PIG v0.5.0, the generated sources will
now be in
lang/domains/PartiqlAst.generated.ktrather thanlang/domains/partiql-domains.kt. - Make a few APIs internal:
EnvironmentExprAggregatorExprAggregatorFactory- lang/eval’s
Groupclass RegisterBankThunkEnv-
ThunkExceptionHandlerForLegacyModeandThunkExceptionHandlerForPermissiveMode -
DEFAULT_EXCEPTION_HANDLER_FOR_LEGACY_MODEandDEFAULT_EXCEPTION_HANDLER_FOR_PERMISSIVE_MODE
- General
- Tutorials
- Documentation
- Clauses
- Testing
- Serde
- Upgrade Guides
- Design & Development Documents
- V1 Documentation
- Basics
- PartiQL CLI
- Developer Usage Guides