toQuery method

String toQuery(
  1. TableDefinition tableDefinition
)

Generates a SQL WHERE clause from the filter.

Implementation

String toQuery(TableDefinition tableDefinition) {
  var expressions = <String>[];
  for (var constraint in constraints) {
    var columnDefinition = tableDefinition.findColumnNamed(constraint.column);
    if (columnDefinition == null) {
      throw Exception(
        'Column "${constraint.column}" not found in table "${tableDefinition.name}".',
      );
    }

    var expression = constraint.toQuery(columnDefinition);
    expressions.add('($expression)');
  }

  return expressions.join(' AND ');
}