-
Notifications
You must be signed in to change notification settings - Fork 62
v0.5 to v0.6 upgrade
yliuuuu edited this page Nov 2, 2022
·
4 revisions
-
ORDER BY
implementation in the evaluator
-
ExprNode
deprecated 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
Environment
withEvaluationSession
forExprFunction
s
// ----- 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")
}
}
-
NaturalExprValueComparators
fields 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.kt
rather thanlang/domains/partiql-domains.kt
. - Make a few APIs internal:
Environment
ExprAggregator
ExprAggregatorFactory
- lang/eval’s
Group
class RegisterBank
ThunkEnv
-
ThunkExceptionHandlerForLegacyMode
andThunkExceptionHandlerForPermissiveMode
-
DEFAULT_EXCEPTION_HANDLER_FOR_LEGACY_MODE
andDEFAULT_EXCEPTION_HANDLER_FOR_PERMISSIVE_MODE
- General
- Tutorials
- Documentation
- Clauses
- Testing
- Serde
- Upgrade Guides
- Design & Development Documents
- V1 Documentation
- Basics
- PartiQL CLI
- Developer Usage Guides