pub(crate) struct Src<'a> {
pub node: u32,
pub seq: u64,
pub min_ts: i64,
pub max_ts: i64,
pub dir: Option<&'a Path>,
tables: Option<&'a [(&'static str, RecordBatch)]>,
}Expand description
One candidate the read path may have to open: a published block directory, or the snapshot of a block that is still open (section 4).
Everything a scan needs before it opens anything — the range to prune on, the identity a cursor is built from, and where the tables are. The two cases differ in exactly two ways: a snapshot has no directory to read sidecars out of, and its tables are already in memory.
Fields§
§node: u32§seq: u64§min_ts: i64§max_ts: i64§dir: Option<&'a Path>None for a snapshot. Skipping the sidecar probes is not a special
case: “no filter file” already means “scan me” for every block published
before that filter existed.
tables: Option<&'a [(&'static str, RecordBatch)]>Implementations§
Source§impl<'a> Src<'a>
impl<'a> Src<'a>
pub fn disk(b: &'a BlockRef) -> Src<'a>
pub fn open(o: &'a Open) -> Src<'a>
pub fn overlaps(&self, from: i64, to: i64) -> bool
Sourcepub fn load(&self, name: &str) -> Result<Option<RecordBatch>>
pub fn load(&self, name: &str) -> Result<Option<RecordBatch>>
One named table, or None if this source does not have it.
A missing table on disk is not an error: retention unlinking an expired
block underneath a scan is normal. An open block’s tables are already
Arrow, under the same names the published files would carry — including
the empty ones, which publish skips and which read identically to
absent everywhere downstream.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for Src<'a>
impl<'a> !UnwindSafe for Src<'a>
impl<'a> Freeze for Src<'a>
impl<'a> Send for Src<'a>
impl<'a> Sync for Src<'a>
impl<'a> Unpin for Src<'a>
impl<'a> UnsafeUnpin for Src<'a>
Blanket Implementations§
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].