Skip to main content

EdbSource

Trait EdbSource 

Source
pub trait EdbSource: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn relations(&self) -> Result<Vec<RelationInfo>>;
    fn scan(&self, relation: &str) -> Result<Vec<Vec<Value>>>;
    fn fingerprint(&self) -> Result<Option<Fingerprint>>;
}
Expand description

Readonly provider of extensional (base) facts.

Implementations load facts from external sources (files, databases, etc.) into the working store during Database::open().

Required Methods§

Source

fn name(&self) -> &str

A human-readable name for this source.

Source

fn relations(&self) -> Result<Vec<RelationInfo>>

Returns metadata about the relations this source provides.

Source

fn scan(&self, relation: &str) -> Result<Vec<Vec<Value>>>

Returns all tuples for the given relation.

Source

fn fingerprint(&self) -> Result<Option<Fingerprint>>

Returns a fingerprint for staleness detection. None means “always recompute” (no caching possible).

Implementors§