Search in sources :

Example 41 with Update

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

the class CassandraTemplateIntegrationTests method shouldPartiallyUpdateListOfMappedUdt.

// DATACASS-829
@Test
void shouldPartiallyUpdateListOfMappedUdt() {
    WithMappedUdtList entity = new WithMappedUdtList();
    entity.id = "id-1";
    entity.mappedUdts = Arrays.asList(new MappedUdt("one"), new MappedUdt("two"), new MappedUdt("three"));
    template.insert(entity);
    Update update = Update.empty().set("mappedUdts").atIndex(1).to(new MappedUdt("replacement"));
    template.update(Query.query(where("id").is("id-1")), update, WithMappedUdtList.class);
    WithMappedUdtList updated = template.selectOne(Query.query(where("id").is("id-1")), WithMappedUdtList.class);
    assertThat(updated.getMappedUdts()).extracting(MappedUdt::getName).containsExactly("one", "replacement", "three");
}
Also used : Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 42 with Update

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

the class CassandraTemplateUnitTests method updateShouldApplyUpdateQuery.

// DATACASS-575
@Test
void updateShouldApplyUpdateQuery() {
    Query query = Query.query(where("id").is("heisenberg"));
    Update update = Update.update("firstname", "Walter");
    template.update(query, update, User.class);
    verify(session).execute(statementCaptor.capture());
    assertThat(render(statementCaptor.getValue())).isEqualTo("UPDATE users SET firstname='Walter' WHERE id='heisenberg'");
}
Also used : Query(org.springframework.data.cassandra.core.query.Query) Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 43 with Update

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

the class StatementFactoryUnitTests method shouldAppendAllToList.

// DATACASS-343
@Test
void shouldAppendAllToList() {
    Update update = Update.empty().addTo("list").appendAll("foo", "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 list=list+['foo','Euro']");
}
Also used : Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 44 with Update

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

the class StatementFactoryUnitTests method shouldPrependAllToList.

// DATACASS-343
@Test
void shouldPrependAllToList() {
    Update update = Update.empty().addTo("list").prependAll("foo", "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 list=['foo','Euro']+list");
}
Also used : Update(org.springframework.data.cassandra.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 45 with Update

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

the class StatementFactoryUnitTests method shouldCreateSetUpdateIfCondition.

// DATACASS-656
@Test
void shouldCreateSetUpdateIfCondition() {
    Query query = Query.query(Criteria.where("foo").is("bar")).queryOptions(UpdateOptions.builder().ifCondition(Criteria.where("foo").is("baz")).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 foo='baz'");
}
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