doCountSQL method

  1. @override
FutureOr<int> doCountSQL(
  1. String entityName,
  2. String table,
  3. SQL sql,
  4. Transaction transaction,
  5. PostgreSQLConnectionWrapper connection,
)
override

Implementation

@override
FutureOr<int> doCountSQL(
  String entityName,
  String table,
  SQL sql,
  Transaction transaction,
  PostgreSQLConnectionWrapper connection,
) {
  return connection
      .mappedResultsQuery(
        sql.sql,
        substitutionValues: sql.parametersByPlaceholder,
      )
      .resolveMapped((results) {
        var count =
            results
                .map((row) {
                  var count = row['count'] ?? 0;
                  return count is int
                      ? count
                      : int.tryParse(count.toString().trim());
                })
                .whereType<int>()
                .first;
        return count;
      });
}