anchor.diff:      return execute(begin)
         .then((_) => operation())
         .then((_) => execute('commit'))
  -      .catchError((e) {
  +      .catchError((e, st) {
           return execute('rollback')
  -          .then((_) => new Future.error(e));
  +          .then((_) => new Future.error(e, st));
         });
     }
   
  
positive.code:         sql = _substitute(sql, values);
        var query = _enqueueQuery(sql);
        return query.stream.isEmpty.then((_) => query._rowsAffected);
      } on Exception catch (ex) {
        return new Future.error(ex);
      }
    }
  
  
negative.code:         sql = _substitute(sql, values);
        var query = _enqueueQuery(sql);
        return query.stream;
      } on Exception catch (ex, st) {
        return new Stream.fromFuture(new Future.error(ex, st));
      }
    }
  
  