@@ -35,7 +35,8 @@ TConclusion<bool> TSnapshotFilter::DoExecuteInplace(const std::shared_ptr<IDataS
35
35
}
36
36
37
37
TConclusion<bool > TDeletionFilter::DoExecuteInplace (const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& /* step*/ ) const {
38
- auto collection = source->GetStageData ().GetTable ()->SelectOptional (std::vector<ui32>({ (ui32)IIndexInfo::ESpecialColumn::DELETE_FLAG }), false );
38
+ auto collection =
39
+ source->GetStageData ().GetTable ()->SelectOptional (std::vector<ui32>({ (ui32)IIndexInfo::ESpecialColumn::DELETE_FLAG }), false );
39
40
if (!collection) {
40
41
return true ;
41
42
}
@@ -95,9 +96,16 @@ TConclusion<bool> TDetectInMem::DoExecuteInplace(const std::shared_ptr<IDataSour
95
96
TConclusion<bool > TBuildFakeSpec::DoExecuteInplace (const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& /* step*/ ) const {
96
97
std::vector<std::shared_ptr<arrow::Array>> columns;
97
98
for (auto && f : IIndexInfo::ArrowSchemaSnapshot ()->fields ()) {
98
- source->MutableStageData ().GetTable ()->AddVerified (IIndexInfo::GetColumnIdVerified (f->name ()),
99
- std::make_shared<NArrow::NAccessor::TTrivialArray>(
100
- NArrow::TThreadSimpleArraysCache::GetConst (f->type (), NArrow::DefaultScalar (f->type ()), source->GetRecordsCount ())), true );
99
+ if (source->MutableStageData ().GetTable ()->HasColumn (IIndexInfo::GetColumnIdVerified (f->name ()))) {
100
+ auto arr = source->MutableStageData ().GetTable ()->GetArrayVerified (IIndexInfo::GetColumnIdVerified (f->name ()));
101
+ AFL_WARN (NKikimrServices::TX_COLUMNSHARD_SCAN)(" event" , " spec_column_exists" )(" column_name" , f->name ())(
102
+ " col" , NArrow::DebugJson (arr, 2 , 2 ).GetStringRobust ());
103
+ } else {
104
+ source->MutableStageData ().GetTable ()->AddVerified (IIndexInfo::GetColumnIdVerified (f->name ()),
105
+ std::make_shared<NArrow::NAccessor::TTrivialArray>(
106
+ NArrow::TThreadSimpleArraysCache::GetConst (f->type (), NArrow::DefaultScalar (f->type ()), source->GetRecordsCount ())),
107
+ true );
108
+ }
101
109
}
102
110
return true ;
103
111
}
0 commit comments