delete method

Future<List<T>> delete(
  1. QueryExecutor executor
)

Implementation

Future<List<T>> delete(QueryExecutor executor) {
  var sql = compile({}, preamble: 'DELETE', withFields: false);

  //_log.warning("Delete Query = $sql");

  if (_joins.isEmpty) {
    return executor
        .query(tableName, sql, substitutionValues,
            returningFields: fields.map(adornWithTableName).toList())
        .then((it) => deserializeList(it));
  } else {
    return executor.transaction((tx) async {
      // TODO: Can this be done with just *one* query?
      var existing = await get(tx);
      //var sql = compile(preamble: 'SELECT $tableName.id', withFields: false);
      return tx
          .query(tableName, sql, substitutionValues)
          .then((_) => existing);
    });
  }
}