Skip to main content

StreamingQuery

Struct StreamingQuery 

Source
pub struct StreamingQuery { /* private fields */ }
Expand description

A running streaming query that connects compiled pipelines to Ring 1 via bridges.

StreamingQuery manages the lifecycle (start/pause/resume/stop), processes events through compiled or fallback pipelines, and produces Ring1Actions for downstream stateful operators.

Implementations§

Source§

impl StreamingQuery

Source

pub fn start(&mut self) -> Result<(), QueryError>

Transitions from QueryState::Ready to QueryState::Running.

§Errors

Returns QueryError::InvalidState if not in Ready state.

Source

pub fn pause(&mut self) -> Result<(), QueryError>

Transitions from QueryState::Running to QueryState::Paused.

§Errors

Returns QueryError::InvalidState if not in Running state.

Source

pub fn resume(&mut self) -> Result<(), QueryError>

Transitions from QueryState::Paused to QueryState::Running.

§Errors

Returns QueryError::InvalidState if not in Paused state.

Source

pub fn stop(&mut self) -> Result<(), QueryError>

Transitions to QueryState::Stopped from any non-terminal state.

§Errors

Returns QueryError::InvalidState if already in Stopped state.

Source

pub fn submit_row( &mut self, row: &EventRow<'_>, event_time: i64, key_hash: u64, ) -> Result<SubmitResult, QueryError>

Submits an event row for processing through all pipelines.

For compiled pipelines, the row is executed through the native function and the result is sent to the corresponding bridge. For fallback pipelines, the input row is sent directly (passthrough) for Ring 1 interpreted execution.

§Errors

Returns QueryError::InvalidState if not in Running state. Returns QueryError::PipelineError if a compiled pipeline returns Error. Returns QueryError::Bridge if a bridge send fails.

Source

pub fn advance_watermark(&self, timestamp: i64) -> Result<(), QueryError>

Sends a watermark advance through all bridges.

§Errors

Returns QueryError::InvalidState if not in Running state. Returns QueryError::Bridge if any bridge send fails.

Source

pub fn checkpoint(&self, epoch: u64) -> Result<(), QueryError>

Sends a checkpoint barrier through all bridges.

§Errors

Returns QueryError::InvalidState if not in Running state. Returns QueryError::Bridge if any bridge send fails.

Source

pub fn send_eof(&self) -> Result<(), QueryError>

Sends an end-of-stream marker through all bridges.

§Errors

Returns QueryError::Bridge if any bridge send fails.

Source

pub fn poll_ring1(&mut self) -> SmallVec<[Ring1Action; 4]>

Drains all consumers and returns concatenated Ring 1 actions.

Source

pub fn check_latency_flush(&mut self) -> SmallVec<[Ring1Action; 4]>

Checks all consumers for latency-triggered flushes.

Source

pub fn swap( &mut self, new: StreamingQuery, ) -> Result<StreamingQuery, QueryError>

Swaps this query’s pipelines, bridges, and consumers with those from new.

Both queries must have the same number of pipelines. The new query inherits the current Running or Paused state.

§Errors

Returns QueryError::InvalidState if in Ready or Stopped state. Returns QueryError::IncompatibleSchemas if pipeline counts differ.

Source

pub fn id(&self) -> QueryId

Returns the query identifier.

Source

pub fn sql(&self) -> &str

Returns the SQL text for this query.

Source

pub fn state(&self) -> QueryState

Returns the current lifecycle state.

Source

pub fn metadata(&self) -> &QueryMetadata

Returns compilation metadata.

Source

pub fn pipeline_count(&self) -> usize

Returns the number of pipelines in this query.

Source

pub fn metrics(&self) -> QueryMetrics

Aggregates runtime metrics from all pipelines and bridges.

Trait Implementations§

Source§

impl Debug for StreamingQuery

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Scope for T

§

fn with<F, R>(self, f: F) -> R
where Self: Sized, F: FnOnce(Self) -> R,

Scoped with ownership.
§

fn with_ref<F, R>(&self, f: F) -> R
where F: FnOnce(&Self) -> R,

Scoped with reference.
§

fn with_mut<F, R>(&mut self, f: F) -> R
where F: FnOnce(&mut Self) -> R,

Scoped with mutable reference.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Value for T
where T: Send + Sync + 'static,