1010//! Compute protocol commands. 
1111
1212use  mz_cluster_client:: client:: { ClusterStartupEpoch ,  TimelyConfig ,  TryIntoTimelyConfig } ; 
13- use  mz_compute_types:: dataflows:: DataflowDescription ; 
13+ use  mz_compute_types:: dataflows:: { DataflowDescription ,   YieldSpec } ; 
1414use  mz_expr:: RowSetFinishing ; 
1515use  mz_ore:: tracing:: OpenTelemetryContext ; 
1616use  mz_persist_client:: cfg:: PersistParameters ; 
@@ -359,6 +359,8 @@ pub struct ComputeParameters {
359359pub  max_result_size :  Option < u32 > , 
360360    /// The maximum number of in-flight bytes emitted by persist_sources feeding dataflows. 
361361pub  dataflow_max_inflight_bytes :  Option < usize > , 
362+     /// The yielding behavior with which linear joins should be rendered. 
363+ pub  linear_join_yielding :  Option < YieldSpec > , 
362364    /// Whether rendering should use `mz_join_core` rather than DD's `JoinCore::join_core`. 
363365pub  enable_mz_join_core :  Option < bool > , 
364366    /// Whether to activate jemalloc heap profiling. 
@@ -379,6 +381,7 @@ impl ComputeParameters {
379381        let  ComputeParameters  { 
380382            max_result_size, 
381383            dataflow_max_inflight_bytes, 
384+             linear_join_yielding, 
382385            enable_mz_join_core, 
383386            enable_jemalloc_profiling, 
384387            enable_specialized_arrangements, 
@@ -393,6 +396,9 @@ impl ComputeParameters {
393396        if  dataflow_max_inflight_bytes. is_some ( )  { 
394397            self . dataflow_max_inflight_bytes  = dataflow_max_inflight_bytes; 
395398        } 
399+         if  linear_join_yielding. is_some ( )  { 
400+             self . linear_join_yielding  = linear_join_yielding; 
401+         } 
396402        if  enable_mz_join_core. is_some ( )  { 
397403            self . enable_mz_join_core  = enable_mz_join_core; 
398404        } 
@@ -420,6 +426,7 @@ impl RustType<ProtoComputeParameters> for ComputeParameters {
420426        ProtoComputeParameters  { 
421427            max_result_size :  self . max_result_size . into_proto ( ) , 
422428            dataflow_max_inflight_bytes :  self . dataflow_max_inflight_bytes . into_proto ( ) , 
429+             linear_join_yielding :  self . linear_join_yielding . into_proto ( ) , 
423430            enable_mz_join_core :  self . enable_mz_join_core . into_proto ( ) , 
424431            enable_jemalloc_profiling :  self . enable_jemalloc_profiling . into_proto ( ) , 
425432            enable_specialized_arrangements :  self . enable_specialized_arrangements . into_proto ( ) , 
@@ -433,6 +440,7 @@ impl RustType<ProtoComputeParameters> for ComputeParameters {
433440        Ok ( Self  { 
434441            max_result_size :  proto. max_result_size . into_rust ( ) ?, 
435442            dataflow_max_inflight_bytes :  proto. dataflow_max_inflight_bytes . into_rust ( ) ?, 
443+             linear_join_yielding :  proto. linear_join_yielding . into_rust ( ) ?, 
436444            enable_mz_join_core :  proto. enable_mz_join_core . into_rust ( ) ?, 
437445            enable_jemalloc_profiling :  proto. enable_jemalloc_profiling . into_rust ( ) ?, 
438446            enable_specialized_arrangements :  proto. enable_specialized_arrangements . into_rust ( ) ?, 
0 commit comments