mod access_projection;
mod execution;
mod json;
mod nodes;
mod plan;
mod predicate;
mod projection;
mod render;
mod writer;
pub(in crate::db) use access_projection::explain_access_plan;
pub(in crate::db) use execution::ExplainPropertyMap;
pub(in crate::db) use execution::FinalizedQueryDiagnostics;
pub use execution::{
ExplainAggregateTerminalPlan, ExplainExecutionDescriptor, ExplainExecutionMode,
ExplainExecutionNodeDescriptor, ExplainExecutionNodeType, ExplainExecutionOrderingSource,
};
pub use plan::ExplainPlan;
pub(in crate::db) use plan::{
ExplainAccessPath, ExplainDeleteLimit, ExplainGroupAggregate, ExplainGroupField,
ExplainGrouping, ExplainOrderBy, ExplainOrderPushdown, ExplainPagination, ExplainPredicate,
SecondaryOrderPushdownRejection,
};
#[cfg(test)]
pub(in crate::db) use plan::{ExplainGroupHaving, ExplainOrder};
pub(in crate::db) use predicate::explain_predicate_from_expr;
pub(in crate::db) use projection::explain_projection_field_name;
#[cfg(test)]
mod tests;