reddb_server/storage/query/
mod.rs1pub mod analyze_cmd;
46pub mod batch;
47pub mod binary;
48pub mod engine;
49pub mod evaluator;
50pub mod executor;
51pub mod executors;
52pub mod filter;
53pub mod filter_compiled;
54pub mod planner;
55pub mod rag;
56pub mod similarity;
57pub mod sort;
58pub mod step;
59#[cfg(test)]
60pub(crate) mod test_support;
61pub mod unified;
62pub mod user_params;
63pub(crate) mod value_compare;
64
65pub use engine::{
67 Binding, BindingBuilder, BindingIterator, Op, OpBGP, OpDisjunction, OpDistinct, OpExtend,
68 OpFilter, OpGroup, OpJoin, OpLeftJoin, OpMinus, OpNull, OpOrder, OpProject, OpReduced,
69 OpSequence, OpSlice, OpTable, OpTransform, OpTriple, OpUnion, OpVisitor, Pattern, QueryEngine,
70 QueryEngineFactory, QueryEngineRegistry, QueryIter, QueryIterBase, QueryIterFilter,
71 QueryIterJoin, QueryIterProject, QueryIterSlice, QueryIterSort, QueryIterUnion, TransformCopy,
72 TransformPushFilter, Triple, Var,
73};
74pub use executor::{QueryExecutor, QueryPlan, QueryResult};
75pub use executors::{
76 CteContext, CteExecutor, CteStats, ExecuteResult, GremlinExecutor, MultiModeExecutor,
77 NaturalExecutor, SparqlExecutor,
78};
79pub use filter::{Filter, FilterOp, Predicate};
80pub use planner::{
81 CacheStats, CachedPlan, CardinalityEstimate, CostEstimator, PlanCache, PlanCost,
82 QueryPlan as PlannerQueryPlan, QueryPlanner,
83};
84pub use rag::{
85 ChunkSource, ContextChunk, EntityType, MultiSourceRetriever, QueryAnalysis, QueryIntent,
86 RagConfig, RagEngine, RetrievalContext, RetrievalStrategy, SimilarEntity,
87};
88pub use reddb_types::{SqlTypeName, TypeModifier};
89pub use similarity::{SimilarityQuery, SimilarityResult};
90pub use sort::{Direction, NullsOrder, OrderBy, QueryLimits, SortKey};
91pub use step::{
92 AggregateStep, BarrierStep, BasicTraversal, BranchStep, ChooseStep, CollectingBarrierStep,
93 DedupStep, Direction as TraversalDirection, EdgeSourceStep, EdgeStep, ExecutionMode,
94 FilterStep, FlatMapStep, FoldStep, GroupStep, HasStep, IdStep, LimitStep, LoopState, MapStep,
95 OptionalStep, OrderStep, Path, PathStep, Predicate as StepPredicate, ProjectStep, PropertyStep,
96 RangeStep, ReducingBarrierStep, RepeatStep, SelectStep, SideEffectStep, SourceStep, Step,
97 StepPosition, StepResult, StoreStep, Traversal, TraversalParent, Traverser, TraverserGenerator,
98 TraverserRequirement, TraverserValue, UnionStep, ValueMapStep, VertexSourceStep, VertexStep,
99 WhereStep,
100};
101pub use unified::{
102 ExecutionError, GraphPath, MatchedEdge, MatchedNode, QueryStats, UnifiedExecutor,
103 UnifiedRecord, UnifiedResult,
104};
105
106pub fn is_universal_entity_source(table: &str) -> bool {
109 table.eq_ignore_ascii_case("any")
110 || table.eq_ignore_ascii_case("_any")
111 || table.eq_ignore_ascii_case("all")
112 || table.eq_ignore_ascii_case("entity")
113 || table.eq_ignore_ascii_case("universal")
114 || table.eq_ignore_ascii_case("mixed")
115 || table == "*"
116}