pub mod activation_fusion;
pub mod depth_scheduling;
pub mod namespace_partition_prune;
pub mod policy_pushdown;
pub mod prospective_short_circuit;
pub mod temporal_index;
pub use activation_fusion::ActivationFusionRule;
pub use depth_scheduling::DepthSchedulingRule;
pub use namespace_partition_prune::NamespacePartitionPruneRule;
pub use policy_pushdown::PolicyPushdownRule;
pub use prospective_short_circuit::{DEFAULT_PROSPECTIVE_THRESHOLD, ProspectiveShortCircuitExec};
pub use temporal_index::TemporalIndexRule;
use std::sync::Arc;
use datafusion_physical_optimizer::PhysicalOptimizerRule;
pub fn all_rules() -> Vec<Arc<dyn PhysicalOptimizerRule + Send + Sync>> {
vec![
Arc::new(PolicyPushdownRule::new()),
Arc::new(NamespacePartitionPruneRule::new()),
Arc::new(ActivationFusionRule::new()),
Arc::new(TemporalIndexRule::new()),
Arc::new(DepthSchedulingRule::new()),
]
}