/// <summary> /// Executes a query. /// </summary> /// <param name="connection">The connection.</param> /// <param name="cql">The CQL.</param> /// <param name="logger">The logger.</param> /// <returns> /// A CqlDataReader that can be used to access the query results /// </returns> private async Task<CqlDataReader> ExecQuery(Connection connection, string cql, Logger logger) { logger.LogVerbose("Excuting query {0} on {1}", cql, connection); var query = new QueryFrame(cql, CqlConsistency.One); var result = (ResultFrame)await connection.SendRequestAsync(query, logger).ConfigureAwait(false); var reader = new CqlDataReader(result); logger.LogVerbose("Query {0} returned {1} results", cql, reader.Count); return reader; }
/// <summary> /// Executes a query. /// </summary> /// <param name="connection"> The connection. </param> /// <param name="cql"> The CQL. </param> /// <param name="logger"> The logger. </param> /// <param name="token"> The token. </param> /// <returns> A CqlDataReader that can be used to access the query results </returns> private async Task<CqlDataReader> ExecQuery(Connection connection, string cql, Logger logger, CancellationToken token) { //cancel if requested token.ThrowIfCancellationRequested(); logger.LogVerbose("Excuting query {0} on {1}", cql, connection); var query = new QueryFrame(cql, CqlConsistency.One, null); var result = (ResultFrame) await connection.SendRequestAsync(query, logger, 1, token) .AutoConfigureAwait(); var reader = new CqlDataReader(null, result, null); logger.LogVerbose("Query {0} returned {1} results", cql, reader.Count); return reader; }