if ( uniqueDeleteBatch.getStatements().size() > 0 ) {
public Collection<Statement> statements() { return this.batch.getStatements(); }
protected int countBoundValues(BatchStatement bs) { int count = 0; for (Statement s : bs.getStatements()) { if (s instanceof BoundStatement) count += ((BoundStatement) s).wrapper.values.length; else if (s instanceof SimpleStatement) count += ((SimpleStatement) s).valuesCount(); } return count; }
protected String statementAsString(Statement statement) { StringBuilder sb = new StringBuilder(); if (statement instanceof BatchStatement) { BatchStatement bs = (BatchStatement) statement; int statements = bs.getStatements().size(); int boundValues = countBoundValues(bs); sb.append("[" + statements + " statements, " + boundValues + " bound values] "); } else if (statement instanceof BoundStatement) { int boundValues = ((BoundStatement) statement).wrapper.values.length; sb.append("[" + boundValues + " bound values] "); } else if (statement instanceof SimpleStatement) { int boundValues = ((SimpleStatement) statement).valuesCount(); sb.append("[" + boundValues + " bound values] "); } append(statement, sb, maxQueryStringLength); return sb.toString(); }
public void commitAsync() { Collection<Statement> statements = this.batch.getStatements(); int count = 0; int processors = Math.min(statements.size(), 1023); List<ResultSetFuture> results = new ArrayList<>(processors + 1); for (Statement s : statements) { ResultSetFuture future = this.session.executeAsync(s); results.add(future); if (++count > processors) { results.forEach(ResultSetFuture::getUninterruptibly); results.clear(); count = 0; } } for (ResultSetFuture future : results) { future.getUninterruptibly(); } // Clear batch if execute() successfully (retained if failed) this.batch.clear(); }
protected void logQuery(Statement statement, Exception exception, Logger logger, String message) { boolean showParameterValues = logger.isTraceEnabled(); if (showParameterValues) { StringBuilder params = new StringBuilder(); if (statement instanceof BoundStatement) { appendParameters((BoundStatement) statement, params, maxLoggedParameters); } else if (statement instanceof SimpleStatement) { appendParameters((SimpleStatement) statement, params, maxLoggedParameters); } else if (statement instanceof BatchStatement) { BatchStatement batchStatement = (BatchStatement) statement; int remaining = maxLoggedParameters; for (Statement inner : batchStatement.getStatements()) { if (inner instanceof BoundStatement) { remaining = appendParameters((BoundStatement) inner, params, remaining); } else if (inner instanceof SimpleStatement) { remaining = appendParameters((SimpleStatement) inner, params, remaining); } } } if (params.length() > 0) params.append("]"); logger.trace(message + params, exception); } else { logger.debug(message, exception); } }
for (Statement stmt : batchStatement.getStatements()) { remaining = append(" ", buffer, remaining); remaining = append(stmt, buffer, remaining);
public Collection<Statement> statements() { return this.batch.getStatements(); }
@Override public Collection<Statement> getStatements() { return batchStatement.getStatements(); }
protected int countBoundValues(BatchStatement bs) { int count = 0; for (Statement s : bs.getStatements()) { if (s instanceof BoundStatement) count += ((BoundStatement) s).wrapper.values.length; else if (s instanceof SimpleStatement) count += ((SimpleStatement) s).valuesCount(); } return count; }
protected int countBoundValues(BatchStatement bs) { int count = 0; for (Statement s : bs.getStatements()) { if (s instanceof BoundStatement) count += ((BoundStatement) s).wrapper.values.length; else if (s instanceof SimpleStatement) count += ((SimpleStatement) s).valuesCount(); } return count; }
protected int countBoundValues(BatchStatement bs) { int count = 0; for (Statement s : bs.getStatements()) { if (s instanceof BoundStatement) count += ((BoundStatement) s).wrapper.values.length; else if (s instanceof SimpleStatement) count += ((SimpleStatement) s).valuesCount(); } return count; }
private String statementQueryString(final BatchStatement batchStatement) { StringBuffer sb = new StringBuffer(); sb.append("BEGIN BATCH "); for (Statement statement : batchStatement.getStatements()) { sb.append(statementQueryString(statement)); } sb.append(" APPLY BATCH;"); return sb.toString(); }
/** * Gets the query plan for a {@code BatchStatement}. * * @param loggedKeyspace the logged keyspace of the statement * @param batch the batch statement * @return the query plan, or null when no plan can be determined */ private Iterator<Host> getQueryPlan(String loggedKeyspace, BatchStatement batch) { for (Statement statement : batch.getStatements()) { if (statement instanceof BoundStatement) { Iterator<Host> plan = getQueryPlan(loggedKeyspace, (BoundStatement)statement); if (plan != null) return plan; } } return null; }
protected String statementAsString(Statement statement) { StringBuilder sb = new StringBuilder(); if (statement instanceof BatchStatement) { BatchStatement bs = (BatchStatement) statement; int statements = bs.getStatements().size(); int boundValues = countBoundValues(bs); sb.append("[" + statements + " statements, " + boundValues + " bound values] "); } else if (statement instanceof BoundStatement) { int boundValues = ((BoundStatement) statement).wrapper.values.length; sb.append("[" + boundValues + " bound values] "); } else if (statement instanceof SimpleStatement) { int boundValues = ((SimpleStatement) statement).valuesCount(); sb.append("[" + boundValues + " bound values] "); } append(statement, sb, maxQueryStringLength); return sb.toString(); }
protected String statementAsString(Statement statement) { StringBuilder sb = new StringBuilder(); if (statement instanceof BatchStatement) { BatchStatement bs = (BatchStatement) statement; int statements = bs.getStatements().size(); int boundValues = countBoundValues(bs); sb.append("[" + statements + " statements, " + boundValues + " bound values] "); } else if (statement instanceof BoundStatement) { int boundValues = ((BoundStatement) statement).wrapper.values.length; sb.append("[" + boundValues + " bound values] "); } else if (statement instanceof SimpleStatement) { int boundValues = ((SimpleStatement) statement).valuesCount(); sb.append("[" + boundValues + " bound values] "); } append(statement, sb, maxQueryStringLength); return sb.toString(); }
protected String statementAsString(Statement statement) { StringBuilder sb = new StringBuilder(); if (statement instanceof BatchStatement) { BatchStatement bs = (BatchStatement) statement; int statements = bs.getStatements().size(); int boundValues = countBoundValues(bs); sb.append("[" + statements + " statements, " + boundValues + " bound values] "); } else if (statement instanceof BoundStatement) { int boundValues = ((BoundStatement) statement).wrapper.values.length; sb.append("[" + boundValues + " bound values] "); } else if (statement instanceof SimpleStatement) { int boundValues = ((SimpleStatement) statement).valuesCount(); sb.append("[" + boundValues + " bound values] "); } append(statement, sb, maxQueryStringLength); return sb.toString(); }
public void commitAsync() { Collection<Statement> statements = this.batch.getStatements(); int count = 0; int processors = Math.min(statements.size(), 1023); List<ResultSetFuture> results = new ArrayList<>(processors + 1); for (Statement s : statements) { ResultSetFuture future = this.session.executeAsync(s); results.add(future); if (++count > processors) { results.forEach(ResultSetFuture::getUninterruptibly); results.clear(); count = 0; } } for (ResultSetFuture future : results) { future.getUninterruptibly(); } // Clear batch if execute() successfully (retained if failed) this.batch.clear(); }
protected void logQuery(Statement statement, Exception exception, Logger logger, String message) { boolean showParameterValues = logger.isTraceEnabled(); if (showParameterValues) { StringBuilder params = new StringBuilder(); if (statement instanceof BoundStatement) { appendParameters((BoundStatement) statement, params, maxLoggedParameters); } else if (statement instanceof SimpleStatement) { appendParameters((SimpleStatement) statement, params, maxLoggedParameters); } else if (statement instanceof BatchStatement) { BatchStatement batchStatement = (BatchStatement) statement; int remaining = maxLoggedParameters; for (Statement inner : batchStatement.getStatements()) { if (inner instanceof BoundStatement) { remaining = appendParameters((BoundStatement) inner, params, remaining); } else if (inner instanceof SimpleStatement) { remaining = appendParameters((SimpleStatement) inner, params, remaining); } } } if (params.length() > 0) params.append("]"); logger.trace(message + params, exception); } else { logger.debug(message, exception); } }
public void save(final List<Event> events) { final BatchStatement batch = new BatchStatement(); for (final Event event : events) { final Map<String, Object> parsedEvent = parse(event); if (parsedEvent.isEmpty()) { log.warn("Event {} could not be mapped. Suggestion: Cassandra is case sensitive, so maybe you can check field names.", event); continue; } if (!hasPrimaryKey(parsedEvent)) { break; } final Insert insert = QueryBuilder.insertInto(table); for (final Map.Entry<String, Object> entry : parsedEvent.entrySet()) { insert.value(entry.getKey(), entry.getValue()); } if (log.isTraceEnabled()) { log.trace("Preparing insert for table {}: {}", table.getName(), insert.getQueryString()); } batch.add(insert); } if (batch.getStatements().isEmpty()) { log.warn("No event produced insert query for table {}", table.getName()); return; } batch.setConsistencyLevel(consistencyLevel); session.execute(batch); }