static async Task ExecHqlCmd(string traceId, string hqlCmd, string[] settings = null, bool skipResults = true) { Trace.TraceInformation(traceId + " : strated"); var connectionString = OdbcUnitTests.GetConnectionString(OdbcUnitTests.HiveDsnConnectionString, settings); Trace.TraceInformation("{0} Using connection string => {1} ", traceId, connectionString); using (OdbcConnection conn = new OdbcConnection(connectionString)) { var startTime = DateTimeOffset.UtcNow; await conn.OpenAsync(); using (OdbcCommand cmd = conn.CreateCommand()) { cmd.CommandText = hqlCmd; using (DbDataReader dr = await cmd.ExecuteReaderAsync()) { var completionTime = DateTimeOffset.UtcNow; var execTime = completionTime.Subtract(startTime); Trace.TraceInformation(traceId + " : execution time (sec) -> " + execTime.TotalSeconds); if (!skipResults) { while (dr.Read()) { var columns = new List<string>(); for (int i = 0; i < dr.VisibleFieldCount; i++) { columns.Add(dr.GetValue(i).ToString()); } Trace.TraceInformation(traceId + " : " + string.Join(", ", columns)); } } } } } Trace.TraceInformation(traceId + " : completed"); }