Search in sources :

Example 1 with Update

use of org.springframework.data.cassandra.core.query.Update in project spring-data-cassandra by spring-projects.

the class ReactiveCassandraTemplateUnitTests method updateShouldApplyUpdateQueryWitLwt.

// DATACASS-575
@Test
void updateShouldApplyUpdateQueryWitLwt() {
    when(reactiveResultSet.rows()).thenReturn(Flux.just(row));
    Filter ifCondition = Filter.from(where("firstname").is("Walter"), where("lastname").is("White"));
    Query query = Query.query(where("id").is("heisenberg")).queryOptions(UpdateOptions.builder().ifCondition(ifCondition).build());
    Update update = Update.update("firstname", "Walter");
    // 
    template.update(query, update, User.class).as(// 
    StepVerifier::create).expectNextCount(// 
    1).verifyComplete();
    verify(session).execute(statementCaptor.capture());
    assertThat(render(statementCaptor.getValue())).isEqualTo("UPDATE users SET firstname='Walter' WHERE id='heisenberg' IF firstname='Walter' AND lastname='White'");
}
Also used : VersionedUser(org.springframework.data.cassandra.domain.VersionedUser) User(org.springframework.data.cassandra.domain.User) Query(org.springframework.data.cassandra.core.query.Query) Filter(org.springframework.data.cassandra.core.query.Filter) Update(org.springframework.data.cassandra.core.query.Update) StepVerifier(reactor.test.StepVerifier) Test(org.junit.jupiter.api.Test)

Example 2 with Update

use of org.springframework.data.cassandra.core.query.Update in project spring-data-cassandra by spring-projects.

the class StatementFactoryUnitTests method shouldRemoveFromSet.

// DATACASS-343
@Test
void shouldRemoveFromSet() {
    Update update = Update.empty().remove("set", "Euro");
    StatementBuilder<com.datastax.oss.driver.api.querybuilder.update.Update> updateStatementBuilder = statementFactory.update(Query.empty(), update, personEntity);
    assertThat(updateStatementBuilder.build(ParameterHandling.INLINE).getQuery()).isEqualTo("UPDATE person SET set_col=set_col-{'Euro'}");
}
Also used : Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 3 with Update

use of org.springframework.data.cassandra.core.query.Update in project spring-data-cassandra by spring-projects.

the class StatementFactoryUnitTests method updateObjectShouldApplyQueryOptions.

// DATACASS-708
@Test
void updateObjectShouldApplyQueryOptions() {
    WriteOptions queryOptions = // 
    WriteOptions.builder().executionProfile(// 
    "foo").serialConsistencyLevel(// 
    DefaultConsistencyLevel.QUORUM).build();
    Person person = new Person();
    person.id = "foo";
    person.set = Collections.emptySet();
    person.list = Collections.emptyList();
    StatementBuilder<com.datastax.oss.driver.api.querybuilder.update.Update> update = statementFactory.update(person, queryOptions);
    SimpleStatement statement = update.build();
    assertThat(statement.getExecutionProfileName()).isEqualTo("foo");
    assertThat(statement.getSerialConsistencyLevel()).isEqualTo(DefaultConsistencyLevel.QUORUM);
}
Also used : WriteOptions(org.springframework.data.cassandra.core.cql.WriteOptions) SimpleStatement(com.datastax.oss.driver.api.core.cql.SimpleStatement) Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 4 with Update

use of org.springframework.data.cassandra.core.query.Update in project spring-data-cassandra by spring-projects.

the class StatementFactoryUnitTests method updateShouldApplyQueryOptions.

// DATACASS-708
@Test
void updateShouldApplyQueryOptions() {
    UpdateOptions queryOptions = // 
    UpdateOptions.builder().executionProfile(// 
    "foo").serialConsistencyLevel(// 
    DefaultConsistencyLevel.QUORUM).build();
    Query query = Query.query(Criteria.where("foo").is("bar")).queryOptions(queryOptions);
    StatementBuilder<com.datastax.oss.driver.api.querybuilder.update.Update> update = statementFactory.update(query, Update.empty().set("firstName", "baz"), personEntity);
    SimpleStatement statement = update.build();
    assertThat(statement.getExecutionProfileName()).isEqualTo("foo");
    assertThat(statement.getSerialConsistencyLevel()).isEqualTo(DefaultConsistencyLevel.QUORUM);
}
Also used : Query(org.springframework.data.cassandra.core.query.Query) SimpleStatement(com.datastax.oss.driver.api.core.cql.SimpleStatement) Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 5 with Update

use of org.springframework.data.cassandra.core.query.Update in project spring-data-cassandra by spring-projects.

the class StatementFactoryUnitTests method shouldCreateSetUpdateIfExists.

// DATACASS-569
@Test
void shouldCreateSetUpdateIfExists() {
    Query query = Query.query(Criteria.where("foo").is("bar")).queryOptions(UpdateOptions.builder().withIfExists().build());
    StatementBuilder<com.datastax.oss.driver.api.querybuilder.update.Update> update = statementFactory.update(query, Update.empty().set("firstName", "baz"), personEntity);
    assertThat(update.build(ParameterHandling.INLINE).getQuery()).isEqualTo("UPDATE person SET first_name='baz' WHERE foo='bar' IF EXISTS");
}
Also used : Query(org.springframework.data.cassandra.core.query.Query) Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Aggregations

Update (org.springframework.data.cassandra.core.query.Update)51 Test (org.junit.jupiter.api.Test)49 Query (org.springframework.data.cassandra.core.query.Query)15 WriteOptions (org.springframework.data.cassandra.core.cql.WriteOptions)7 Filter (org.springframework.data.cassandra.core.query.Filter)5 LinkedHashMap (java.util.LinkedHashMap)3 CqlIdentifier (com.datastax.oss.driver.api.core.CqlIdentifier)2 SimpleStatement (com.datastax.oss.driver.api.core.cql.SimpleStatement)2 ClusteringOrder (com.datastax.oss.driver.api.core.metadata.schema.ClusteringOrder)2 BindMarker (com.datastax.oss.driver.api.querybuilder.BindMarker)2 QueryBuilder (com.datastax.oss.driver.api.querybuilder.QueryBuilder)2 Condition (com.datastax.oss.driver.api.querybuilder.condition.Condition)2 ConditionBuilder (com.datastax.oss.driver.api.querybuilder.condition.ConditionBuilder)2 Delete (com.datastax.oss.driver.api.querybuilder.delete.Delete)2 DeleteSelection (com.datastax.oss.driver.api.querybuilder.delete.DeleteSelection)2 Insert (com.datastax.oss.driver.api.querybuilder.insert.Insert)2 RegularInsert (com.datastax.oss.driver.api.querybuilder.insert.RegularInsert)2 ColumnRelationBuilder (com.datastax.oss.driver.api.querybuilder.relation.ColumnRelationBuilder)2 Relation (com.datastax.oss.driver.api.querybuilder.relation.Relation)2 Select (com.datastax.oss.driver.api.querybuilder.select.Select)2