| 247 | /// to a set operation like `UNION`. |
| 248 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] |
| 249 | pub struct Select<T: AstInfo> { |
| 250 | pub distinct: Option<Distinct<T>>, |
| 251 | /// projection expressions |
| 252 | pub projection: Vec<SelectItem<T>>, |
| 253 | /// FROM |
| 254 | pub from: Vec<TableWithJoins<T>>, |
| 255 | /// WHERE |
| 256 | pub selection: Option<Expr<T>>, |
| 257 | /// GROUP BY |
| 258 | pub group_by: Vec<Expr<T>>, |
| 259 | /// HAVING |
| 260 | pub having: Option<Expr<T>>, |
| 261 | /// QUALIFY |
| 262 | pub qualify: Option<Expr<T>>, |
| 263 | /// OPTION |
| 264 | pub options: Vec<SelectOption<T>>, |
| 265 | } |
| 266 | |
| 267 | impl<T: AstInfo> AstDisplay for Select<T> { |
| 268 | fn fmt<W: fmt::Write>(&self, f: &mut AstFormatter<W>) { |
no outgoing calls
no test coverage detected