private List<String> queryMetadata(String query) { ImmutableList.Builder<String> cache = ImmutableList.builder(); try (StatementClient client = queryRunner.startInternalQuery(query)) { while (client.isRunning() && !Thread.currentThread().isInterrupted()) { QueryData results = client.currentData(); if (results.getData() != null) { for (List<Object> row : results.getData()) { cache.add((String) row.get(0)); } } client.advance(); } } return cache.build(); }
public void processRows(StatementClient client) throws IOException { while (client.isRunning()) { Iterable<List<Object>> data = client.currentData().getData(); if (data != null) { for (List<Object> row : data) { processRow(unmodifiableList(row)); } } if (nanosSince(bufferStart).compareTo(MAX_BUFFER_TIME) >= 0) { flush(false); } client.advance(); } }
private StatementStats execute(ClientSession session, String query, Consumer<QueryData> queryDataConsumer, Consumer<QueryError> queryErrorConsumer) { // start query try (StatementClient client = newStatementClient(okHttpClient, session, query)) { // read query output while (client.isRunning()) { queryDataConsumer.accept(client.currentData()); if (!client.advance()) { break; } } // verify final state if (client.isClientAborted()) { throw new IllegalStateException("Query aborted by user"); } if (client.isClientError()) { throw new IllegalStateException("Query is gone (server restarted?)"); } verify(client.isFinished()); QueryError resultsError = client.finalStatusInfo().getError(); if (resultsError != null) { queryErrorConsumer.accept(resultsError); } return client.finalStatusInfo().getStats(); } }
client.advance();
while (client.isRunning()) { resultsSession.addResults(client.currentStatusInfo(), client.currentData()); client.advance();
private void processInitialStatusUpdates(WarningsPrinter warningsPrinter) { while (client.isRunning() && (client.currentData().getData() == null)) { warningsPrinter.print(client.currentStatusInfo().getWarnings(), true, false); client.advance(); } List<PrestoWarning> warnings; if (client.isRunning()) { warnings = client.currentStatusInfo().getWarnings(); } else { warnings = client.finalStatusInfo().getWarnings(); } warningsPrinter.print(warnings, false, true); }
client.advance();
private void waitForQuery() { while (client.isValid()) { if (Thread.currentThread().isInterrupted()) { client.close(); throw new RakamException("Query executor thread was interrupted", INTERNAL_SERVER_ERROR); } transformAndAdd(); client.advance(); } }
private List<String> queryMetadata(String query) { ImmutableList.Builder<String> cache = ImmutableList.builder(); try (StatementClient client = queryRunner.startInternalQuery(query)) { while (client.isRunning() && !Thread.currentThread().isInterrupted()) { QueryData results = client.currentData(); if (results.getData() != null) { for (List<Object> row : results.getData()) { cache.add((String) row.get(0)); } } client.advance(); } } return cache.build(); }
private List<String> queryMetadata(String query) { ImmutableList.Builder<String> cache = ImmutableList.builder(); try (StatementClient client = queryRunner.startInternalQuery(query)) { while (client.isValid() && !Thread.currentThread().isInterrupted()) { QueryResults results = client.current(); if (results.getData() != null) { for (List<Object> row : results.getData()) { cache.add((String) row.get(0)); } } client.advance(); } } return cache.build(); }
private void waitForData() { while (client.isValid() && (client.current().getData() == null)) { client.advance(); } }
public void processRows(StatementClient client) throws IOException { while (client.isValid()) { Iterable<List<Object>> data = client.current().getData(); if (data != null) { for (List<Object> row : data) { processRow(unmodifiableList(row)); } } if (nanosSince(bufferStart).compareTo(MAX_BUFFER_TIME) >= 0) { flush(false); } client.advance(); } }
public void processRows(StatementClient client) throws IOException { while (client.isRunning()) { Iterable<List<Object>> data = client.currentData().getData(); if (data != null) { for (List<Object> row : data) { processRow(unmodifiableList(row)); } } if (nanosSince(bufferStart).compareTo(MAX_BUFFER_TIME) >= 0) { flush(false); } client.advance(); } }
@Override protected Iterable<List<Object>> computeNext() { while (client.isValid()) { Iterable<List<Object>> data = client.current().getData(); client.advance(); if (data != null) { return data; } } if (client.isFailed()) { throw internalServerError(failureMessage(client.finalResults())); } return endOfData(); } }
private static List<Column> getColumns(StatementClient client) { while (client.isValid()) { List<Column> columns = client.current().getColumns(); if (columns != null) { return columns; } client.advance(); } if (!client.isFailed()) { throw internalServerError("No columns"); } throw internalServerError(failureMessage(client.finalResults())); }
while (client.isRunning()) { resultsSession.addResults(client.currentStatusInfo(), client.currentData()); client.advance();
private void processInitialStatusUpdates(WarningsPrinter warningsPrinter) { while (client.isRunning() && (client.currentData().getData() == null)) { warningsPrinter.print(client.currentStatusInfo().getWarnings(), true, false); client.advance(); } List<PrestoWarning> warnings; if (client.isRunning()) { warnings = client.currentStatusInfo().getWarnings(); } else { warnings = client.finalStatusInfo().getWarnings(); } warningsPrinter.print(warnings, false, true); }