4848#include < Storages/DeltaMerge/Index/LocalIndexInfo.h>
4949#include < Storages/DeltaMerge/Index/VectorIndex/Stream/Ctx.h>
5050#include < Storages/DeltaMerge/Remote/DisaggSnapshot.h>
51+ #include < Storages/DeltaMerge/ScanContext.h>
5152#include < Storages/KVStore/Region.h>
5253#include < Storages/KVStore/TMTContext.h>
5354#include < Storages/KVStore/TiKVHelpers/TiKVRecordFormat.h>
@@ -863,7 +864,7 @@ BlockInputStreams StorageDeltaMerge::read(
863864 query_info.req_id ,
864865 tracing_logger);
865866
866- auto filter = PushDownExecutor::build (
867+ auto pushdown_executor = PushDownExecutor::build (
867868 query_info,
868869 columns_to_read,
869870 store->getTableColumns (),
@@ -875,6 +876,7 @@ BlockInputStreams StorageDeltaMerge::read(
875876 auto runtime_filter_list = parseRuntimeFilterList (query_info, store->getTableColumns (), context, tracing_logger);
876877
877878 const auto & scan_context = mvcc_query_info.scan_context ;
879+ scan_context->pushdown_executor = pushdown_executor;
878880
879881 auto streams = store->read (
880882 context,
@@ -883,7 +885,7 @@ BlockInputStreams StorageDeltaMerge::read(
883885 ranges,
884886 num_streams,
885887 /* start_ts=*/ mvcc_query_info.start_ts ,
886- filter ,
888+ pushdown_executor ,
887889 runtime_filter_list,
888890 query_info.dag_query ? query_info.dag_query ->rf_max_wait_time_ms : 0 ,
889891 query_info.req_id ,
@@ -953,7 +955,7 @@ void StorageDeltaMerge::read(
953955 query_info.req_id ,
954956 tracing_logger);
955957
956- auto filter = PushDownExecutor::build (
958+ auto pushdown_executor = PushDownExecutor::build (
957959 query_info,
958960 columns_to_read,
959961 store->getTableColumns (),
@@ -965,6 +967,7 @@ void StorageDeltaMerge::read(
965967 auto runtime_filter_list = parseRuntimeFilterList (query_info, store->getTableColumns (), context, tracing_logger);
966968
967969 const auto & scan_context = mvcc_query_info.scan_context ;
970+ scan_context->pushdown_executor = pushdown_executor;
968971
969972 store->read (
970973 exec_context_,
@@ -975,7 +978,7 @@ void StorageDeltaMerge::read(
975978 ranges,
976979 num_streams,
977980 /* start_ts=*/ mvcc_query_info.start_ts ,
978- filter ,
981+ pushdown_executor ,
979982 runtime_filter_list,
980983 query_info.dag_query ? query_info.dag_query ->rf_max_wait_time_ms : 0 ,
981984 query_info.req_id ,
0 commit comments