MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / export_subscribe

Method export_subscribe

src/clusterd-test-driver/src/dataflow.rs:363–383  ·  view source on GitHub ↗

Export a subscribe sink `sink_id` streaming changes of the collection `from_id` back as `ComputeResponse::SubscribeResponse` batches. Unlike a materialized view, a subscribe writes no shard, so it needs no storage metadata. `value_desc` is the output schema (must match `from_id`'s type); `up_to` is the exclusive upper at which the subscribe completes. The empty `output` ordering leaves intra-time

(
        &mut self,
        sink_id: GlobalId,
        from_id: GlobalId,
        value_desc: RelationDesc,
        up_to: Antichain<Timestamp>,
    )

Source from the content-addressed store, hash-verified

361 /// empty `output` ordering leaves intra-timestamp order unconstrained — the
362 /// driver consolidates and sorts the updates for a deterministic golden.
363 pub fn export_subscribe(
364 &mut self,
365 sink_id: GlobalId,
366 from_id: GlobalId,
367 value_desc: RelationDesc,
368 up_to: Antichain<Timestamp>,
369 ) -> &mut Self {
370 let desc = ComputeSinkDesc {
371 from: from_id,
372 from_desc: value_desc,
373 connection: ComputeSinkConnection::Subscribe(SubscribeSinkConnection {
374 output: vec![],
375 }),
376 with_snapshot: true,
377 up_to,
378 non_null_assertions: vec![],
379 refresh_schedule: None,
380 };
381 self.mir.export_sink(sink_id, desc);
382 self
383 }
384
385 /// Set the dataflow's `as_of` (the read frontier hydration starts from).
386 pub fn as_of(&mut self, t: Timestamp) -> &mut Self {

Callers 1

executeMethod · 0.80

Calls 2

SubscribeClass · 0.50
export_sinkMethod · 0.45

Tested by

no test coverage detected