diff --git a/core/translate/plan.rs b/core/translate/plan.rs index 666dec84f..35c2de38d 100644 --- a/core/translate/plan.rs +++ b/core/translate/plan.rs @@ -170,22 +170,21 @@ pub struct DeletePlan { #[derive(Debug, Clone)] pub struct UpdatePlan { - // list of table references, table being updated is always first + // table being updated is always first pub table_references: Vec, - // which columns are being updated and what they are being set to - pub set_clauses: Vec<(usize, ast::Expr)>, // (column_index, expression) - // where clause split into a vec at 'AND' boundaries. + // (colum index, new value) pairs + pub set_clauses: Vec<(usize, ast::Expr)>, pub where_clause: Vec, pub order_by: Option>, - // TODO: support optional LIMIT + // TODO: full support of optional LIMIT pub limit: Option, - // optional RETURNING clause + // TODO: optional RETURNING clause pub returning: Option>, // whether the WHERE clause is always false pub contains_constant_false_condition: bool, } -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum IterationDirection { Forwards, Backwards,