Crate proof_of_sql_planner

Source
Expand description

This crate converts a DataFusion LogicalPlan to a ProofPlan and Postprocessing

Modules§

postprocessing
Proof of SQL Postprocessing. Used when the last step of the logical plan is an unprovable projection.

Structs§

PoSqlContextProvider
A ContextProvider implementation for Proof of SQL
ProofPlanWithPostprocessing
A DynProofPlan with optional postprocessing

Enums§

PlannerError
Proof of SQL Planner error

Functions§

column_fields_to_schema
Convert a Vec to a Schema
expr_to_proof_expr
Convert an [datafusion::expr::Expr] to DynProofExpr
get_table_refs_from_statement
Given a Statement retrieves all unique tables in the query
logical_plan_to_proof_plan
Visit a [datafusion::logical_plan::LogicalPlan] and return a DynProofPlan
logical_plan_to_proof_plan_with_postprocessing
Visit a [datafusion::logical_plan::LogicalPlan] and return a DynProofPlan with optional postprocessing
sql_to_proof_plans
Convert a SQL query to a DynProofPlan using schema from provided tables
sql_to_proof_plans_with_postprocessing
Convert a SQL query to a ProofPlanWithPostprocessing using schema from provided tables
statement_with_uppercase_identifiers
Returns the sqlparser statement with all of its column/table identifiers uppercased.
uppercase_identifier
Returns an uppercased version of Ident Leaving this as public because the sdk also uses this function

Type Aliases§

PlannerResult
Proof of SQL Planner result