Skip to content

Commit bc116d9

Browse files
authored
Remove TTypeInfo from TRawTypeValue (#10026)
1 parent 0455cfc commit bc116d9

36 files changed

+137
-145
lines changed

ydb/core/engine/minikql/flat_local_tx_read_columns.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ class TFlatLocalReadColumns : public NTabletFlatExecutor::ITransaction {
6868
TSerializedCellVec fromKeyCells(Ev->Get()->Record.GetFromKey());
6969
keyFrom.clear();
7070
for (ui32 i = 0; i < fromKeyCells.GetCells().size(); ++i) {
71-
keyFrom.push_back(TRawTypeValue(fromKeyCells.GetCells()[i].AsRef(), keyColumnTypes[i]));
71+
keyFrom.push_back(TRawTypeValue(fromKeyCells.GetCells()[i].AsRef(), keyColumnTypes[i].GetTypeId()));
7272
}
7373
keyFrom.resize(tableInfo->KeyColumns.size());
7474

7575
TSerializedCellVec toKeyCells(Ev->Get()->Record.GetToKey());
7676
keyTo.clear();
7777
for (ui32 i = 0; i < toKeyCells.GetCells().size(); ++i) {
78-
keyTo.push_back(TRawTypeValue(toKeyCells.GetCells()[i].AsRef(), keyColumnTypes[i]));
78+
keyTo.push_back(TRawTypeValue(toKeyCells.GetCells()[i].AsRef(), keyColumnTypes[i].GetTypeId()));
7979
}
8080

8181
TVector<NTable::TTag> valueColumns;

ydb/core/engine/minikql/minikql_engine_host.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ void ConvertTableKeys(const TScheme& scheme, const TScheme::TTableInfo* tableInf
2323
for (size_t keyIdx = 0; keyIdx < row.size(); keyIdx++) {
2424
const TCell& cell = row[keyIdx];
2525
ui32 keyCol = tableInfo->KeyColumns[keyIdx];
26-
NScheme::TTypeInfo vtypeInfo = scheme.GetColumnInfo(tableInfo, keyCol)->PType;
26+
NScheme::TTypeId vtypeId = scheme.GetColumnInfo(tableInfo, keyCol)->PType.GetTypeId();
2727
if (cell.IsNull()) {
2828
key.emplace_back();
2929
bytes += 1;
3030
} else {
31-
key.emplace_back(cell.Data(), cell.Size(), vtypeInfo);
31+
key.emplace_back(cell.Data(), cell.Size(), vtypeId);
3232
bytes += cell.Size();
3333
}
3434
}
@@ -42,8 +42,8 @@ void ConvertTableValues(const TScheme& scheme, const TScheme::TTableInfo* tableI
4242
for (size_t i = 0; i < commands.size(); i++) {
4343
const IEngineFlatHost::TUpdateCommand& upd = commands[i];
4444
Y_ABORT_UNLESS(upd.Operation == TKeyDesc::EColumnOperation::Set);
45-
auto vtypeinfo = scheme.GetColumnInfo(tableInfo, upd.Column)->PType;
46-
ops.emplace_back(upd.Column, NTable::ECellOp::Set, upd.Value.IsNull() ? TRawTypeValue() : TRawTypeValue(upd.Value.Data(), upd.Value.Size(), vtypeinfo));
45+
NScheme::TTypeId vtypeId = scheme.GetColumnInfo(tableInfo, upd.Column)->PType.GetTypeId();
46+
ops.emplace_back(upd.Column, NTable::ECellOp::Set, upd.Value.IsNull() ? TRawTypeValue() : TRawTypeValue(upd.Value.Data(), upd.Value.Size(), vtypeId));
4747
bytes += upd.Value.IsNull() ? 1 : upd.Value.Size();
4848
}
4949
if (valueBytes)

ydb/core/scheme/scheme_tablecell.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ inline int CompareCellsAsByteString(const TCell& a, const TCell& b, bool isDesce
196196

197197
// NULL is considered equal to another NULL and less than non-NULL
198198
// ATTENTION!!! return value is int!! (NOT just -1,0,1)
199-
inline int CompareTypedCells(const TCell& a, const TCell& b, NScheme::TTypeInfoOrder type) {
199+
inline int CompareTypedCells(const TCell& a, const TCell& b, const NScheme::TTypeInfoOrder& type) {
200200
using TPair = std::pair<ui64, ui64>;
201201
if (a.IsNull())
202202
return b.IsNull() ? 0 : -1;

ydb/core/scheme/scheme_types_defs.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ namespace NNames {
1515
::TString result;
1616

1717
if (value) {
18-
const ui32 fixedSize = GetFixedSize(value.TypeInfo());
18+
const ui32 fixedSize = GetFixedSize(value.Type());
1919
if (fixedSize > 0 && value.Size() != fixedSize) {
2020
result = ::TStringBuilder()
21-
<< "Value with declared type " << NScheme::TypeName(value.TypeInfo())
21+
<< "Value with declared type " << NScheme::TypeName(value.Type())
2222
<< " has unexpected size " << value.Size()
2323
<< " (expected " << fixedSize << ")";
2424
}
@@ -27,7 +27,7 @@ namespace NNames {
2727
return result;
2828
}
2929

30-
::TString HasUnexpectedValueSize(const ::NKikimr::TCell& value, TTypeInfo typeInfo) {
30+
::TString HasUnexpectedValueSize(const ::NKikimr::TCell& value, const TTypeInfo& typeInfo) {
3131
::TString result;
3232

3333
if (value) {

ydb/core/scheme/scheme_types_defs.h

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,17 @@ class TStepOrderId : public IIntegerPair<ui64, ui64, NTypeIds::StepOrderId, NNam
5454

5555
////////////////////////////////////////////////////////
5656

57-
inline ui32 GetFixedSize(TTypeInfo typeInfo) {
57+
inline ui32 GetFixedSize(TTypeId typeId) {
58+
switch (typeId) {
59+
#define KIKIMR_TYPE_MACRO(typeEnum, typeType, ...) case NTypeIds::typeEnum: return typeType::GetFixedSize();
60+
KIKIMR_FOREACH_TYPE(KIKIMR_TYPE_MACRO)
61+
#undef KIKIMR_TYPE_MACRO
62+
default:
63+
return 0;
64+
}
65+
}
66+
67+
inline ui32 GetFixedSize(const TTypeInfo& typeInfo) {
5868
switch (typeInfo.GetTypeId()) {
5969
#define KIKIMR_TYPE_MACRO(typeEnum, typeType, ...) case NTypeIds::typeEnum: return typeType::GetFixedSize();
6070
KIKIMR_FOREACH_TYPE(KIKIMR_TYPE_MACRO)
@@ -78,7 +88,7 @@ ::TString HasUnexpectedValueSize(const ::NKikimr::TRawTypeValue& value);
7888
*
7989
* Returns empty string on success or an error description in case of failure
8090
*/
81-
::TString HasUnexpectedValueSize(const ::NKikimr::TCell& value, TTypeInfo typeInfo);
91+
::TString HasUnexpectedValueSize(const ::NKikimr::TCell& value, const TTypeInfo& typeInfo);
8292

8393
} // namespace NScheme
8494
} // namespace NKikimr

ydb/core/scheme_types/scheme_raw_type_value.h

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,21 @@ class TRawTypeValue
1717
, ValueType()
1818
{}
1919

20-
TRawTypeValue(const void* buf, ui32 bufSize, NScheme::TTypeInfo vtype)
20+
TRawTypeValue(const void* buf, ui32 bufSize, NScheme::TTypeId vtype)
2121
: Buffer(buf)
2222
, BufferSize(bufSize)
2323
, ValueType(vtype)
2424
{
25-
Y_DEBUG_ABORT_UNLESS(!buf || vtype.GetTypeId() != 0);
25+
Y_DEBUG_ABORT_UNLESS(!buf || vtype != 0);
2626
}
2727

28-
TRawTypeValue(TArrayRef<const char> ref, NScheme::TTypeInfo vtype)
28+
TRawTypeValue(TArrayRef<const char> ref, NScheme::TTypeId vtype)
2929
: TRawTypeValue((void*)ref.data(), ref.size(), vtype)
3030
{}
3131

3232
const void* Data() const { return Buffer; }
3333
ui32 Size() const { return BufferSize; }
34-
NScheme::TTypeId Type() const { return ValueType.GetTypeId(); }
35-
NScheme::TTypeInfo TypeInfo() const { return ValueType; }
34+
NScheme::TTypeId Type() const { return ValueType; }
3635

3736
// we must distinguish empty raw type value (nothing, buffer == nullptr)
3837
// and zero-length string (value exists, but zero-length)
@@ -41,7 +40,7 @@ class TRawTypeValue
4140

4241
TString ToString() const {
4342
TStringBuilder builder;
44-
builder << "(type:" << ValueType.GetTypeId();
43+
builder << "(type:" << ValueType;
4544
if (!IsEmpty()) {
4645
builder << ", value:" << TString((const char*)Buffer, BufferSize).Quote();
4746
}
@@ -60,7 +59,7 @@ class TRawTypeValue
6059
private:
6160
const void* Buffer;
6261
ui32 BufferSize;
63-
NScheme::TTypeInfo ValueType;
62+
NScheme::TTypeId ValueType;
6463
};
6564

6665
} // namspace NKikimr

ydb/core/scheme_types/scheme_types_defs.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class TTypedType : public IType {
4949
}
5050
TTypeId GetTypeId() const override { return TypeId; }
5151
static TRawTypeValue ToRawTypeValue(const T& value) {
52-
return TRawTypeValue((void*)&value, sizeof(T), TTypeInfo(TypeId));
52+
return TRawTypeValue((void*)&value, sizeof(T), TypeId);
5353
}
5454

5555
static const char* TypeName() {
@@ -166,7 +166,7 @@ class TStringBase : public TTypedType<::TString, TDerived, TypeId, Name>
166166
}
167167

168168
static TRawTypeValue ToRawTypeValue(const ::TString& value) {
169-
return TRawTypeValue((const void*)value.data(), value.size(), TTypeInfo(TypeId));
169+
return TRawTypeValue((const void*)value.data(), value.size(), TypeId);
170170
}
171171
};
172172

@@ -213,7 +213,7 @@ class TBoundedString : public TStringBase<TBoundedString<TMaxSize, TypeId, Name>
213213

214214
static TRawTypeValue ToRawTypeValue(const ::TString& value) {
215215
Y_ABORT_UNLESS(value.size() <= MaxSize);
216-
return TRawTypeValue((const void*)value.data(), value.size(), TTypeInfo(TypeId));
216+
return TRawTypeValue((const void*)value.data(), value.size(), TypeId);
217217
}
218218
};
219219

ydb/core/tablet_flat/flat_cxx_database.h

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,64 +25,64 @@ class TTypeValue : public TRawTypeValue {
2525
{}
2626

2727
TTypeValue(const ui64& value, NScheme::TTypeId type = NScheme::NTypeIds::Uint64)
28-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
28+
: TRawTypeValue(&value, sizeof(value), type)
2929
{}
3030

3131
TTypeValue(const i64& value, NScheme::TTypeId type = NScheme::NTypeIds::Int64)
32-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
32+
: TRawTypeValue(&value, sizeof(value), type)
3333
{}
3434

3535
TTypeValue(const ui32& value, NScheme::TTypeId type = NScheme::NTypeIds::Uint32)
36-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
36+
: TRawTypeValue(&value, sizeof(value), type)
3737
{}
3838

3939
TTypeValue(const i32& value, NScheme::TTypeId type = NScheme::NTypeIds::Int32)
40-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
40+
: TRawTypeValue(&value, sizeof(value), type)
4141
{}
4242

4343
TTypeValue(const ui16& value, NScheme::TTypeId type = NScheme::NTypeIds::Date)
44-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
44+
: TRawTypeValue(&value, sizeof(value), type)
4545
{}
4646

4747
TTypeValue(const ui8& value, NScheme::TTypeId type = NScheme::NTypeIds::Byte)
48-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
48+
: TRawTypeValue(&value, sizeof(value), type)
4949
{}
5050

5151
TTypeValue(const bool& value, NScheme::TTypeId type = NScheme::NTypeIds::Bool)
52-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
52+
: TRawTypeValue(&value, sizeof(value), type)
5353
{}
5454

5555
TTypeValue(const double& value, NScheme::TTypeId type = NScheme::NTypeIds::Double)
56-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
56+
: TRawTypeValue(&value, sizeof(value), type)
5757
{}
5858

5959
template <typename ElementType>
6060
TTypeValue(const TVector<ElementType> &value, NScheme::TTypeId type = NScheme::NTypeIds::String)
61-
: TRawTypeValue(value.empty() ? (const ElementType*)0xDEADBEEFDEADBEEF : value.data(), value.size() * sizeof(ElementType), NScheme::TTypeInfo(type))
61+
: TRawTypeValue(value.empty() ? (const ElementType*)0xDEADBEEFDEADBEEF : value.data(), value.size() * sizeof(ElementType), type)
6262
{}
6363

6464
TTypeValue(const TActorId& value, NScheme::TTypeId type = NScheme::NTypeIds::ActorId)
65-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
65+
: TRawTypeValue(&value, sizeof(value), type)
6666
{}
6767

6868
TTypeValue(const std::pair<ui64, ui64>& value, NScheme::TTypeId type = NScheme::NTypeIds::PairUi64Ui64)
69-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
69+
: TRawTypeValue(&value, sizeof(value), type)
7070
{}
7171

7272
TTypeValue(const std::pair<ui64, i64>& value, NScheme::TTypeId type = NScheme::NTypeIds::Decimal)
73-
: TRawTypeValue(&value, sizeof(value), NScheme::TTypeInfo(type))
73+
: TRawTypeValue(&value, sizeof(value), type)
7474
{}
7575

7676
TTypeValue(const TString& value, NScheme::TTypeId type = NScheme::NTypeIds::Utf8)
77-
: TRawTypeValue(value.data(), value.size(), NScheme::TTypeInfo(type))
77+
: TRawTypeValue(value.data(), value.size(), type)
7878
{}
7979

8080
TTypeValue(const TBuffer& value, NScheme::TTypeId type = NScheme::NTypeIds::String)
81-
: TRawTypeValue(value.Empty() ? (const char*)0xDEADBEEFDEADBEEF : value.Data(), value.Size(), NScheme::TTypeInfo(type))
81+
: TRawTypeValue(value.Empty() ? (const char*)0xDEADBEEFDEADBEEF : value.Data(), value.Size(), type)
8282
{}
8383

8484
TTypeValue(const TStringBuf& value, NScheme::TTypeId type = NScheme::NTypeIds::String)
85-
: TRawTypeValue(value.empty() ? (const char*)0xDEADBEEFDEADBEEF : value.data(), value.size(), NScheme::TTypeInfo(type))
85+
: TRawTypeValue(value.empty() ? (const char*)0xDEADBEEFDEADBEEF : value.data(), value.size(), type)
8686
{}
8787

8888
explicit TTypeValue(const TRawTypeValue& rawTypeValue)
@@ -244,7 +244,7 @@ template <NScheme::TTypeId ValType>
244244
class TConvertTypeValue : public TRawTypeValue {
245245
public:
246246
TConvertTypeValue(const TRawTypeValue& value)
247-
: TRawTypeValue(value.Data(), value.Size(), value.IsEmpty() ? NScheme::TTypeInfo() : NScheme::TTypeInfo(ValType))
247+
: TRawTypeValue(value.Data(), value.Size(), value.IsEmpty() ? 0 : ValType)
248248
{}
249249

250250
template <typename ValueType> static typename NSchemeTypeMapper<ValType>::Type ConvertFrom(ValueType value) {
@@ -257,7 +257,7 @@ template <>
257257
class TConvertTypeValue<NScheme::NTypeIds::String> : public TRawTypeValue {
258258
public:
259259
TConvertTypeValue(const TRawTypeValue& value)
260-
: TRawTypeValue(value.Data(), value.Size(), value.IsEmpty() ? NScheme::TTypeInfo() : NScheme::TTypeInfo(NScheme::NTypeIds::String))
260+
: TRawTypeValue(value.Data(), value.Size(), value.IsEmpty() ? 0 : NScheme::NTypeIds::String)
261261
{}
262262

263263
static typename NSchemeTypeMapper<NScheme::NTypeIds::String>::Type ConvertFrom(const TString& value) {
@@ -530,7 +530,7 @@ struct TConvertValue<TColumnType, TRawTypeValue, TStringBuf> {
530530
TRawTypeValue Value;
531531

532532
TConvertValue(TStringBuf value)
533-
: Value(value.data(), value.size(), NScheme::TTypeInfo(TColumnType::ColumnType))
533+
: Value(value.data(), value.size(), TColumnType::ColumnType)
534534
{
535535
static_assert(TColumnType::ColumnType == NScheme::NTypeIds::String
536536
|| TColumnType::ColumnType == NScheme::NTypeIds::Utf8,
@@ -1494,7 +1494,7 @@ struct Schema {
14941494
auto type = tuple.Types[index];
14951495
if (cell.IsNull())
14961496
return GetNullValue<ColumnType>();
1497-
return TConvert<ColumnType, typename ColumnType::Type>::Convert(TRawTypeValue(cell.Data(), cell.Size(), type));
1497+
return TConvert<ColumnType, typename ColumnType::Type>::Convert(TRawTypeValue(cell.Data(), cell.Size(), type.GetTypeId()));
14981498
}
14991499

15001500
KeyIterator Iterator;

ydb/core/tablet_flat/flat_database.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ void TDatabase::Update(ui32 table, ERowOp rop, TRawVals key, TArrayRef<const TUp
323323
if (auto got = annex->Place(table, op.Tag, raw)) {
324324
ModifiedRefs[index] = got.Ref;
325325
const auto payload = NUtil::NBin::ToRef(ModifiedRefs[index]);
326-
op.Value = TRawTypeValue(payload, NScheme::TTypeInfo(op.Value.Type()));
326+
op.Value = TRawTypeValue(payload, op.Value.Type());
327327
op.Op = ELargeObj::Extern;
328328
}
329329
}

ydb/core/tablet_flat/flat_executor_db_mon.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class TExecutor::TTxExecutorDbMon : public TTransactionBase<TExecutor> {
8686
vals.emplace_back();
8787
TBuffer& buf = vals.back();
8888
buf.Assign(reinterpret_cast<const char*>(&v), sizeof(v));
89-
key.emplace_back(buf.Data(), buf.Size(), NScheme::TTypeInfo(type));
89+
key.emplace_back(buf.Data(), buf.Size(), type);
9090
break;
9191
}
9292
case NScheme::NTypeIds::Uint64:
@@ -95,7 +95,7 @@ class TExecutor::TTxExecutorDbMon : public TTransactionBase<TExecutor> {
9595
vals.emplace_back();
9696
TBuffer& buf = vals.back();
9797
buf.Assign(reinterpret_cast<const char*>(&v), sizeof(v));
98-
key.emplace_back(buf.Data(), buf.Size(), NScheme::TTypeInfo(type));
98+
key.emplace_back(buf.Data(), buf.Size(), type);
9999
break;
100100
}
101101
case NScheme::NTypeIds::String:
@@ -104,7 +104,7 @@ class TExecutor::TTxExecutorDbMon : public TTransactionBase<TExecutor> {
104104
vals.emplace_back();
105105
TBuffer& buf = vals.back();
106106
buf.Assign(val.data(), val.size());
107-
key.emplace_back(buf.Data(), buf.Size(), NScheme::TTypeInfo(type));
107+
key.emplace_back(buf.Data(), buf.Size(), type);
108108
break;
109109
}
110110
default:

ydb/core/tablet_flat/flat_executor_ut.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ Y_UNIT_TEST_SUITE(TFlatTableReschedule) {
695695
TVector<NTable::TTag> tags;
696696
tags.push_back(TRowsModel::ColumnValueId);
697697
TVector<TRawTypeValue> key;
698-
key.emplace_back(&keyId, sizeof(keyId), NScheme::TTypeInfo(NScheme::TInt64::TypeId));
698+
key.emplace_back(&keyId, sizeof(keyId), NScheme::TInt64::TypeId);
699699
NTable::TRowState row;
700700
auto ready = txc.DB.Select(TRowsModel::TableId, key, tags, row);
701701
if (ready == NTable::EReady::Page) {
@@ -1347,7 +1347,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutorResourceProfile) {
13471347
if (!req.Keys.empty()) {
13481348
for (auto val : req.Keys) {
13491349
ui64 key1 = val;
1350-
TRawTypeValue key[] = {TRawTypeValue(&key1, sizeof(key1), NScheme::TTypeInfo(NScheme::NTypeIds::Int64))};
1350+
TRawTypeValue key[] = {TRawTypeValue(&key1, sizeof(key1), NScheme::NTypeIds::Int64)};
13511351
NTable::TTag tags[] = {TRowsModel::ColumnKeyId};
13521352
NTable::TRowState row;
13531353
txc.DB.Select(TRowsModel::TableId, {key, 1}, {tags, 1}, row);
@@ -2048,7 +2048,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutorCompressedSelectRows) {
20482048
TVector<NTable::TTag> tags;
20492049
tags.push_back(TRowsModel::ColumnValueId);
20502050
TVector<TRawTypeValue> key;
2051-
key.emplace_back(&keyId, sizeof(keyId), NScheme::TTypeInfo(NScheme::TInt64::TypeId));
2051+
key.emplace_back(&keyId, sizeof(keyId), NScheme::TInt64::TypeId);
20522052

20532053
for (keyId = 1000000; keyId < 1000512; ++keyId) {
20542054
NTable::TRowState row;
@@ -2696,7 +2696,7 @@ Y_UNIT_TEST_SUITE(TFlatTableExecutorKeepEraseMarkers) {
26962696
TVector<NTable::TTag> tags;
26972697
tags.push_back(TRowsModel::ColumnValueId);
26982698
TVector<TRawTypeValue> key;
2699-
key.emplace_back(&keyId, sizeof(keyId), NScheme::TTypeInfo(NScheme::TInt64::TypeId));
2699+
key.emplace_back(&keyId, sizeof(keyId), NScheme::TInt64::TypeId);
27002700

27012701
for (keyId = 100; keyId <= 400; keyId += 100) {
27022702
NTable::TRowState row;
@@ -4933,7 +4933,7 @@ Y_UNIT_TEST_SUITE(TFlatTableSnapshotWithCommits) {
49334933
TVector<NTable::TTag> tags;
49344934
tags.push_back(TRowsModel::ColumnValueId);
49354935
TVector<TRawTypeValue> key;
4936-
key.emplace_back(&keyId, sizeof(keyId), NScheme::TTypeInfo(NScheme::TInt64::TypeId));
4936+
key.emplace_back(&keyId, sizeof(keyId), NScheme::TInt64::TypeId);
49374937

49384938
for (keyId = 1; keyId <= 104; ++keyId) {
49394939
NTable::TRowState row;

0 commit comments

Comments
 (0)