pub struct PartialLookupState {
pub lookup_cache: Arc<LookupMemoryCache>,
pub schema: SchemaRef,
pub key_columns: Vec<String>,
pub key_sort_fields: Vec<SortField>,
pub source: Option<Arc<dyn LookupSourceDyn>>,
pub fetch_semaphore: Arc<Semaphore>,
pub projection: Vec<ColumnId>,
}Expand description
State for a partial (on-demand) lookup table.
Fields§
§lookup_cache: Arc<LookupMemoryCache>Bounded in-memory cache with S3-FIFO eviction.
schema: SchemaRefSchema of the lookup table.
key_columns: Vec<String>Key column names for row encoding.
key_sort_fields: Vec<SortField>SortField descriptors for key encoding via RowConverter.
source: Option<Arc<dyn LookupSourceDyn>>Async source for cache miss fallback (None = cache-only mode).
fetch_semaphore: Arc<Semaphore>Limits concurrent source queries to avoid overloading the source.
projection: Vec<ColumnId>Column indices (into schema) to fetch from the source — the union of
every column any query references, plus the key. Empty = fetch all.
Per-table (the cache is shared across queries), so it must be a superset.
Auto Trait Implementations§
impl !RefUnwindSafe for PartialLookupState
impl !UnwindSafe for PartialLookupState
impl Freeze for PartialLookupState
impl Send for PartialLookupState
impl Sync for PartialLookupState
impl Unpin for PartialLookupState
impl UnsafeUnpin for PartialLookupState
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
§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>
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 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>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
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>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.