Module vectorscan::database
source · Expand description
Compile state machines from expressions or deserialize them from bytes.
Vectorscan supports two distinct types of databases:
Database
: from the base vectorscan library and supportsExpression
andLiteral
patterns.chimera::ChimeraDb
: from the chimera library and supportsChimeraExpression
patterns.
Each database type serves as the entry point to the pattern compiler
methods, such as Database::compile()
and
chimera::ChimeraDb::compile()
.
Database Instantiation
The base vectorscan library offers a serialization interface for database
objects which allows them to be transferred across hosts. The
SerializedDb
type provides an interface to locate serialized data from
multiple locations. Consumers of this crate which disable the "compiler"
feature can still search against strings by deserializing a database from
bytes.
The chimera library does not support database serialization, so databases must be created by compilation.
Modules
- Wrappers over allocations from various sources.
- chimera
chimera
Compile chimera state machines from expressions.
Structs
- Read-only description of an in-memory state machine.
- Wrapper for allocated string data returned by
Database::info()
. - Wrapper for a serialized form of a
Database
.
Type Aliases
- Pointer type for db allocations used in
Database#Managing Allocations
.