use crate::ast::{Condition, LogicalOp, SortOrder};
#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
pub struct Cage {
pub kind: CageKind,
pub conditions: Vec<Condition>,
pub logical_op: LogicalOp,
}
#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
pub enum CageKind {
Filter,
Payload,
Sort(SortOrder),
Limit(usize),
Offset(usize),
Sample(usize),
Qualify,
Partition,
}