aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorazevaykin <azevaykin@ydb.tech>2023-12-15 15:57:45 +0300
committerazevaykin <azevaykin@ydb.tech>2023-12-15 17:58:33 +0300
commit84373cb6acc5cd0436c69c226658e1917ef4cbfe (patch)
treeaedb0cf5831bf496df2897bbf6015862fa0586f3
parent238a47c952ce98f0391472b59fb39d37636a0c91 (diff)
downloadydb-84373cb6acc5cd0436c69c226658e1917ef4cbfe.tar.gz
Simplify AddOperation
[Тут](https://a.yandex-team.ru/arcadia/ydb/core/tx/data_events/events.h?rev=rXXXXXX#L52) передается целая схема, когда для proto нужен только массив идентификаторов колонок.
-rw-r--r--ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp9
-rw-r--r--ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp4
-rw-r--r--ydb/core/tx/data_events/events.h6
3 files changed, 11 insertions, 8 deletions
diff --git a/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp b/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp
index d2ae54d73f..317cab0a26 100644
--- a/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp
+++ b/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp
@@ -1569,6 +1569,7 @@ Y_UNIT_TEST_SUITE(EvWrite) {
{"key", TTypeInfo(NTypeIds::Uint64) },
{"field", TTypeInfo(NTypeIds::Utf8) }
};
+ const std::vector<ui32> columnsIds = {1, 2};
PrepareTablet(runtime, tableId, schema);
const ui64 txId = 111;
@@ -1582,7 +1583,7 @@ Y_UNIT_TEST_SUITE(EvWrite) {
auto evWrite = std::make_unique<NKikimr::NEvents::TDataEvents::TEvWrite>(txId, NKikimrDataEvents::TEvWrite::MODE_PREPARE);
ui64 payloadIndex = NEvWrite::TPayloadHelper<NKikimr::NEvents::TDataEvents::TEvWrite>(*evWrite).AddDataToPayload(std::move(blobData));
- evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, schema, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
+ evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, columnsIds, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
TActorId sender = runtime.AllocateEdgeActor();
ForwardToTablet(runtime, TTestTxConfig::TxTablet0, sender, evWrite.release());
@@ -1616,6 +1617,7 @@ Y_UNIT_TEST_SUITE(EvWrite) {
{"key", TTypeInfo(NTypeIds::Uint64) },
{"field", TTypeInfo(NTypeIds::Utf8) }
};
+ const std::vector<ui32> columnsIds = {1, 2};
PrepareTablet(runtime, tableId, schema);
const ui64 txId = 111;
@@ -1629,7 +1631,7 @@ Y_UNIT_TEST_SUITE(EvWrite) {
auto evWrite = std::make_unique<NKikimr::NEvents::TDataEvents::TEvWrite>(txId, NKikimrDataEvents::TEvWrite::MODE_PREPARE);
ui64 payloadIndex = NEvWrite::TPayloadHelper<NKikimr::NEvents::TDataEvents::TEvWrite>(*evWrite).AddDataToPayload(std::move(blobData));
- evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, schema, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
+ evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, columnsIds, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
TActorId sender = runtime.AllocateEdgeActor();
ForwardToTablet(runtime, TTestTxConfig::TxTablet0, sender, evWrite.release());
@@ -1660,6 +1662,7 @@ Y_UNIT_TEST_SUITE(EvWrite) {
{"key", TTypeInfo(NTypeIds::Uint64) },
{"field", TTypeInfo(NTypeIds::Utf8) }
};
+ const std::vector<ui32> columnsIds = {1, 2};
PrepareTablet(runtime, tableId, schema);
const ui64 txId = 111;
@@ -1673,7 +1676,7 @@ Y_UNIT_TEST_SUITE(EvWrite) {
auto evWrite = std::make_unique<NKikimr::NEvents::TDataEvents::TEvWrite>(txId, NKikimrDataEvents::TEvWrite::MODE_PREPARE);
ui64 payloadIndex = NEvWrite::TPayloadHelper<NKikimr::NEvents::TDataEvents::TEvWrite>(*evWrite).AddDataToPayload(std::move(blobData));
- evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, schema, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
+ evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, columnsIds, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
TActorId sender = runtime.AllocateEdgeActor();
ForwardToTablet(runtime, TTestTxConfig::TxTablet0, sender, evWrite.release());
diff --git a/ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp b/ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp
index ce9966b5e7..51f0d9784b 100644
--- a/ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp
+++ b/ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp
@@ -231,6 +231,7 @@ Y_UNIT_TEST_SUITE(Normalizers) {
{"key2", TTypeInfo(NTypeIds::Uint64) },
{"field", TTypeInfo(NTypeIds::Utf8) }
};
+ const std::vector<ui32> columnsIds = { 1, 2, 3};
PrepareTablet(runtime, tableId, schema, 2);
const ui64 txId = 111;
@@ -243,7 +244,8 @@ Y_UNIT_TEST_SUITE(Normalizers) {
TString blobData = NArrow::SerializeBatchNoCompression(batch);
auto evWrite = std::make_unique<NKikimr::NEvents::TDataEvents::TEvWrite>(txId, NKikimrDataEvents::TEvWrite::MODE_PREPARE);
- ui64 payloadIndex = NEvWrite::TPayloadHelper<NKikimr::NEvents::TDataEvents::TEvWrite>(*evWrite).AddDataToPayload(std::move(blobData)); evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, schema, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
+ ui64 payloadIndex = NEvWrite::TPayloadHelper<NKikimr::NEvents::TDataEvents::TEvWrite>(*evWrite).AddDataToPayload(std::move(blobData));
+ evWrite->AddOperation(NKikimrDataEvents::TEvWrite::TOperation::OPERATION_REPLACE, tableId, 1, columnsIds, payloadIndex, NKikimrDataEvents::FORMAT_ARROW);
TActorId sender = runtime.AllocateEdgeActor();
ForwardToTablet(runtime, TTestTxConfig::TxTablet0, sender, evWrite.release());
diff --git a/ydb/core/tx/data_events/events.h b/ydb/core/tx/data_events/events.h
index 28679f9b26..77a5d08758 100644
--- a/ydb/core/tx/data_events/events.h
+++ b/ydb/core/tx/data_events/events.h
@@ -49,7 +49,7 @@ struct TDataEvents {
}
void AddOperation(NKikimrDataEvents::TEvWrite_TOperation::EOperationType operationType, ui64 tableId,
- ui64 schemaVersion, const std::vector<std::pair<TString, NScheme::TTypeInfo>>& ydbSchema,
+ ui64 schemaVersion, const std::vector<ui32>& columnIds,
ui64 payloadIndex, NKikimrDataEvents::EDataFormat payloadFormat) {
Y_ABORT_UNLESS(operationType != NKikimrDataEvents::TEvWrite::TOperation::OPERATION_UNSPECIFIED);
Y_ABORT_UNLESS(payloadFormat != NKikimrDataEvents::FORMAT_UNSPECIFIED);
@@ -60,9 +60,7 @@ struct TDataEvents {
operation->SetPayloadIndex(payloadIndex);
operation->MutableTableId()->SetTableId(tableId);
operation->MutableTableId()->SetSchemaVersion(schemaVersion);
- for (ui32 i = 0; i < ydbSchema.size(); ++i) {
- operation->AddColumnIds(i + 1);
- }
+ operation->MutableColumnIds()->Assign(columnIds.begin(), columnIds.end());
}
ui64 GetTxId() const {