@@ -508,7 +508,8 @@ void ReadFromRemote::addLazyPipe(
508508 my_stage = stage, my_storage = storage,
509509 add_agg_info, add_totals, add_extremes, async_read, async_query_sending,
510510 query_tree = shard.query_tree , planner_context = shard.planner_context ,
511- pushed_down_filters, parallel_marshalling_threads]() mutable
511+ pushed_down_filters, parallel_marshalling_threads,
512+ my_is_remote_function = is_remote_function]() mutable
512513 -> QueryPipelineBuilder
513514 {
514515 auto current_settings = my_context->getSettingsRef ();
@@ -603,6 +604,8 @@ void ReadFromRemote::addLazyPipe(
603604 {DataTypeUInt32 ().createColumnConst (1 , my_shard.shard_info .shard_num ), std::make_shared<DataTypeUInt32>(), " _shard_num" }};
604605 auto remote_query_executor = std::make_shared<RemoteQueryExecutor>(
605606 std::move (connections), query_string, header, my_context, my_throttler, my_scalars, my_external_tables, stage_to_use, my_shard.query_plan );
607+ remote_query_executor->setRemoteFunction (my_is_remote_function);
608+ remote_query_executor->setShardCount (my_shard_count);
606609
607610 auto pipe = createRemoteSourcePipe (
608611 remote_query_executor, add_agg_info, add_totals, add_extremes, async_read, async_query_sending, parallel_marshalling_threads);
@@ -693,6 +696,8 @@ void ReadFromRemote::addPipe(
693696 priority_func);
694697 remote_query_executor->setLogger (log);
695698 remote_query_executor->setPoolMode (PoolMode::GET_ONE);
699+ remote_query_executor->setRemoteFunction (is_remote_function);
700+ remote_query_executor->setShardCount (shard_count);
696701
697702 if (!table_func_ptr)
698703 remote_query_executor->setMainTable (shard.main_table ? shard.main_table : main_table);
@@ -713,6 +718,8 @@ void ReadFromRemote::addPipe(
713718 auto remote_query_executor = std::make_shared<RemoteQueryExecutor>(
714719 shard.shard_info .pool , query_string, shard.header , context, throttler, scalars, external_tables, stage_to_use, shard.query_plan );
715720 remote_query_executor->setLogger (log);
721+ remote_query_executor->setRemoteFunction (is_remote_function);
722+ remote_query_executor->setShardCount (shard_count);
716723
717724 if (context->canUseTaskBasedParallelReplicas () || parallel_replicas_disabled)
718725 {
0 commit comments