private void checkTimeout() { session.checkCanceled(); // System.out.println(this.alias+ " " + table.getName() + ": " + // scanCount); }
private void prepareMerge(TableMate table, List<Row> rows) { session.checkCanceled(); Map<ObjectNode, List<Row>> batches = batchForRoutingNode(table, rows); workers = New.arrayList(batches.size()); for (Map.Entry<ObjectNode, List<Row>> item : batches.entrySet()) { Row[] values = item.getValue().toArray(new Row[item.getValue().size()]); UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, item.getKey(), values); workers.add(worker); } }
private void prepareReplace(TableMate table, List<Row> rows) { session.checkCanceled(); Map<ObjectNode, List<Row>> batches = batchForRoutingNode(table, rows); workers = New.arrayList(batches.size()); for (Map.Entry<ObjectNode, List<Row>> item : batches.entrySet()) { Row[] values = item.getValue().toArray(new Row[item.getValue().size()]); UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, item.getKey(), values); workers.add(worker); } }
private void prepareInsert(TableMate table, List<Row> rows) { session.checkCanceled(); Map<ObjectNode, List<Row>> batches = batchForRoutingNode(table, rows); workers = New.arrayList(batches.size()); for (Map.Entry<ObjectNode, List<Row>> item : batches.entrySet()) { Row[] values = item.getValue().toArray(new Row[item.getValue().size()]); UpdateWorker worker = queryHandlerFactory.createUpdateWorker(prepared, item.getKey(), values); workers.add(worker); } }
/** * Check if this statement was canceled. * * @throws DbException if it was canceled */ public void checkCanceled() { session.checkCanceled(); Command c = command != null ? command : session.getCurrentCommand(); if (c != null) { c.checkCanceled(); } }
protected int invokeUpdateWorker(List<UpdateWorker> worker) { session.checkCanceled(); try { int queryTimeout = session.getQueryTimeout();// MILLISECONDS List<Future<Integer>> invokeAll; if (queryTimeout > 0) { invokeAll = queryExecutor.invokeAll(worker, queryTimeout, TimeUnit.MILLISECONDS); } else { invokeAll = queryExecutor.invokeAll(worker); } int affectRows = 0; for (Future<Integer> future : invokeAll) { affectRows += future.get(); } return affectRows; } catch (InterruptedException e) { throw DbException.convert(e); } catch (ExecutionException e) { throw DbException.convert(e.getCause()); } finally { session.checkCanceled(); } }
protected Cursor invokeQueryWorker(List<QueryWorker> worker) { session.checkCanceled(); try { int queryTimeout = session.getQueryTimeout();// MILLISECONDS List<Future<Cursor>> invokeAll; if (queryTimeout > 0) { invokeAll = queryExecutor.invokeAll(worker, queryTimeout, TimeUnit.MILLISECONDS); } else { invokeAll = queryExecutor.invokeAll(worker); } if (invokeAll.size() > 1) { MergedCursor cursor = new MergedCursor(); for (Future<Cursor> future : invokeAll) { cursor.addCursor(future.get()); } return cursor; } else { return invokeAll.iterator().next().get(); } } catch (InterruptedException e) { throw DbException.convert(e); } catch (ExecutionException e) { throw DbException.convert(e.getCause()); } finally { session.checkCanceled(); } }