@@ -510,7 +510,8 @@ void ReadFromRemote::addLazyPipe(
510510 my_stage = stage, my_storage = storage,
511511 add_agg_info, add_totals, add_extremes, async_read, async_query_sending,
512512 query_tree = shard.query_tree , planner_context = shard.planner_context ,
513- pushed_down_filters, parallel_marshalling_threads]() mutable
513+ pushed_down_filters, parallel_marshalling_threads,
514+ my_is_remote_function = is_remote_function]() mutable
514515 -> QueryPipelineBuilder
515516 {
516517 auto current_settings = my_context->getSettingsRef ();
@@ -597,6 +598,8 @@ void ReadFromRemote::addLazyPipe(
597598 {DataTypeUInt32 ().createColumnConst (1 , my_shard.shard_info .shard_num ), std::make_shared<DataTypeUInt32>(), " _shard_num" }};
598599 auto remote_query_executor = std::make_shared<RemoteQueryExecutor>(
599600 std::move (connections), query_string, header, my_context, my_throttler, my_scalars, my_external_tables, stage_to_use, my_shard.query_plan );
601+ remote_query_executor->setRemoteFunction (my_is_remote_function);
602+ remote_query_executor->setShardCount (my_shard_count);
600603
601604 auto pipe = createRemoteSourcePipe (
602605 remote_query_executor, add_agg_info, add_totals, add_extremes, async_read, async_query_sending, parallel_marshalling_threads);
@@ -687,6 +690,8 @@ void ReadFromRemote::addPipe(
687690 priority_func);
688691 remote_query_executor->setLogger (log);
689692 remote_query_executor->setPoolMode (PoolMode::GET_ONE);
693+ remote_query_executor->setRemoteFunction (is_remote_function);
694+ remote_query_executor->setShardCount (shard_count);
690695
691696 if (!table_func_ptr)
692697 remote_query_executor->setMainTable (shard.main_table ? shard.main_table : main_table);
@@ -707,6 +712,8 @@ void ReadFromRemote::addPipe(
707712 auto remote_query_executor = std::make_shared<RemoteQueryExecutor>(
708713 shard.shard_info .pool , query_string, shard.header , context, throttler, scalars, external_tables, stage_to_use, shard.query_plan );
709714 remote_query_executor->setLogger (log);
715+ remote_query_executor->setRemoteFunction (is_remote_function);
716+ remote_query_executor->setShardCount (shard_count);
710717
711718 if (context->canUseTaskBasedParallelReplicas () || parallel_replicas_disabled)
712719 {
0 commit comments