default void executeQueryAsync(int maxRows, boolean scrollable, List<PageKey> pageKeys, AsyncHandler<AsyncResult<Result>> handler) { Result result = executeQuery(maxRows, scrollable, pageKeys); if (handler != null) { AsyncResult<Result> r = new AsyncResult<>(); r.setResult(result); handler.handle(r); } }
default void executeUpdateAsync(List<PageKey> pageKeys, AsyncHandler<AsyncResult<Integer>> handler) { int updateCount = executeUpdate(pageKeys); if (handler != null) { AsyncResult<Integer> r = new AsyncResult<>(); r.setResult(updateCount); handler.handle(r); } }
@Override public void handle(AsyncResult<Result> ar) { Result r = ar.getResult(); resultSet = new JdbcResultSet(conn, JdbcPreparedStatement.this, r, id, closedByResultSet, scrollable, updatable, cachedColumnLabelMap); setExecutingStatement(null); resultSet.setCommand(command); if (handler != null) { AsyncResult<ResultSet> r2 = new AsyncResult<>(); r2.setResult(resultSet); handler.handle(r2); } } };
@Override public void handle(AsyncResult<Result> ar) { JdbcResultSet resultSet = null; if (ar.isSucceeded()) { Result r = ar.getResult(); resultSet = new JdbcResultSet(conn, JdbcStatement.this, r, id, closedByResultSet, scrollable, updatable); resultSet.setCommand(command); } setExecutingStatement(null); if (handler != null) { AsyncResult<ResultSet> r2 = new AsyncResult<>(); if (ar.isSucceeded()) r2.setResult(resultSet); else r2.setCause(ar.getCause()); handler.handle(r2); } } };
@Override public void runInternal() { try { if (isDistributedUpdate) session.getParentTransaction().addLocalTransactionNames(transfer.readString()); int updateCount = transfer.readInt(); long key = transfer.readLong(); if (commandUpdateResult != null) { commandUpdateResult.setUpdateCount(updateCount); commandUpdateResult.addResult(ClientCommand.this, key); } setResult(updateCount); if (handler != null) { AsyncResult<Integer> r = new AsyncResult<>(); r.setResult(updateCount); handler.handle(r); } } catch (IOException e) { throw DbException.convert(e); } } };
@Override public void runInternal() { try { if (isDistributedQuery) session.getParentTransaction().addLocalTransactionNames(transfer.readString()); int columnCount = transfer.readInt(); int rowCount = transfer.readInt(); ClientResult result; if (rowCount < 0) result = new RowCountUndeterminedClientResult(session, transfer, resultId, columnCount, fetch); else result = new RowCountDeterminedClientResult(session, transfer, resultId, columnCount, rowCount, fetch); setResult(result); if (handler != null) { AsyncResult<Result> r = new AsyncResult<>(); r.setResult(result); handler.handle(r); } } catch (IOException e) { throw DbException.convert(e); } } };