diff options
author | vvvv <[email protected]> | 2025-09-18 12:35:25 +0300 |
---|---|---|
committer | vvvv <[email protected]> | 2025-09-18 12:48:14 +0300 |
commit | f5a6d6cdfb9d7c44659f134a53c2fa273ec85599 (patch) | |
tree | 5cc206b17db5fa8f976ea922c997095a1d133687 /yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp | |
parent | e2dc5e15bc02bff63e44ed9c74ff1093d87d845b (diff) |
YQL-20339 expr types & reflection
init
commit_hash:1c72053b3785a26cfde418f28a9d054b5a624627
Diffstat (limited to 'yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp')
-rw-r--r-- | yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp b/yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp index b834794b5bd..cc40b5c18a9 100644 --- a/yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp +++ b/yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp @@ -224,6 +224,12 @@ public: case ETypeAnnotationKind::Stream: TBase::SaveStreamType(*type->Cast<TStreamExprType>()); break; + case ETypeAnnotationKind::Linear: + TBase::SaveLinearType(*type->Cast<TLinearExprType>()); + break; + case ETypeAnnotationKind::DynamicLinear: + TBase::SaveDynamicLinearType(*type->Cast<TDynamicLinearExprType>()); + break; default: YQL_ENSURE(false, "Unsupported type annotation kind: " << type->GetKind()); } @@ -337,6 +343,12 @@ struct TExprTypeLoader { TMaybe<TType> LoadOptionalType(TType itemType, ui32 /*level*/) { return Ctx.MakeType<TOptionalExprType>(itemType); } + TMaybe<TType> LoadLinearType(TType itemType, ui32 /*level*/) { + return Ctx.MakeType<TLinearExprType>(itemType); + } + TMaybe<TType> LoadDynamicLinearType(TType itemType, ui32 /*level*/) { + return Ctx.MakeType<TDynamicLinearExprType>(itemType); + } TMaybe<TType> LoadTupleType(const TVector<TType>& elements, ui32 /*level*/) { auto ret = Ctx.MakeType<TTupleExprType>(elements); YQL_ENSURE(ret->Validate(TPosition(), Ctx)); |