Skip to content

Commit e2ee1b2

Browse files
Clean max scalar (#10826)
1 parent 4762a8a commit e2ee1b2

File tree

21 files changed

+270
-196
lines changed

21 files changed

+270
-196
lines changed

.github/config/muted_ya.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ ydb/core/kqp/ut/scheme [*/*]+chunk+chunk
3939
ydb/core/kqp/ut/service KqpService.CloseSessionsWithLoad
4040
ydb/core/kqp/ut/service [*/*] chunk chunk
4141
ydb/core/kqp/ut/service [*/*]+chunk+chunk
42+
ydb/services/ydb/ut YdbLogStore.AlterLogTable
4243
ydb/core/mind/hive/ut THiveTest.DrainWithHiveRestart
4344
ydb/core/persqueue/ut [*/*] chunk chunk
4445
ydb/core/quoter/ut QuoterWithKesusTest.PrefetchCoefficient

ydb/core/kqp/ut/olap/statistics_ut.cpp

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "helpers/typed_local.h"
2+
23
#include <ydb/core/tx/columnshard/hooks/testing/controller.h>
34

45
namespace NKikimr::NKqp {
@@ -14,32 +15,75 @@ Y_UNIT_TEST_SUITE(KqpOlapStatistics) {
1415
helper.CreateTestOlapTable();
1516
auto tableClient = kikimr.GetTableClient();
1617
{
17-
auto alterQuery = TStringBuilder() << R"(ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"pk_int\"}`))";
18+
auto alterQuery =
19+
TStringBuilder()
20+
<< R"(ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"pk_int\"}`))";
1821
auto session = tableClient.CreateSession().GetValueSync().GetSession();
1922
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
2023
UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SUCCESS, alterResult.GetIssues().ToString());
2124
}
2225
{
23-
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"field\"}`);";
26+
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, "
27+
"NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"field\"}`);";
2428
auto session = tableClient.CreateSession().GetValueSync().GetSession();
2529
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
2630
UNIT_ASSERT_VALUES_UNEQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SUCCESS, alterResult.GetIssues().ToString());
2731
}
2832
{
29-
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"pk_int\"}`);";
33+
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, "
34+
"NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"pk_int\"}`);";
3035
auto session = tableClient.CreateSession().GetValueSync().GetSession();
3136
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
3237
UNIT_ASSERT_VALUES_UNEQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SUCCESS, alterResult.GetIssues().ToString());
3338
}
3439
{
35-
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=DROP_INDEX, NAME=max_pk_int);";
40+
auto alterQuery = TStringBuilder()
41+
<< "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=DROP_INDEX, NAME=max_pk_int);";
3642
auto session = tableClient.CreateSession().GetValueSync().GetSession();
3743
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
3844
UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SUCCESS, alterResult.GetIssues().ToString());
3945
}
4046
}
4147
}
4248

49+
Y_UNIT_TEST(StatsUsageNotPK) {
50+
auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
51+
{
52+
auto settings = TKikimrSettings().SetWithSampleTables(false);
53+
TKikimrRunner kikimr(settings);
54+
Tests::NCommon::TLoggerInit(kikimr).Initialize();
55+
TTypedLocalHelper helper("Utf8", kikimr);
56+
helper.CreateTestOlapTable();
57+
auto tableClient = kikimr.GetTableClient();
58+
{
59+
auto alterQuery = TStringBuilder() << "ALTER TABLE `/Root/olapStore/olapTable` SET (TTL = Interval(\"P1D\") ON ts);";
60+
auto session = tableClient.CreateSession().GetValueSync().GetSession();
61+
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
62+
UNIT_ASSERT_VALUES_UNEQUAL(alterResult.GetStatus(), NYdb::EStatus::SUCCESS);
63+
}
64+
{
65+
auto alterQuery =
66+
TStringBuilder()
67+
<< R"(ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_ts, TYPE=MAX, FEATURES=`{\"column_name\": \"ts\"}`))";
68+
auto session = tableClient.CreateSession().GetValueSync().GetSession();
69+
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
70+
UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SUCCESS, alterResult.GetIssues().ToString());
71+
}
72+
{
73+
auto alterQuery = TStringBuilder() << "ALTER TABLE `/Root/olapStore/olapTable` SET (TTL = Interval(\"P1D\") ON ts);";
74+
auto session = tableClient.CreateSession().GetValueSync().GetSession();
75+
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
76+
UNIT_ASSERT_VALUES_EQUAL(alterResult.GetStatus(), NYdb::EStatus::SUCCESS);
77+
}
78+
{
79+
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=DROP_INDEX, NAME=max_ts);";
80+
auto session = tableClient.CreateSession().GetValueSync().GetSession();
81+
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
82+
UNIT_ASSERT_VALUES_UNEQUAL(alterResult.GetStatus(), NYdb::EStatus::SUCCESS);
83+
}
84+
}
85+
}
86+
4387
Y_UNIT_TEST(StatsUsageWithTTL) {
4488
auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
4589
{
@@ -50,7 +94,8 @@ Y_UNIT_TEST_SUITE(KqpOlapStatistics) {
5094
helper.CreateTestOlapTable();
5195
auto tableClient = kikimr.GetTableClient();
5296
{
53-
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, TYPE=MAX, NAME=max_ts, FEATURES=`{\"column_name\": \"ts\"}`);";
97+
auto alterQuery = TStringBuilder() << "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, TYPE=MAX, "
98+
"NAME=max_ts, FEATURES=`{\"column_name\": \"ts\"}`);";
5499
auto session = tableClient.CreateSession().GetValueSync().GetSession();
55100
auto alterResult = session.ExecuteSchemeQuery(alterQuery).GetValueSync();
56101
UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SUCCESS, alterResult.GetIssues().ToString());
@@ -71,4 +116,4 @@ Y_UNIT_TEST_SUITE(KqpOlapStatistics) {
71116
}
72117
}
73118

74-
}
119+
} // namespace NKikimr::NKqp

ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5082,6 +5082,24 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
50825082
auto result = session.ExecuteSchemeQuery(query).GetValueSync();
50835083
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
50845084

5085+
{
5086+
auto query2 = TStringBuilder() << R"(
5087+
--!syntax_v1
5088+
ALTER OBJECT `)" << tableName << R"(` (TYPE TABLE) SET (ACTION=UPSERT_INDEX,
5089+
NAME=max_value1, TYPE=MAX, FEATURES=`{\"column_name\": \"Value1\"}`))";
5090+
result = session.ExecuteSchemeQuery(query2).GetValueSync();
5091+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
5092+
}
5093+
5094+
{
5095+
auto query2 = TStringBuilder() << R"(
5096+
--!syntax_v1
5097+
ALTER OBJECT `)" << tableName << R"(` (TYPE TABLE) SET (ACTION=UPSERT_INDEX,
5098+
NAME=max_value2, TYPE=MAX, FEATURES=`{\"column_name\": \"Value2\"}`))";
5099+
result = session.ExecuteSchemeQuery(query2).GetValueSync();
5100+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
5101+
}
5102+
50855103
auto query2 = TStringBuilder() << R"(
50865104
--!syntax_v1
50875105
ALTER TABLE `)" << tableName << R"(` SET(TTL = Interval("P1D") ON Key);)";
@@ -7654,7 +7672,7 @@ Y_UNIT_TEST_SUITE(KqpOlapScheme) {
76547672
};
76557673

76567674
TTestHelper::TColumnTable testTable;
7657-
testTable.SetName("/Root/ColumnTableTest").SetPrimaryKey({"id", "id_second"}).SetSharding({"id"}).SetSchema(schema).SetTTL("created_at", "Interval(\"PT1H\")");
7675+
testTable.SetName("/Root/ColumnTableTest").SetPrimaryKey({"created_at", "id_second"}).SetSharding({"created_at"}).SetSchema(schema).SetTTL("created_at", "Interval(\"PT1H\")");
76587676
testHelper.CreateTable(testTable);
76597677

76607678
{
@@ -7716,7 +7734,7 @@ Y_UNIT_TEST_SUITE(KqpOlapScheme) {
77167734
};
77177735

77187736
TTestHelper::TColumnTable testTable;
7719-
testTable.SetName(tableName).SetPrimaryKey({"id", "id_second"}).SetSharding({"id"}).SetSchema(schema).SetTTL("created_at", "Interval(\"PT1H\")");
7737+
testTable.SetName(tableName).SetPrimaryKey({"created_at", "id_second"}).SetSharding({"created_at"}).SetSchema(schema).SetTTL("created_at", "Interval(\"PT1H\")");
77207738
testHelper.CreateTable(testTable);
77217739
testHelper.CreateTier("tier1");
77227740

@@ -7755,6 +7773,16 @@ Y_UNIT_TEST_SUITE(KqpOlapScheme) {
77557773
testTable.SetName("/Root/ColumnTableTest").SetPrimaryKey({"id", "id_second"}).SetSharding({"id"}).SetSchema(schema);
77567774
testHelper.CreateTable(testTable);
77577775

7776+
{
7777+
auto alterQuery = TStringBuilder() << R"(
7778+
--!syntax_v1
7779+
ALTER OBJECT `)" << testTable.GetName() << R"(` (TYPE TABLE) SET (ACTION=UPSERT_INDEX,
7780+
NAME=max_value1, TYPE=MAX, FEATURES=`{\"column_name\": \"created_at\"}`))";
7781+
auto alterResult = testHelper.GetSession().ExecuteSchemeQuery(alterQuery).GetValueSync();
7782+
UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), EStatus::SUCCESS, alterResult.GetIssues().ToString());
7783+
7784+
}
7785+
77587786
{
77597787
auto alterQuery = TStringBuilder() << "ALTER TABLE `" << testTable.GetName() << "`SET (TTL = Interval(\"PT1H\") ON created_at);";
77607788
auto alterResult = testHelper.GetSession().ExecuteSchemeQuery(alterQuery).GetValueSync();
@@ -8412,6 +8440,14 @@ Y_UNIT_TEST_SUITE(KqpOlapScheme) {
84128440
TTestHelper::TColumnTable testTable;
84138441
testTable.SetName("/Root/ColumnTableTest").SetPrimaryKey({"id"}).SetSharding({"id"}).SetSchema(schema);
84148442
testHelper.CreateTable(testTable);
8443+
{
8444+
auto alterQuery = TStringBuilder() << R"(
8445+
--!syntax_v1
8446+
ALTER OBJECT `)" << testTable.GetName() << R"(` (TYPE TABLE) SET (ACTION=UPSERT_INDEX,
8447+
NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"created_at\"}`))";
8448+
auto alterResult = testHelper.GetSession().ExecuteSchemeQuery(alterQuery).GetValueSync();
8449+
UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), EStatus::SUCCESS, alterResult.GetIssues().ToString());
8450+
}
84158451

84168452
{
84178453
auto alterQuery = TStringBuilder() << "ALTER TABLE `" << testTable.GetName() << "`SET (TTL = Interval(\"PT1H\") ON created_at);";
Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,49 @@
11
#include "column_record.h"
22

33
#include <ydb/core/formats/arrow/arrow_helpers.h>
4-
5-
#include <ydb/core/tx/columnshard/data_sharing/protos/data.pb.h>
4+
#include <ydb/core/tx/columnshard/columnshard_schema.h>
65
#include <ydb/core/tx/columnshard/common/scalars.h>
6+
#include <ydb/core/tx/columnshard/data_sharing/protos/data.pb.h>
77
#include <ydb/core/tx/columnshard/engines/scheme/index_info.h>
8-
#include <ydb/core/tx/columnshard/columnshard_schema.h>
98

109
namespace NKikimr::NOlap {
1110

12-
TConclusionStatus TChunkMeta::DeserializeFromProto(const TChunkAddress& address, const NKikimrTxColumnShard::TIndexColumnMeta& proto, const TSimpleColumnInfo& columnInfo) {
13-
auto field = columnInfo.GetArrowField();
11+
TConclusionStatus TChunkMeta::DeserializeFromProto(const NKikimrTxColumnShard::TIndexColumnMeta& proto) {
1412
if (proto.HasNumRows()) {
1513
NumRows = proto.GetNumRows();
1614
}
1715
if (proto.HasRawBytes()) {
1816
RawBytes = proto.GetRawBytes();
1917
}
20-
if (proto.HasMaxValue()) {
21-
AFL_VERIFY(field)("field_id", address.GetColumnId())("field_name", columnInfo.GetColumnName());
22-
Max = ConstantToScalar(proto.GetMaxValue(), field->type());
23-
}
2418
return TConclusionStatus::Success();
2519
}
2620

27-
TChunkMeta::TChunkMeta(const TColumnChunkLoadContext& context, const TSimpleColumnInfo& columnInfo) {
28-
DeserializeFromProto(context.GetAddress(), context.GetMetaProto(), columnInfo).Validate();
21+
TChunkMeta::TChunkMeta(const TColumnChunkLoadContext& context) {
22+
DeserializeFromProto(context.GetMetaProto()).Validate();
2923
}
3024

31-
TChunkMeta::TChunkMeta(const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column, const TSimpleColumnInfo& columnInfo)
32-
: TBase(column, columnInfo.GetNeedMinMax(), columnInfo.GetIsSorted())
33-
{
25+
TChunkMeta::TChunkMeta(const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column)
26+
: TBase(column) {
3427
}
3528

3629
NKikimrTxColumnShard::TIndexColumnMeta TChunkMeta::SerializeToProto() const {
3730
NKikimrTxColumnShard::TIndexColumnMeta meta;
3831
meta.SetNumRows(NumRows);
3932
meta.SetRawBytes(RawBytes);
40-
if (HasMax()) {
41-
ScalarToConstant(*Max, *meta.MutableMaxValue());
42-
ScalarToConstant(*Max, *meta.MutableMinValue());
43-
}
4433
return meta;
4534
}
4635

47-
TColumnRecord::TColumnRecord(const TBlobRangeLink16::TLinkId blobLinkId, const TColumnChunkLoadContext& loadContext, const TSimpleColumnInfo& columnInfo)
48-
: Meta(loadContext, columnInfo)
36+
TColumnRecord::TColumnRecord(const TBlobRangeLink16::TLinkId blobLinkId, const TColumnChunkLoadContext& loadContext)
37+
: Meta(loadContext)
4938
, ColumnId(loadContext.GetAddress().GetColumnId())
5039
, Chunk(loadContext.GetAddress().GetChunk())
51-
, BlobRange(loadContext.GetBlobRange().BuildLink(blobLinkId))
52-
{
40+
, BlobRange(loadContext.GetBlobRange().BuildLink(blobLinkId)) {
5341
}
5442

55-
TColumnRecord::TColumnRecord(
56-
const TChunkAddress& address, const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column, const TSimpleColumnInfo& columnInfo)
57-
: Meta(column, columnInfo)
43+
TColumnRecord::TColumnRecord(const TChunkAddress& address, const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column)
44+
: Meta(column)
5845
, ColumnId(address.GetColumnId())
59-
, Chunk(address.GetChunk())
60-
{
46+
, Chunk(address.GetChunk()) {
6147
}
6248

6349
NKikimrColumnShardDataSharingProto::TColumnRecord TColumnRecord::SerializeToProto() const {
@@ -69,11 +55,11 @@ NKikimrColumnShardDataSharingProto::TColumnRecord TColumnRecord::SerializeToProt
6955
return result;
7056
}
7157

72-
NKikimr::TConclusionStatus TColumnRecord::DeserializeFromProto(const NKikimrColumnShardDataSharingProto::TColumnRecord& proto, const TSimpleColumnInfo& columnInfo) {
58+
NKikimr::TConclusionStatus TColumnRecord::DeserializeFromProto(const NKikimrColumnShardDataSharingProto::TColumnRecord& proto) {
7359
ColumnId = proto.GetColumnId();
7460
Chunk = proto.GetChunkIdx();
7561
{
76-
auto parse = Meta.DeserializeFromProto(GetAddress(), proto.GetMeta(), columnInfo);
62+
auto parse = Meta.DeserializeFromProto(proto.GetMeta());
7763
if (!parse) {
7864
return parse;
7965
}
@@ -88,4 +74,4 @@ NKikimr::TConclusionStatus TColumnRecord::DeserializeFromProto(const NKikimrColu
8874
return TConclusionStatus::Success();
8975
}
9076

91-
}
77+
} // namespace NKikimr::NOlap

ydb/core/tx/columnshard/engines/portions/column_record.h

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
#include "common.h"
44

5-
#include <ydb/library/formats/arrow/accessor/abstract/accessor.h>
6-
#include <ydb/library/formats/arrow/splitter/stats.h>
75
#include <ydb/core/tx/columnshard/blob.h>
86
#include <ydb/core/tx/columnshard/common/snapshot.h>
97
#include <ydb/core/tx/columnshard/engines/protos/portion_info.pb.h>
108
#include <ydb/core/tx/columnshard/splitter/chunk_meta.h>
119
#include <ydb/core/tx/columnshard/splitter/chunks.h>
1210

1311
#include <ydb/library/accessor/accessor.h>
12+
#include <ydb/library/formats/arrow/accessor/abstract/accessor.h>
13+
#include <ydb/library/formats/arrow/splitter/stats.h>
1414

1515
#include <contrib/libs/apache/arrow/cpp/src/arrow/array/array_base.h>
1616
#include <contrib/libs/apache/arrow/cpp/src/arrow/record_batch.h>
@@ -30,19 +30,17 @@ struct TChunkMeta: public TSimpleChunkMeta {
3030
private:
3131
using TBase = TSimpleChunkMeta;
3232
TChunkMeta() = default;
33-
[[nodiscard]] TConclusionStatus DeserializeFromProto(
34-
const TChunkAddress& address, const NKikimrTxColumnShard::TIndexColumnMeta& proto, const TSimpleColumnInfo& columnInfo);
33+
[[nodiscard]] TConclusionStatus DeserializeFromProto(const NKikimrTxColumnShard::TIndexColumnMeta& proto);
3534
friend class TColumnRecord;
3635

3736
public:
3837
TChunkMeta(TSimpleChunkMeta&& baseMeta)
3938
: TBase(baseMeta) {
4039
}
4140

42-
[[nodiscard]] static TConclusion<TChunkMeta> BuildFromProto(
43-
const TChunkAddress& address, const NKikimrTxColumnShard::TIndexColumnMeta& proto, const TSimpleColumnInfo& columnInfo) {
41+
[[nodiscard]] static TConclusion<TChunkMeta> BuildFromProto(const NKikimrTxColumnShard::TIndexColumnMeta& proto) {
4442
TChunkMeta result;
45-
auto parse = result.DeserializeFromProto(address, proto, columnInfo);
43+
auto parse = result.DeserializeFromProto(proto);
4644
if (!parse) {
4745
return parse;
4846
}
@@ -61,9 +59,9 @@ struct TChunkMeta: public TSimpleChunkMeta {
6159
}
6260
};
6361

64-
TChunkMeta(const TColumnChunkLoadContext& context, const TSimpleColumnInfo& columnInfo);
62+
TChunkMeta(const TColumnChunkLoadContext& context);
6563

66-
TChunkMeta(const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column, const TSimpleColumnInfo& columnInfo);
64+
TChunkMeta(const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column);
6765
};
6866

6967
class TColumnRecord {
@@ -74,7 +72,7 @@ class TColumnRecord {
7472
}
7573

7674
TColumnRecord() = default;
77-
TConclusionStatus DeserializeFromProto(const NKikimrColumnShardDataSharingProto::TColumnRecord& proto, const TSimpleColumnInfo& columnInfo);
75+
TConclusionStatus DeserializeFromProto(const NKikimrColumnShardDataSharingProto::TColumnRecord& proto);
7876

7977
public:
8078
ui32 ColumnId = 0;
@@ -124,10 +122,9 @@ class TColumnRecord {
124122
}
125123

126124
NKikimrColumnShardDataSharingProto::TColumnRecord SerializeToProto() const;
127-
static TConclusion<TColumnRecord> BuildFromProto(
128-
const NKikimrColumnShardDataSharingProto::TColumnRecord& proto, const TSimpleColumnInfo& columnInfo) {
125+
static TConclusion<TColumnRecord> BuildFromProto(const NKikimrColumnShardDataSharingProto::TColumnRecord& proto) {
129126
TColumnRecord result;
130-
auto parse = result.DeserializeFromProto(proto, columnInfo);
127+
auto parse = result.DeserializeFromProto(proto);
131128
if (!parse) {
132129
return parse;
133130
}
@@ -166,10 +163,8 @@ class TColumnRecord {
166163
<< "blob_range:" << BlobRange.ToString() << ";";
167164
}
168165

169-
TColumnRecord(
170-
const TChunkAddress& address, const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column, const TSimpleColumnInfo& columnInfo);
171-
172-
TColumnRecord(const TBlobRangeLink16::TLinkId blobLinkId, const TColumnChunkLoadContext& loadContext, const TSimpleColumnInfo& columnInfo);
166+
TColumnRecord(const TChunkAddress& address, const std::shared_ptr<NArrow::NAccessor::IChunkedArray>& column);
167+
TColumnRecord(const TBlobRangeLink16::TLinkId blobLinkId, const TColumnChunkLoadContext& loadContext);
173168

174169
friend IOutputStream& operator<<(IOutputStream& out, const TColumnRecord& rec) {
175170
out << '{';

0 commit comments

Comments
 (0)