aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornsofya <nsofya@yandex-team.com>2023-05-26 19:12:11 +0300
committernsofya <nsofya@yandex-team.com>2023-05-26 19:12:11 +0300
commite54492a5b591e75a7c69443cce17cbc3881a9e9e (patch)
tree3376f7408d637fe3d33d998f782c14b085d73fee
parent08ab69adc6a4958ba226238d3a2f8213bcdbec3d (diff)
downloadydb-e54492a5b591e75a7c69443cce17cbc3881a9e9e.tar.gz
TUpdatesBuilder -> TTableUpdatesBuilder
TUpdatesBuilder -> TTableUpdatesBuilder
-rw-r--r--ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp54
-rw-r--r--ydb/core/tx/columnshard/columnshard_ut_common.h56
2 files changed, 58 insertions, 52 deletions
diff --git a/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp b/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp
index 6b5bb253042..b0bcf7fc2e5 100644
--- a/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp
+++ b/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp
@@ -1,6 +1,7 @@
#include <ydb/core/kqp/ut/common/kqp_ut_common.h>
#include <ydb/core/formats/arrow/arrow_helpers.h>
#include <ydb/core/tx/tx_proxy/proxy.h>
+#include <ydb/core/tx/columnshard/columnshard_ut_common.h>
#include <ydb/public/sdk/cpp/client/ydb_proto/accessor.h>
#include <ydb/public/sdk/cpp/client/ydb_scheme/scheme.h>
#include <ydb/public/sdk/cpp/client/ydb_topic/topic.h>
@@ -4188,58 +4189,7 @@ Y_UNIT_TEST_SUITE(KqpOlapScheme) {
}
};
- class TUpdatesBuilder {
- std::vector<std::unique_ptr<arrow::ArrayBuilder>> Builders;
- std::shared_ptr<arrow::Schema> Schema;
- ui32 RowsCount = 0;
- public:
- class TRowBuilder {
- TUpdatesBuilder& Owner;
- YDB_READONLY(ui32, Index, 0);
- public:
- TRowBuilder(ui32 index, TUpdatesBuilder& owner)
- : Owner(owner)
- , Index(index)
- {}
-
- template <class T>
- TRowBuilder Add(const T& data) {
- Y_VERIFY(Index < Owner.Builders.size());
- auto dataScalar = arrow::MakeScalar(data);
- auto res = Owner.Builders[Index]->AppendScalar(*dataScalar);
- return TRowBuilder(Index + 1, Owner);
- }
-
- TRowBuilder AddNull() {
- Y_VERIFY(Index < Owner.Builders.size());
- auto res = Owner.Builders[Index]->AppendNull();
- return TRowBuilder(Index + 1, Owner);
- }
- };
-
- TUpdatesBuilder(std::shared_ptr<arrow::Schema> schema)
- : Schema(schema)
- {
- Builders = NArrow::MakeBuilders(schema);
- Y_VERIFY(Builders.size() == schema->fields().size());
- }
-
- TRowBuilder AddRow() {
- ++RowsCount;
- return TRowBuilder(0, *this);
- }
-
- std::shared_ptr<arrow::RecordBatch> BuildArrow() {
- TVector<std::shared_ptr<arrow::Array>> columns;
- columns.reserve(Builders.size());
- for (auto&& builder : Builders) {
- auto arrayDataRes = builder->Finish();
- Y_VERIFY(arrayDataRes.ok());
- columns.push_back(*arrayDataRes);
- }
- return arrow::RecordBatch::Make(Schema, RowsCount, columns);
- }
- };
+ using TUpdatesBuilder = NColumnShard::TTableUpdatesBuilder;
class TColumnTableBase {
YDB_ACCESSOR_DEF(TString, Name);
diff --git a/ydb/core/tx/columnshard/columnshard_ut_common.h b/ydb/core/tx/columnshard/columnshard_ut_common.h
index 5c447300298..d257f9e2c40 100644
--- a/ydb/core/tx/columnshard/columnshard_ut_common.h
+++ b/ydb/core/tx/columnshard/columnshard_ut_common.h
@@ -416,4 +416,60 @@ TString MakeTestBlob(std::pair<ui64, ui64> range, const std::vector<std::pair<TS
TSerializedTableRange MakeTestRange(std::pair<ui64, ui64> range, bool inclusiveFrom, bool inclusiveTo,
const std::vector<std::pair<TString, NScheme::TTypeInfo>>& columns);
+
+}
+
+namespace NKikimr::NColumnShard {
+ class TTableUpdatesBuilder {
+ std::vector<std::unique_ptr<arrow::ArrayBuilder>> Builders;
+ std::shared_ptr<arrow::Schema> Schema;
+ ui32 RowsCount = 0;
+ public:
+ class TRowBuilder {
+ TTableUpdatesBuilder& Owner;
+ YDB_READONLY(ui32, Index, 0);
+ public:
+ TRowBuilder(ui32 index, TTableUpdatesBuilder& owner)
+ : Owner(owner)
+ , Index(index)
+ {}
+
+ template <class T>
+ TRowBuilder Add(const T& data) {
+ Y_VERIFY(Index < Owner.Builders.size());
+ auto dataScalar = arrow::MakeScalar(data);
+ auto res = Owner.Builders[Index]->AppendScalar(*dataScalar);
+ return TRowBuilder(Index + 1, Owner);
+ }
+
+ TRowBuilder AddNull() {
+ Y_VERIFY(Index < Owner.Builders.size());
+ auto res = Owner.Builders[Index]->AppendNull();
+ return TRowBuilder(Index + 1, Owner);
+ }
+ };
+
+ TTableUpdatesBuilder(std::shared_ptr<arrow::Schema> schema)
+ : Schema(schema)
+ {
+ Builders = NArrow::MakeBuilders(schema);
+ Y_VERIFY(Builders.size() == schema->fields().size());
+ }
+
+ TRowBuilder AddRow() {
+ ++RowsCount;
+ return TRowBuilder(0, *this);
+ }
+
+ std::shared_ptr<arrow::RecordBatch> BuildArrow() {
+ TVector<std::shared_ptr<arrow::Array>> columns;
+ columns.reserve(Builders.size());
+ for (auto&& builder : Builders) {
+ auto arrayDataRes = builder->Finish();
+ Y_VERIFY(arrayDataRes.ok());
+ columns.push_back(*arrayDataRes);
+ }
+ return arrow::RecordBatch::Make(Schema, RowsCount, columns);
+ }
+ };
}