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§
Sourcefn relations(&self) -> Result<Vec<RelationInfo>>
fn relations(&self) -> Result<Vec<RelationInfo>>
Returns metadata about the relations this source provides.
Sourcefn scan(&self, relation: &str) -> Result<Vec<Vec<Value>>>
fn scan(&self, relation: &str) -> Result<Vec<Vec<Value>>>
Returns all tuples for the given relation.
Sourcefn fingerprint(&self) -> Result<Option<Fingerprint>>
fn fingerprint(&self) -> Result<Option<Fingerprint>>
Returns a fingerprint for staleness detection.
None means “always recompute” (no caching possible).