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 {
359359 pub max_result_size : Option < u32 > ,
360360 /// The maximum number of in-flight bytes emitted by persist_sources feeding dataflows.
361361 pub 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`.
363365 pub 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