Skip to content

Commit d3448a6

Browse files
Merge 7373848 into fcb8576
2 parents fcb8576 + 7373848 commit d3448a6

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

ydb/core/tx/columnshard/engines/changes/compaction/merger.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ std::vector<NKikimr::NOlap::TWritePortionInfoWithBlobsResult> TMerger::Execute(c
2020
arrow::FieldVector indexFields;
2121
indexFields.emplace_back(IColumnMerger::PortionIdField);
2222
indexFields.emplace_back(IColumnMerger::PortionRecordIndexField);
23-
IIndexInfo::AddSpecialFields(indexFields);
23+
IIndexInfo::AddSnapshotFields(indexFields);
2424
auto dataSchema = std::make_shared<arrow::Schema>(indexFields);
2525
NArrow::NMerger::TMergePartialStream mergeStream(
2626
resultFiltered->GetIndexInfo().GetReplaceKey(), dataSchema, false, IIndexInfo::GetSnapshotColumnNames());
@@ -137,7 +137,7 @@ std::vector<NKikimr::NOlap::TWritePortionInfoWithBlobsResult> TMerger::Execute(c
137137
TGeneralSerializedSlice slice(dataWithSecondary.GetExternalData(), schemaDetails, Context.Counters.SplitterCounters);
138138

139139
auto b = batchResult->Slice(recordIdx, slice.GetRecordsCount());
140-
const ui32 deletionsCount = IIndexInfo::CalcDeletions(b, true);
140+
const ui32 deletionsCount = IIndexInfo::CalcDeletions(b, false);
141141
auto constructor = TWritePortionInfoWithBlobsConstructor::BuildByBlobs(slice.GroupChunksByBlobs(groups),
142142
dataWithSecondary.GetSecondaryInplaceData(), pathId, resultFiltered->GetVersion(), resultFiltered->GetSnapshot(),
143143
SaverContext.GetStoragesManager());

ydb/core/tx/columnshard/engines/changes/indexation.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ TConclusionStatus TInsertColumnEngineChanges::DoConstructBlobs(TConstructionCont
160160
auto blobSchema = context.SchemaVersions.GetSchemaVerified(inserted.GetSchemaVersion());
161161
std::vector<ui32> filteredIds = inserted.GetMeta().GetSchemaSubset().Apply(blobSchema->GetIndexInfo().GetColumnIds(true));
162162
usageColumnIds.insert(filteredIds.begin(), filteredIds.end());
163+
if (inserted.GetMeta().GetModificationType() == NEvWrite::EModificationType::Delete) {
164+
usageColumnIds.emplace((ui32)IIndexInfo::ESpecialColumn::DELETE_FLAG);
165+
}
163166
if (usageColumnIds.size() == resultSchema->GetIndexInfo().GetColumnIds(true).size()) {
164167
break;
165168
}
@@ -179,8 +182,10 @@ TConclusionStatus TInsertColumnEngineChanges::DoConstructBlobs(TConstructionCont
179182
}
180183

181184
IIndexInfo::AddSnapshotColumns(*batch, inserted.GetSnapshot());
182-
IIndexInfo::AddDeleteFlagsColumn(*batch, inserted.GetMeta().GetModificationType() == NEvWrite::EModificationType::Delete);
183-
usageColumnIds.insert(IIndexInfo::GetSystemColumnIds().begin(), IIndexInfo::GetSystemColumnIds().end());
185+
if (usageColumnIds.contains((ui32)IIndexInfo::ESpecialColumn::DELETE_FLAG)) {
186+
IIndexInfo::AddDeleteFlagsColumn(*batch, inserted.GetMeta().GetModificationType() == NEvWrite::EModificationType::Delete);
187+
}
188+
usageColumnIds.insert(IIndexInfo::GetSnapshotColumnIds().begin(), IIndexInfo::GetSnapshotColumnIds().end());
184189

185190
batch = resultSchema->NormalizeBatch(*blobSchema, batch, usageColumnIds).DetachResult();
186191
pathBatches.Add(inserted, shardingFilterCommit, batch);

0 commit comments

Comments
 (0)