in tools/query_verification/src/main/java/com/google/bigquery/TeradataManager.java [43:95]
public List<QueryJobResults> runQueries() throws Exception {
setupConnection();
List<String> tables = createTablesFromSchema();
populateTablesFromData();
// Create query jobs
List<String> statements = getStatementsFromQuery();
// Store results from every job
List<QueryJobResults> jobResults = new ArrayList<QueryJobResults>();
for (int i = 0; i < statements.size(); i++) {
String statement = statements.get(i);
QueryJobResults jobResult;
try {
// Run query job
ResultSet resultSet = statementConnection.executeQuery(statement);
// Parse and store query results
List<List<String>> rawResults = new ArrayList<List<String>>();
Set<List<Object>> results = new HashSet<List<Object>>();
ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
while (resultSet.next()) {
List<String> rowRawResults = new ArrayList<String>();
// Result set columns start at 1 instead of 0
for (int j = 1; j <= resultSetMetaData.getColumnCount(); j++) {
rowRawResults.add(resultSet.getString(j));
}
rawResults.add(rowRawResults);
results.add(parseResults(resultSet, resultSetMetaData));
}
jobResult = QueryJobResults.create(statement, query, null, results, rawResults);
} catch (SQLException e) {
// Print out errors returned from TD
jobResult = QueryJobResults.create(statement, query, e.getMessage(), null, null);
}
// Store results
jobResults.add(jobResult);
}
// Clear tables created
tables.forEach(this::deleteTable);
closeConnection();
return jobResults;
}