Crate salsa

source ·

Modules

Debugging APIs: these are meant for use when unit-testing or debugging your application but aren’t ordinarily needed.

Macros

This macro generates the “query storage” that goes into your query context.
A macro that helps in defining the “context trait” of a given module. This is a trait that defines everything that a block of queries need to execute, as well as defining the queries themselves that are exported for others to use.

Structs

The guard returned by lock_revision. Once this guard is dropped, the revision will be unlocked, and calls to set can proceed.
The salsa runtime stores the storage for all queries as well as tracking the query stack and dependencies between cycles.
The sweep strategy controls what data we will keep/discard when we do a GC-sweep. The default (SweepStrategy::default) is to keep all memoized values used in the current revision.

Traits

The base trait which your “query context” must implement. Gives access to the salsa runtime, which you must embed into your query context (along with whatever other state you may require).
Indicates a database that also supports parallel query evaluation. All of Salsa’s base query support is capable of parallel execution, but for it to work, your query key/value types must also be Send, as must any additional data in your database.