pub struct DataSourceSchemaCache {
pub version: u32,
pub sources: HashMap<String, SourceSchema>,
}Expand description
Top-level cache model for external data-source schemas.
Fields§
§version: u32Schema cache format version.
sources: HashMap<String, SourceSchema>Source URI -> schema mapping.
Implementations§
Source§impl DataSourceSchemaCache
impl DataSourceSchemaCache
Sourcepub fn load_with_diagnostics(
path: &Path,
) -> Result<(Self, Vec<SchemaCacheDiagnostic>)>
pub fn load_with_diagnostics( path: &Path, ) -> Result<(Self, Vec<SchemaCacheDiagnostic>)>
Load cache entries from shape.lock artifacts and collect diagnostics for
stale/invalid artifacts while keeping valid entries.
Sourcepub fn load_or_empty(path: &Path) -> Self
pub fn load_or_empty(path: &Path) -> Self
Try to load cache entries, returning an empty cache if lockfile is missing.
Sourcepub fn get_source(&self, uri: &str) -> Option<&SourceSchema>
pub fn get_source(&self, uri: &str) -> Option<&SourceSchema>
Get schema for a specific source URI.
Sourcepub fn upsert_source(&mut self, schema: SourceSchema)
pub fn upsert_source(&mut self, schema: SourceSchema)
Insert or update a source schema.
Sourcepub fn is_offline() -> bool
pub fn is_offline() -> bool
Check if offline mode is enabled via SHAPE_OFFLINE=true.
Trait Implementations§
Source§impl Clone for DataSourceSchemaCache
impl Clone for DataSourceSchemaCache
Source§fn clone(&self) -> DataSourceSchemaCache
fn clone(&self) -> DataSourceSchemaCache
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DataSourceSchemaCache
impl Debug for DataSourceSchemaCache
Source§impl Default for DataSourceSchemaCache
impl Default for DataSourceSchemaCache
Source§impl<'de> Deserialize<'de> for DataSourceSchemaCache
impl<'de> Deserialize<'de> for DataSourceSchemaCache
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DataSourceSchemaCache
impl RefUnwindSafe for DataSourceSchemaCache
impl Send for DataSourceSchemaCache
impl Sync for DataSourceSchemaCache
impl Unpin for DataSourceSchemaCache
impl UnsafeUnpin for DataSourceSchemaCache
impl UnwindSafe for DataSourceSchemaCache
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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