laminar_core/lookup/mod.rs
1//! # Lookup Table Module
2//!
3//! Types and traits for lookup joins in streaming queries.
4//!
5//! Lookup tables allow stream events to be enriched with data from
6//! external sources (databases, object stores, caches) at query time.
7//!
8//! ## Module Overview
9//!
10//! - `predicate`: Filter predicates for source pushdown
11//! - `table`: `LookupTable` trait, `LookupResult`, strategy/config types
12
13/// foyer-backed in-memory cache for lookup tables.
14pub mod foyer_cache;
15pub mod predicate;
16/// Async lookup source trait.
17pub mod source;
18/// Lookup table trait and configuration.
19pub mod table;
20
21// Re-export commonly used types
22pub use foyer_cache::{FoyerMemoryCache, FoyerMemoryCacheConfig, LookupCacheKey};
23pub use predicate::{
24 predicate_to_sql, split_predicates, Predicate, ScalarValue, SourceCapabilities, SplitPredicates,
25};
26pub use source::{
27 ColumnId, LookupError, LookupSource, LookupSourceCapabilities, LookupSourceDyn, PushdownAdapter,
28};
29pub use table::{LookupResult, LookupStrategy, LookupTable, LookupTableConfig};