#![deny(missing_docs)]
mod canonical;
mod error;
mod expression;
mod plan;
mod program;
mod provenance;
pub mod catalog;
pub mod executor;
pub mod local_mounts;
pub mod lower;
pub mod placement;
pub use local_mounts::{
LocalDirectMount, LocalEventualMount, LocalProjectionMounts, LocalProjectionMountsBuilder,
};
pub use error::ProjectionProgramError;
pub use expression::{
ProjectionAssignment, ProjectionEnvelopeField, ProjectionExpression,
ProjectionObjectValueField, ProjectionScalarTransform, ProjectionValue, ProjectionValueRef,
ProjectionValueType, ResolvedProjectionValue, MAX_PROJECTION_EXPRESSION_DEPTH,
MAX_PROJECTION_PATH_SEGMENTS,
};
pub(crate) use expression::{ProjectionAssignmentRef, ProjectionExpressionRef};
pub use plan::{
ProjectionMutationProvenance, ProjectionOccurrenceProvenance, ResolvedProjectionField,
ResolvedProjectionKey, ResolvedProjectionKeyField, ResolvedProjectionMutation,
ResolvedProjectionMutationScope, ResolvedProjectionPartition, ResolvedProjectionPartitionRef,
ResolvedProjectionPlan, ResolvedProjectionRelationshipEffect,
};
pub use program::{
ProjectionArm, ProjectionEventSet, ProjectionField, ProjectionKeyField, ProjectionMutationKind,
ProjectionOperation, ProjectionPartition, ProjectionPlanTemplate, ProjectionProgram,
ProjectionProgramId, ProjectionProgramLimits, ProjectionRelationshipEffect,
ProjectionRelationshipEffectKind, MAX_PROJECTION_OPERATIONS_PER_OCCURRENCE,
PROJECTION_OPERATION_SEMANTICS_VERSION, PROJECTION_PROGRAM_IR_VERSION,
};
pub use provenance::{
ProjectionEventSelector, ProjectionInvalidation, ProjectionRelationship, ProjectionTarget,
};
#[cfg(test)]
mod tests;