compileAggregate method

String compileAggregate(
  1. Map<String, dynamic> query,
  2. Map<String, dynamic> aggregate
)

Compile an aggregate query (count, max, min, etc.).

Implementation

String compileAggregate(
  Map<String, dynamic> query,
  Map<String, dynamic> aggregate,
) {
  // Temporarily replace columns with aggregate
  final originalColumns = query['columns'];
  query['columns'] = [
    {
      'type': 'Raw',
      'sql': '${aggregate['function']}(${aggregate['column']}) as aggregate',
    },
  ];

  final sql = compileSelect(query);

  // Restore
  query['columns'] = originalColumns;

  return sql;
}