static SQLException resultsException(QueryStatusInfo results) { QueryError error = requireNonNull(results.getError()); String message = format("Query failed (#%s): %s", results.getId(), error.getMessage()); Throwable cause = (error.getFailureInfo() == null) ? null : error.getFailureInfo().toException(); return new SQLException(message, error.getSqlState(), error.getErrorCode(), cause); }
public void renderFailure(PrintStream out) { QueryStatusInfo results = client.finalStatusInfo(); QueryError error = results.getError(); checkState(error != null); out.printf("Query %s failed: %s%n", results.getId(), error.getMessage()); if (debug && (error.getFailureInfo() != null)) { error.getFailureInfo().toException().printStackTrace(out); } if (error.getErrorLocation() != null) { renderErrorLocation(client.getQuery(), error.getErrorLocation(), out); } out.println(); }
public void renderFailure(PrintStream out) { QueryStatusInfo results = client.finalStatusInfo(); QueryError error = results.getError(); checkState(error != null); out.printf("Query %s failed: %s%n", results.getId(), error.getMessage()); if (debug && (error.getFailureInfo() != null)) { error.getFailureInfo().toException().printStackTrace(out); } if (error.getErrorLocation() != null) { renderErrorLocation(client.getQuery(), error.getErrorLocation(), out); } out.println(); }
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(); } }
private static List<Column> getColumns(StatementClient client, Consumer<QueryStats> progressCallback) throws SQLException { while (client.isRunning()) { QueryStatusInfo results = client.currentStatusInfo(); progressCallback.accept(QueryStats.create(results.getId(), results.getStats())); List<Column> columns = results.getColumns(); if (columns != null) { return columns; } client.advance(); } verify(client.isFinished()); QueryStatusInfo results = client.finalStatusInfo(); if (results.getError() == null) { throw new SQLException(format("Query has no columns (#%s)", results.getId())); } throw resultsException(results); }
if (client.isFinished()) { QueryStatusInfo finalStatusInfo = client.finalStatusInfo(); if (finalStatusInfo.getError() != null) { throw resultsException(finalStatusInfo);
QueryError error = client.finalStatusInfo().getError();
progressCallback.accept(QueryStats.create(results.getId(), results.getStats())); warningsManager.addWarnings(results.getWarnings()); if (results.getError() != null) { throw new RuntimeException(resultsException(results));
if (client.isRunning() || (client.isFinished() && client.finalStatusInfo().getError() == null)) { QueryStatusInfo results = client.isRunning() ? client.currentStatusInfo() : client.finalStatusInfo(); if (results.getUpdateType() != null) { if (client.finalStatusInfo().getError() != null) { renderFailure(errorChannel); return false;
if (client.isRunning() || (client.isFinished() && client.finalStatusInfo().getError() == null)) { QueryStatusInfo results = client.isRunning() ? client.currentStatusInfo() : client.finalStatusInfo(); if (results.getUpdateType() != null) { if (client.finalStatusInfo().getError() != null) { renderFailure(errorChannel); return false;