tests_fuzz/ir/
repartition_expr.rs1use partition::expr::PartitionExpr;
16use serde::{Deserialize, Serialize};
17
18use crate::ir::Ident;
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21pub struct SplitPartitionExpr {
22 pub table_name: Ident,
23 pub target: PartitionExpr,
24 pub into: Vec<PartitionExpr>,
25 #[serde(default = "default_wait")]
26 pub wait: bool,
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize)]
30pub struct MergePartitionExpr {
31 pub table_name: Ident,
32 pub targets: Vec<PartitionExpr>,
33 #[serde(default = "default_wait")]
34 pub wait: bool,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
38pub enum RepartitionExpr {
39 Split(SplitPartitionExpr),
40 Merge(MergePartitionExpr),
41}
42
43const fn default_wait() -> bool {
44 true
45}