Struct salsa::QueryTable [−][src]
pub struct QueryTable<'me, Q> where
Q: Query, { /* fields omitted */ }
Return value from the query
method on Database
.
Gives access to various less common operations on queries.
Implementations
impl<'me, Q> QueryTable<'me, Q> where
Q: Query,
Q::Storage: QueryStorageOps<Q>,
[src]
impl<'me, Q> QueryTable<'me, Q> where
Q: Query,
Q::Storage: QueryStorageOps<Q>,
[src]pub fn new(
db: &'me <Q as QueryDb<'me>>::DynDb,
storage: &'me Q::Storage
) -> Self
[src]
db: &'me <Q as QueryDb<'me>>::DynDb,
storage: &'me Q::Storage
) -> Self
Constructs a new QueryTable
.
pub fn get(&self, key: Q::Key) -> Q::Value
[src]
Execute the query on a given input. Usually it’s easier to invoke the trait method directly. Note that for variadic queries (those with no inputs, or those with more than one input) the key will be a tuple.
pub fn sweep(&self, strategy: SweepStrategy) where
Q::Storage: QueryStorageMassOps,
[src]
Q::Storage: QueryStorageMassOps,
Remove all values for this query that have not been used in the most recent revision.
pub fn purge(&self) where
Q::Storage: QueryStorageMassOps,
[src]
Q::Storage: QueryStorageMassOps,
Completely clears the storage for this query.
This method breaks internal invariants of salsa, so any further queries might return nonsense results. It is useful only in very specific circumstances – for example, when one wants to observe which values dropped together with the table
Trait Implementations
impl<'d, Q> DebugQueryTable for QueryTable<'_, Q> where
Q: Query,
Q::Storage: QueryStorageOps<Q>,
[src]
impl<'d, Q> DebugQueryTable for QueryTable<'_, Q> where
Q: Query,
Q::Storage: QueryStorageOps<Q>,
[src]type Key = Q::Key
Key of this query.
type Value = Q::Value
Value of this query.
fn durability(&self, key: Q::Key) -> Durability
[src]
fn entries<C>(&self) -> C where
C: FromIterator<TableEntry<Self::Key, Self::Value>>,
[src]
C: FromIterator<TableEntry<Self::Key, Self::Value>>,
Auto Trait Implementations
impl<'me, Q> RefUnwindSafe for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: RefUnwindSafe,
<Q as Query>::Storage: RefUnwindSafe,
impl<'me, Q> RefUnwindSafe for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: RefUnwindSafe,
<Q as Query>::Storage: RefUnwindSafe,
impl<'me, Q> Send for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: Sync,
<Q as Query>::Storage: Sync,
impl<'me, Q> Send for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: Sync,
<Q as Query>::Storage: Sync,
impl<'me, Q> Sync for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: Sync,
<Q as Query>::Storage: Sync,
impl<'me, Q> Sync for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: Sync,
<Q as Query>::Storage: Sync,
impl<'me, Q> Unpin for QueryTable<'me, Q>
impl<'me, Q> Unpin for QueryTable<'me, Q>
impl<'me, Q> UnwindSafe for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: RefUnwindSafe,
<Q as Query>::Storage: RefUnwindSafe,
impl<'me, Q> UnwindSafe for QueryTable<'me, Q> where
<Q as QueryDb<'me>>::DynDb: RefUnwindSafe,
<Q as Query>::Storage: RefUnwindSafe,