Skip to main content

proof_of_sql_planner/
lib.rs

1//! This crate converts a `DataFusion` `LogicalPlan` to a `ProofPlan`
2#![cfg_attr(test, expect(clippy::missing_panics_doc))]
3extern crate alloc;
4mod aggregate;
5pub(crate) use aggregate::{aggregate_function_to_proof_expr, AggregateFunc};
6pub(crate) mod config;
7pub use config::datafusion_config_no_normalization;
8mod context;
9pub use context::PoSqlContextProvider;
10#[cfg(test)]
11pub(crate) use context::PoSqlTableSource;
12mod conversion;
13pub use conversion::{get_table_refs_from_statement, sql_to_proof_plans};
14#[cfg(test)]
15mod df_util;
16mod expr;
17pub use expr::expr_to_proof_expr;
18pub(crate) use expr::get_column_idents_from_expr;
19mod error;
20pub use error::{PlannerError, PlannerResult};
21mod plan;
22pub use plan::logical_plan_to_proof_plan;
23mod uppercase_column_visitor;
24pub use uppercase_column_visitor::{statement_with_uppercase_identifiers, uppercase_identifier};
25mod util;
26pub use util::column_fields_to_schema;
27pub(crate) use util::{
28    column_to_column_ref, placeholder_to_placeholder_expr, scalar_value_to_literal_value,
29    schema_to_column_fields, table_reference_to_table_ref,
30};