summaryrefslogtreecommitdiffstats
path: root/yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-09-18 12:35:25 +0300
committervvvv <[email protected]>2025-09-18 12:48:14 +0300
commitf5a6d6cdfb9d7c44659f134a53c2fa273ec85599 (patch)
tree5cc206b17db5fa8f976ea922c997095a1d133687 /yql/essentials/providers/common/schema/expr/yql_expr_schema.cpp
parente2dc5e15bc02bff63e44ed9c74ff1093d87d845b (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.cpp12
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));