public PreparedStatementExecution executePrepared( Session session, String statement, ConsistencyLevel level, ConsistencyLevel serialLevel) { PreparedStatement ps = session.prepare(statement); BoundStatement bound = ps.bind(); if (level != null) { bound.setConsistencyLevel(level); } if (serialLevel != null) { bound.setSerialConsistencyLevel(serialLevel); } session.execute(bound); List<PreparedStatementExecution> pses = sCluster.node(1).activityClient().retrievePreparedStatementExecutions(); PreparedStatementExecution pse = pses.get(0); assertTrue(pse.getPreparedStatementText().equals(statement)); return pse; }
@Override void configure(BoundStatement boundStatement) { boundStatement.setSerialConsistencyLevel(consistencyLevel); }
@Override protected void overwriteConsistency(BoundStatement bound, Operation operation) { ((Mutation) operation) .getCondition() .ifPresent( c -> { bound.setConsistencyLevel(ConsistencyLevel.QUORUM); // for learn phase bound.setSerialConsistencyLevel(ConsistencyLevel.SERIAL); // for paxos phase }); }
/** * Creates a new {@code BoundStatement} from the provided prepared statement. * * @param statement the prepared statement from which to create a {@code BoundStatement}. */ public BoundStatement(PreparedStatement statement) { this.statement = statement; this.wrapper = new DataWrapper(this, statement.getVariables().size()); for (int i = 0; i < wrapper.values.length; i++) { wrapper.values[i] = UNSET; } if (statement.getConsistencyLevel() != null) this.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) this.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) this.enableTracing(); if (statement.getRetryPolicy() != null) this.setRetryPolicy(statement.getRetryPolicy()); if (statement.getOutgoingPayload() != null) this.setOutgoingPayload(statement.getOutgoingPayload()); else // propagate incoming payload as outgoing payload, if no outgoing payload has been explicitly // set this.setOutgoingPayload(statement.getIncomingPayload()); this.codecRegistry = statement.getCodecRegistry(); if (statement.isIdempotent() != null) { this.setIdempotent(statement.isIdempotent()); } }
/** * Execute a SELECT query and returns the {@link ResultSet}. * * @param session * @param stm * @param consistencyLevel * @param bindValues * @return * @since 0.2.6 */ private static ResultSet _execute(Session session, PreparedStatement stm, ConsistencyLevel consistencyLevel, Object... bindValues) { BoundStatement bstm = bindValues(ensurePrepareStatement(session, stm), bindValues); if (consistencyLevel != null) { if (consistencyLevel == ConsistencyLevel.SERIAL || consistencyLevel == ConsistencyLevel.LOCAL_SERIAL) { bstm.setSerialConsistencyLevel(consistencyLevel); } else { bstm.setConsistencyLevel(consistencyLevel); } } return session.execute(bstm); }
/** * Execute a SELECT query and returns the {@link ResultSet}. * * @param session * @param stm * @param consistencyLevel * @param bindValues * @return * @since 0.3.0 */ private static ResultSet _execute(Session session, PreparedStatement stm, ConsistencyLevel consistencyLevel, Map<String, Object> bindValues) { BoundStatement bstm = bindValues(ensurePrepareStatement(session, stm), bindValues); if (consistencyLevel != null) { if (consistencyLevel == ConsistencyLevel.SERIAL || consistencyLevel == ConsistencyLevel.LOCAL_SERIAL) { bstm.setSerialConsistencyLevel(consistencyLevel); } else { bstm.setConsistencyLevel(consistencyLevel); } } return session.execute(bstm); }
/** * Async-Executes a SELECT query and returns the {@link ResultSetFuture}. * * @param session * @param stm * @param consistencyLevel * @param bindValues * @return * @since 0.2.6 */ private static ResultSetFuture _executeAsync(Session session, PreparedStatement stm, ConsistencyLevel consistencyLevel, Object... bindValues) { BoundStatement bstm = bindValues(ensurePrepareStatement(session, stm), bindValues); if (consistencyLevel != null) { if (consistencyLevel == ConsistencyLevel.SERIAL || consistencyLevel == ConsistencyLevel.LOCAL_SERIAL) { bstm.setSerialConsistencyLevel(consistencyLevel); } else { bstm.setConsistencyLevel(consistencyLevel); } } return session.executeAsync(bstm); }
/** * Async-Executes a SELECT query and returns the {@link ResultSetFuture}. * * @param session * @param stm * @param consistencyLevel * @param bindValues * @return * @since 0.3.0 */ private static ResultSetFuture _executeAsync(Session session, PreparedStatement stm, ConsistencyLevel consistencyLevel, Map<String, Object> bindValues) { BoundStatement bstm = bindValues(ensurePrepareStatement(session, stm), bindValues); if (consistencyLevel != null) { if (consistencyLevel == ConsistencyLevel.SERIAL || consistencyLevel == ConsistencyLevel.LOCAL_SERIAL) { bstm.setSerialConsistencyLevel(consistencyLevel); } else { bstm.setConsistencyLevel(consistencyLevel); } } return session.executeAsync(bstm); }
public PreparedStatementExecution executePrepared( Session session, String statement, ConsistencyLevel level, ConsistencyLevel serialLevel) { PreparedStatement ps = session.prepare(statement); BoundStatement bound = ps.bind(); if (level != null) { bound.setConsistencyLevel(level); } if (serialLevel != null) { bound.setSerialConsistencyLevel(serialLevel); } session.execute(bound); List<PreparedStatementExecution> pses = sCluster.node(1).activityClient().retrievePreparedStatementExecutions(); PreparedStatementExecution pse = pses.get(0); assertTrue(pse.getPreparedStatementText().equals(statement)); return pse; }
@Test public void setConsistency_PutOperationWithIfExistsGiven_ShouldPrepareWithQuorumAndSerial() { // Arrange configureBehavior(null); put = preparePutWithClusteringKey(); put.withCondition(new PutIfExists()).withConsistency(Consistency.EVENTUAL); // Act handler.setConsistency(bound, put); // Assert verify(bound).setConsistencyLevel(ConsistencyLevel.QUORUM); verify(bound).setSerialConsistencyLevel(ConsistencyLevel.SERIAL); }
@Test public void setConsistency_DeleteOperationWithIfExistsGiven_ShouldPrepareWithQuorumAndSerial() { // Arrange configureBehavior(null); del = prepareDeleteWithClusteringKey(); del.withCondition(new DeleteIfExists()).withConsistency(Consistency.EVENTUAL); // Act handler.setConsistency(bound, del); // Assert verify(bound).setConsistencyLevel(ConsistencyLevel.QUORUM); verify(bound).setSerialConsistencyLevel(ConsistencyLevel.SERIAL); }
@Test public void setConsistency_PutOperationWithIfNotExistsGiven_ShouldPrepareWithQuorumAndSerial() { // Arrange configureBehavior(null); put = preparePutWithClusteringKey(); put.withCondition(new PutIfNotExists()).withConsistency(Consistency.EVENTUAL); // Act handler.setConsistency(bound, put); // Assert verify(bound).setConsistencyLevel(ConsistencyLevel.QUORUM); verify(bound).setSerialConsistencyLevel(ConsistencyLevel.SERIAL); }
/** * Creates a new {@code BoundStatement} from the provided prepared * statement. * @param statement the prepared statement from which to create a {@code BoundStatement}. */ public BoundStatement(PreparedStatement statement) { this.statement = statement; this.values = new ByteBuffer[statement.getVariables().size()]; if (statement.getConsistencyLevel() != null) this.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) this.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) this.enableTracing(); if (statement.getRetryPolicy() != null) this.setRetryPolicy(statement.getRetryPolicy()); }
@Test public void setConsistency_PutOperationWithIfGiven_ShouldPrepareWithQuorumAndSerial() { // Arrange configureBehavior(null); put = preparePutWithClusteringKey(); put.withCondition( new PutIf(new ConditionalExpression(ANY_NAME_4, new IntValue(ANY_INT_2), Operator.EQ))) .withConsistency(Consistency.EVENTUAL); // Act handler.setConsistency(bound, put); // Assert verify(bound).setConsistencyLevel(ConsistencyLevel.QUORUM); verify(bound).setSerialConsistencyLevel(ConsistencyLevel.SERIAL); }
ConsistencyLevel currentConsistencyLevel = tuple.getOverridingConsistencyLevel(); if (currentConsistencyLevel.isSerial()) { stmnt.setSerialConsistencyLevel(tuple.getOverridingConsistencyLevel()); } else { stmnt.setConsistencyLevel(tuple.getOverridingConsistencyLevel());
ConsistencyLevel currentConsistencyLevel = tuple.getOverridingConsistencyLevel(); if (currentConsistencyLevel.isSerial()) { stmnt.setSerialConsistencyLevel(tuple.getOverridingConsistencyLevel()); } else { stmnt.setConsistencyLevel(tuple.getOverridingConsistencyLevel());
@Test public void setConsistency_DeleteOperationWithIfGiven_ShouldPrepareWithQuorumAndSerial() { // Arrange configureBehavior(null); del = prepareDeleteWithClusteringKey(); del.withCondition( new DeleteIf( new ConditionalExpression(ANY_NAME_3, new IntValue(ANY_INT_1), Operator.EQ), new ConditionalExpression(ANY_NAME_4, new TextValue(ANY_TEXT_3), Operator.EQ))) .withConsistency(Consistency.EVENTUAL); // Act handler.setConsistency(bound, del); // Assert verify(bound).setConsistencyLevel(ConsistencyLevel.QUORUM); verify(bound).setSerialConsistencyLevel(ConsistencyLevel.SERIAL); }
/** * Creates a new {@code BoundStatement} from the provided prepared * statement. * * @param statement the prepared statement from which to create a {@code BoundStatement}. */ public BoundStatement(PreparedStatement statement) { this.statement = statement; this.wrapper = new DataWrapper(this, statement.getVariables().size()); for (int i = 0; i < wrapper.values.length; i++) { wrapper.values[i] = UNSET; } if (statement.getConsistencyLevel() != null) this.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) this.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) this.enableTracing(); if (statement.getRetryPolicy() != null) this.setRetryPolicy(statement.getRetryPolicy()); if (statement.getOutgoingPayload() != null) this.setOutgoingPayload(statement.getOutgoingPayload()); else // propagate incoming payload as outgoing payload, if no outgoing payload has been explicitly set this.setOutgoingPayload(statement.getIncomingPayload()); this.codecRegistry = statement.getCodecRegistry(); if (statement.isIdempotent() != null) { this.setIdempotent(statement.isIdempotent()); } }
/** * Creates a new {@code BoundStatement} from the provided prepared * statement. * * @param statement the prepared statement from which to create a {@code BoundStatement}. */ public BoundStatement(PreparedStatement statement) { this.statement = statement; this.wrapper = new DataWrapper(this, statement.getVariables().size()); for (int i = 0; i < wrapper.values.length; i++) { wrapper.values[i] = UNSET; } if (statement.getConsistencyLevel() != null) this.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) this.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) this.enableTracing(); if (statement.getRetryPolicy() != null) this.setRetryPolicy(statement.getRetryPolicy()); if (statement.getOutgoingPayload() != null) this.setOutgoingPayload(statement.getOutgoingPayload()); else // propagate incoming payload as outgoing payload, if no outgoing payload has been explicitly set this.setOutgoingPayload(statement.getIncomingPayload()); this.codecRegistry = statement.getCodecRegistry(); if (statement.isIdempotent() != null) { this.setIdempotent(statement.isIdempotent()); } }
/** * Creates a new {@code BoundStatement} from the provided prepared * statement. * * @param statement the prepared statement from which to create a {@code BoundStatement}. */ public BoundStatement(PreparedStatement statement) { this.statement = statement; this.wrapper = new DataWrapper(this, statement.getVariables().size()); for (int i = 0; i < wrapper.values.length; i++) { wrapper.values[i] = UNSET; } if (statement.getConsistencyLevel() != null) this.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) this.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) this.enableTracing(); if (statement.getRetryPolicy() != null) this.setRetryPolicy(statement.getRetryPolicy()); if (statement.getOutgoingPayload() != null) this.setOutgoingPayload(statement.getOutgoingPayload()); else // propagate incoming payload as outgoing payload, if no outgoing payload has been explicitly set this.setOutgoingPayload(statement.getIncomingPayload()); this.codecRegistry = statement.getCodecRegistry(); if (statement.isIdempotent() != null) { this.setIdempotent(statement.isIdempotent()); } }