pub struct CompiledQueryGraph { /* private fields */ }Expand description
A graph of compiled segments connected by Ring 1 operators.
Each segment is a compiled pipeline; between segments sit BreakerExecutors
that handle stateful operations. The graph executes in topological order:
segment 0 → executor 0 → segment 1 → executor 1 → …
For the MVP, this is a linear chain (no fan-out or fan-in).
Implementations§
Source§impl CompiledQueryGraph
impl CompiledQueryGraph
Sourcepub fn new(
executors: Vec<BreakerExecutor>,
input_schema: SchemaRef,
output_schema: SchemaRef,
) -> Self
pub fn new( executors: Vec<BreakerExecutor>, input_schema: SchemaRef, output_schema: SchemaRef, ) -> Self
Creates a new graph with the given executors.
Sourcepub fn executor_count(&self) -> usize
pub fn executor_count(&self) -> usize
Returns the number of breaker executors in the graph.
Sourcepub fn executors(&self) -> &[BreakerExecutor]
pub fn executors(&self) -> &[BreakerExecutor]
Returns a reference to the executors.
Sourcepub fn executors_mut(&mut self) -> &mut [BreakerExecutor]
pub fn executors_mut(&mut self) -> &mut [BreakerExecutor]
Returns a mutable reference to the executors.
Sourcepub fn input_schema(&self) -> &SchemaRef
pub fn input_schema(&self) -> &SchemaRef
Returns the input schema.
Sourcepub fn output_schema(&self) -> &SchemaRef
pub fn output_schema(&self) -> &SchemaRef
Returns the output schema.
Sourcepub fn process_batch(&mut self, batch: RecordBatch) -> Vec<RecordBatch>
pub fn process_batch(&mut self, batch: RecordBatch) -> Vec<RecordBatch>
Processes a batch through all executors in sequence.
The batch enters the first executor; its output feeds the next, and so on. Returns the final output batches after all executors have processed.
Sourcepub fn advance_watermark(&mut self, timestamp: i64) -> Vec<RecordBatch>
pub fn advance_watermark(&mut self, timestamp: i64) -> Vec<RecordBatch>
Advances watermark through all executors.
Sourcepub fn checkpoint(&self) -> Vec<Vec<u8>>
pub fn checkpoint(&self) -> Vec<Vec<u8>>
Checkpoints all executor states.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CompiledQueryGraph
impl !RefUnwindSafe for CompiledQueryGraph
impl Send for CompiledQueryGraph
impl !Sync for CompiledQueryGraph
impl Unpin for CompiledQueryGraph
impl UnsafeUnpin for CompiledQueryGraph
impl !UnwindSafe for CompiledQueryGraph
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more