diff options
author | azevaykin <azevaykin@ydb.tech> | 2023-12-15 15:57:45 +0300 |
---|---|---|
committer | azevaykin <azevaykin@ydb.tech> | 2023-12-15 17:58:33 +0300 |
commit | 84373cb6acc5cd0436c69c226658e1917ef4cbfe (patch) | |
tree | aedb0cf5831bf496df2897bbf6015862fa0586f3 | |
parent | 238a47c952ce98f0391472b59fb39d37636a0c91 (diff) | |
download | ydb-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.cpp | 9 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/ut_rw/ut_normalizer.cpp | 4 | ||||
-rw-r--r-- | ydb/core/tx/data_events/events.h | 6 |
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 { |