Skip to content

Commit 3d02fbf

Browse files
committed
More async/await changes
1 parent 8d6ab9a commit 3d02fbf

File tree

3 files changed

+26
-34
lines changed

3 files changed

+26
-34
lines changed

lib/src/results/results_impl.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,13 @@ class _ResultsImpl extends StreamView<Row> implements Results {
3131
* all the rows into a list until the stream has finished. It then returns a new
3232
* _ResultsImpl which wraps that list of rows.
3333
*/
34-
static Future<_ResultsImpl> destream(_ResultsImpl results) {
34+
static Future<_ResultsImpl> destream(_ResultsImpl results) async {
3535
var rows = new List<Row>();
36-
return results.forEach((row) {
36+
await results.forEach((row) {
3737
rows.add(row);
38-
}).then((_) {
39-
var newStream = new Stream<Row>.fromIterable(rows);
40-
return new _ResultsImpl._fromStream(results.insertId, results.affectedRows,
41-
results.fields, newStream);
4238
});
39+
var newStream = new Stream<Row>.fromIterable(rows);
40+
return new _ResultsImpl._fromStream(results.insertId, results.affectedRows,
41+
results.fields, newStream);
4342
}
4443
}

lib/src/retained_connection.dart

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,20 @@ abstract class _RetainedConnectionBase extends Object with _ConnectionHelpers im
1313
return _cnx.processHandler(handler);
1414
}
1515

16-
Future<Query> prepare(String sql) {
16+
Future<Query> prepare(String sql) async {
1717
_checkReleased();
1818
var query = new Query._forTransaction(new _TransactionPool(_cnx), _cnx, sql);
19-
return query._prepare(true).then((preparedQuery) => new Future.value(query));
19+
await query._prepare(true);
20+
return new Future.value(query);
2021
}
2122

22-
Future<Results> prepareExecute(String sql, List parameters) {
23+
Future<Results> prepareExecute(String sql, List parameters) async {
2324
_checkReleased();
24-
return prepare(sql)
25-
.then((query) {
26-
return query.execute(parameters)
27-
.then((results) {
28-
//TODO is it right to close here? Query might still be running
29-
query.close();
30-
return new Future.value(results);
31-
});
32-
});
25+
var query = await prepare(sql);
26+
var results = await query.execute(parameters);
27+
//TODO is it right to close here? Query might still be running
28+
query.close();
29+
return new Future.value(results);
3330
}
3431

3532
void _checkReleased();

lib/src/transaction.dart

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,32 +23,28 @@ abstract class Transaction extends QueriableConnection {
2323
class _TransactionImpl extends _RetainedConnectionBase implements Transaction {
2424
_TransactionImpl._(cnx, pool) : super._(cnx, pool);
2525

26-
Future commit() {
26+
Future commit() async {
2727
_checkReleased();
2828
_released = true;
2929

3030
var handler = new _QueryStreamHandler("commit");
31-
return _cnx.processHandler(handler)
32-
.then((results) {
33-
_cnx.inTransaction = false;
34-
_cnx.release();
35-
_pool._reuseConnectionForQueuedOperations(_cnx);
36-
return results;
37-
});
31+
var results = await _cnx.processHandler(handler);
32+
_cnx.inTransaction = false;
33+
_cnx.release();
34+
_pool._reuseConnectionForQueuedOperations(_cnx);
35+
return results;
3836
}
3937

40-
Future rollback() {
38+
Future rollback() async {
4139
_checkReleased();
4240
_released = true;
4341

4442
var handler = new _QueryStreamHandler("rollback");
45-
return _cnx.processHandler(handler)
46-
.then((results) {
47-
_cnx.inTransaction = false;
48-
_cnx.release();
49-
_pool._reuseConnectionForQueuedOperations(_cnx);
50-
return results;
51-
});
43+
var results = await _cnx.processHandler(handler);
44+
_cnx.inTransaction = false;
45+
_cnx.release();
46+
_pool._reuseConnectionForQueuedOperations(_cnx);
47+
return results;
5248
}
5349

5450
void _checkReleased() {

0 commit comments

Comments
 (0)