uni_query/query/mod.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2024-2026 Dragonscale Team
3
4//! Cypher query planning and execution engine.
5//!
6//! Contains the logical planner, executor, DataFusion integration,
7//! predicate pushdown, rewrite rules, and supporting utilities.
8//!
9//! Leaf modules (df_udfs, datetime, spatial, df_expr, expr_eval,
10//! cypher_type_coerce, function_props, fusion, pushdown, rewrite,
11//! similar_to) live in the `uni-query-functions` crate and are
12//! re-exported below so downstream callers can keep using
13//! `uni_query::query::<name>::*`.
14
15pub mod df_graph;
16pub mod df_planner;
17pub mod df_udaf_plugin;
18pub mod df_udfs_plugin;
19pub mod executor;
20pub mod locy_planner;
21pub mod planner;
22pub mod planner_locy_types;
23
24// Re-export leaves from uni-query-functions so external code keeps
25// working without path changes.
26pub use uni_query_functions::{
27 cypher_type_coerce, datetime, df_expr, df_udfs, expr_eval, function_props, fusion, pushdown,
28 rewrite, similar_to, spatial,
29};
30
31/// Supported window function names (uppercase).
32/// Used by both planner and executor for consistency.
33pub const WINDOW_FUNCTIONS: &[&str] = &[
34 "ROW_NUMBER",
35 "RANK",
36 "DENSE_RANK",
37 "LAG",
38 "LEAD",
39 "NTILE",
40 "FIRST_VALUE",
41 "LAST_VALUE",
42 "NTH_VALUE",
43 "SUM",
44 "AVG",
45 "MIN",
46 "MAX",
47 "COUNT",
48];