1use revision::revisioned;
2use serde::{Deserialize, Serialize};
3use std::fmt::{Display, Formatter, Result};
4
5#[derive(Clone, Debug, Eq, PartialEq, PartialOrd, Serialize, Deserialize, Hash)]
6#[revisioned(revision = 1)]
7pub enum With {
8 NoIndex,
9 Index(Vec<String>),
10}
11
12impl Display for With {
13 fn fmt(&self, f: &mut Formatter) -> Result {
14 f.write_str("WITH")?;
15 match self {
16 With::NoIndex => f.write_str(" NOINDEX"),
17 With::Index(i) => {
18 f.write_str(" INDEX ")?;
19 f.write_str(&i.join(","))
20 }
21 }
22 }
23}