|
1 | 1 | #pragma once |
| 2 | +#include <ydb/core/base/appdata.h> |
2 | 3 | #include <ydb/core/formats/arrow/arrow_filter.h> |
3 | 4 | #include <ydb/core/formats/arrow/common/container.h> |
4 | 5 | #include <ydb/core/formats/arrow/size_calcer.h> |
| 6 | +#include <ydb/core/protos/config.pb.h> |
5 | 7 | #include <ydb/core/tx/columnshard/blob.h> |
6 | 8 | #include <ydb/core/tx/columnshard/blobs_reader/task.h> |
7 | 9 | #include <ydb/core/tx/columnshard/engines/portions/data_accessor.h> |
@@ -146,7 +148,8 @@ class TFetchedData { |
146 | 148 |
|
147 | 149 | void AddFilter(const NArrow::TColumnFilter& filter) { |
148 | 150 | if (UseFilter && Table) { |
149 | | - AFL_VERIFY(filter.Apply(Table, NArrow::TColumnFilter::TApplyContext().SetTrySlices(true))); |
| 151 | + AFL_VERIFY(filter.Apply(Table, |
| 152 | + NArrow::TColumnFilter::TApplyContext().SetTrySlices(!HasAppData() || AppDataVerified().ColumnShardConfig.GetUseSlicesFilter()))); |
150 | 153 | } |
151 | 154 | if (!Filter) { |
152 | 155 | Filter = std::make_shared<NArrow::TColumnFilter>(filter); |
@@ -176,7 +179,8 @@ class TFetchedData { |
176 | 179 | DataAdded = true; |
177 | 180 | auto tableLocal = table; |
178 | 181 | if (Filter && UseFilter) { |
179 | | - AFL_VERIFY(Filter->Apply(tableLocal, NArrow::TColumnFilter::TApplyContext().SetTrySlices(true))); |
| 182 | + AFL_VERIFY(Filter->Apply(tableLocal, |
| 183 | + NArrow::TColumnFilter::TApplyContext().SetTrySlices(!HasAppData() || AppDataVerified().ColumnShardConfig.GetUseSlicesFilter()))); |
180 | 184 | } |
181 | 185 | if (!Table) { |
182 | 186 | Table = std::make_shared<NArrow::TGeneralContainer>(tableLocal); |
@@ -246,4 +250,4 @@ class TFetchedResult { |
246 | 250 | } |
247 | 251 | }; |
248 | 252 |
|
249 | | -} // namespace NKikimr::NOlap |
| 253 | +} // namespace NKikimr::NOlap::NReader::NCommon |
0 commit comments