From c4136bc3ed2fea6f8f2bdcfc8f1329f374fe9082 Mon Sep 17 00:00:00 2001 From: ivanmorozov Date: Fri, 22 Sep 2023 09:59:05 +0300 Subject: additional verification --- .../columnshard/engines/scheme/column_features.cpp | 23 ++++++++++------------ .../columnshard/engines/scheme/column_features.h | 5 +++-- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/ydb/core/tx/columnshard/engines/scheme/column_features.cpp b/ydb/core/tx/columnshard/engines/scheme/column_features.cpp index dd6341ec7a2..f039fb78147 100644 --- a/ydb/core/tx/columnshard/engines/scheme/column_features.cpp +++ b/ydb/core/tx/columnshard/engines/scheme/column_features.cpp @@ -23,20 +23,17 @@ NArrow::NTransformation::ITransformer::TPtr TColumnFeatures::GetLoadTransformer( } std::shared_ptr TColumnFeatures::GetLoader(const TIndexInfo& info) const { - if (!LoaderCache) { - NArrow::NTransformation::ITransformer::TPtr transformer = GetLoadTransformer(); - auto schema = info.GetColumnSchema(ColumnId); - if (!transformer) { - LoaderCache = std::make_shared(transformer, - std::make_shared(schema), - schema, ColumnId); - } else { - LoaderCache = std::make_shared(transformer, - std::make_shared(), - schema, ColumnId); - } + NArrow::NTransformation::ITransformer::TPtr transformer = GetLoadTransformer(); + auto schema = info.GetColumnSchema(ColumnId); + if (!transformer) { + return std::make_shared(transformer, + std::make_shared(schema), + schema, ColumnId); + } else { + return std::make_shared(transformer, + std::make_shared(), + schema, ColumnId); } - return LoaderCache; } std::optional TColumnFeatures::BuildFromProto(const NKikimrSchemeOp::TOlapColumnDescription& columnInfo, const ui32 columnId) { diff --git a/ydb/core/tx/columnshard/engines/scheme/column_features.h b/ydb/core/tx/columnshard/engines/scheme/column_features.h index 24e07ac7c61..d974810a9cc 100644 --- a/ydb/core/tx/columnshard/engines/scheme/column_features.h +++ b/ydb/core/tx/columnshard/engines/scheme/column_features.h @@ -89,6 +89,8 @@ public: , ColumnId(columnId) { Y_VERIFY(ExpectedSchema); + auto fieldsCountStr = ::ToString(ExpectedSchema->num_fields()); + Y_VERIFY(ExpectedSchema->num_fields() == 1, "%s", fieldsCountStr.data()); Y_VERIFY(Deserializer); } @@ -96,7 +98,7 @@ public: return ColumnId; } - std::shared_ptr GetExpectedSchema() const { + const std::shared_ptr& GetExpectedSchema() const { return ExpectedSchema; } @@ -121,7 +123,6 @@ private: const ui32 ColumnId; std::optional Compression; std::optional DictionaryEncoding; - mutable std::shared_ptr LoaderCache; public: TColumnFeatures(const ui32 columnId) : ColumnId(columnId) -- cgit v1.3