| 1281 | /// A function call |
| 1282 | #[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] |
| 1283 | pub struct Function<T: AstInfo> { |
| 1284 | pub name: T::ItemName, |
| 1285 | pub args: FunctionArgs<T>, |
| 1286 | // aggregate functions may specify e.g. `COUNT(DISTINCT X) FILTER (WHERE ...)` |
| 1287 | pub filter: Option<Box<Expr<T>>>, |
| 1288 | pub over: Option<WindowSpec<T>>, |
| 1289 | // aggregate functions may specify eg `COUNT(DISTINCT x)` |
| 1290 | pub distinct: bool, |
| 1291 | } |
| 1292 | |
| 1293 | impl<T: AstInfo> AstDisplay for Function<T> { |
| 1294 | fn fmt<W: fmt::Write>(&self, f: &mut AstFormatter<W>) { |
no outgoing calls