public List runQueries()

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;
    }