/** {@inheritDoc} */ @Override public PreparedStatement setIdempotent(Boolean idempotent) { return st.setIdempotent(idempotent); }
assertThat(bound.isIdempotent()).isFalse(); prepared.setIdempotent(true); bound = prepared.bind(1);
@Override public PreparedStatement apply(PreparedStatement prepared) { ProtocolVersion protocolVersion = getCluster().getConfiguration().getProtocolOptions().getProtocolVersion(); ByteBuffer routingKey = statement.getRoutingKey(protocolVersion, codecRegistry); if (routingKey != null) prepared.setRoutingKey(routingKey); if (statement.getConsistencyLevel() != null) prepared.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) prepared.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) prepared.enableTracing(); prepared.setRetryPolicy(statement.getRetryPolicy()); prepared.setOutgoingPayload(statement.getOutgoingPayload()); prepared.setIdempotent(statement.isIdempotent()); return prepared; } });
private void prepare(String cql, RetryPolicy petryPolicy) { logger.info("Preparing cql stmt {}", cql); PreparedStatement pstmt = session.prepare(cql); pstmt.setConsistencyLevel(consistencyLevel); pstmt.setRetryPolicy(petryPolicy); pstmt.setIdempotent(true); preparedStatements.put(cql, pstmt); }
/** * {@inheritDoc} */ @Override public CassandraIdGenerator init() { if (sessionManager == null) { sessionManager = createSessionManager(); myOwnSessionManager = true; } super.init(); Session session = getSession(); String cql; cql = "SELECT {0} FROM {1} WHERE {2}=?"; stmGetValue = CqlUtils.prepareStatement(session, MessageFormat.format(cql, colValue, tableName, colName)); cql = "INSERT INTO {0} ({1}, {2}) VALUES (?, ?) IF NOT EXISTS"; stmInsertNew = CqlUtils.prepareStatement(session, MessageFormat.format(cql, tableName, colName, colValue)); stmInsertNew.setIdempotent(true); cql = "UPDATE {0} SET {1}=? WHERE {2}=? IF EXISTS"; stmSetExisting = CqlUtils.prepareStatement(session, MessageFormat.format(cql, tableName, colValue, colName)); stmSetExisting.setIdempotent(true); cql = "UPDATE {0} SET {1}=? WHERE {2}=? IF {3}=?"; stmUpdateExisting = CqlUtils.prepareStatement(session, MessageFormat.format(cql, tableName, colValue, colName, colValue)); stmUpdateExisting.setIdempotent(true); return this; }
@Test(groups = "short") public void should_propagate_idempotence_in_statements() { session() .execute(String.format("CREATE TABLE %s.idempotencetest (i int PRIMARY KEY)", keyspace)); SimpleStatement statement; PreparedStatement prepared; BoundStatement bound; statement = new SimpleStatement( String.format("SELECT * FROM %s.idempotencetest WHERE i = ?", keyspace)); prepared = session().prepare(statement); bound = prepared.bind(1); assertThat(prepared.isIdempotent()).isNull(); assertThat(bound.isIdempotent()).isNull(); statement.setIdempotent(true); prepared = session().prepare(statement); bound = prepared.bind(1); assertThat(prepared.isIdempotent()).isTrue(); assertThat(bound.isIdempotent()).isTrue(); statement.setIdempotent(false); prepared = session().prepare(statement); bound = prepared.bind(1); assertThat(prepared.isIdempotent()).isFalse(); assertThat(bound.isIdempotent()).isFalse(); prepared.setIdempotent(true); bound = prepared.bind(1); assertThat(bound.isIdempotent()).isTrue(); }
@Override public PreparedStatement apply(PreparedStatement prepared) { ProtocolVersion protocolVersion = getCluster().getConfiguration().getProtocolOptions().getProtocolVersion(); ByteBuffer routingKey = statement.getRoutingKey(protocolVersion, codecRegistry); if (routingKey != null) prepared.setRoutingKey(routingKey); if (statement.getConsistencyLevel() != null) prepared.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) prepared.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) prepared.enableTracing(); prepared.setRetryPolicy(statement.getRetryPolicy()); prepared.setOutgoingPayload(statement.getOutgoingPayload()); prepared.setIdempotent(statement.isIdempotent()); return prepared; } });
@Override public PreparedStatement apply(PreparedStatement prepared) { ProtocolVersion protocolVersion = getCluster().getConfiguration().getProtocolOptions().getProtocolVersion(); ByteBuffer routingKey = statement.getRoutingKey(protocolVersion, codecRegistry); if (routingKey != null) prepared.setRoutingKey(routingKey); if (statement.getConsistencyLevel() != null) prepared.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) prepared.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) prepared.enableTracing(); prepared.setRetryPolicy(statement.getRetryPolicy()); prepared.setOutgoingPayload(statement.getOutgoingPayload()); prepared.setIdempotent(statement.isIdempotent()); return prepared; } });
@Override public PreparedStatement apply(PreparedStatement prepared) { ProtocolVersion protocolVersion = getCluster().getConfiguration().getProtocolOptions().getProtocolVersion(); ByteBuffer routingKey = statement.getRoutingKey(protocolVersion, codecRegistry); if (routingKey != null) prepared.setRoutingKey(routingKey); if (statement.getConsistencyLevel() != null) prepared.setConsistencyLevel(statement.getConsistencyLevel()); if (statement.getSerialConsistencyLevel() != null) prepared.setSerialConsistencyLevel(statement.getSerialConsistencyLevel()); if (statement.isTracing()) prepared.enableTracing(); prepared.setRetryPolicy(statement.getRetryPolicy()); prepared.setOutgoingPayload(statement.getOutgoingPayload()); prepared.setIdempotent(statement.isIdempotent()); return prepared; } });