diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java index 9a41135b6..920724d44 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java @@ -793,8 +793,9 @@ public class StatementFactory { private static Assignment getAssignment(SetOp updateOp, TermFactory termFactory) { if (updateOp instanceof SetAtIndexOp) { - // return Assignment.setE(op.getColumnName().toCql(), op.getIndex(), op.getValue()); - throw new UnsupportedOperationException("Set at index currently not supported"); + + return Assignment.setListValue(updateOp.toCqlIdentifier(), + termFactory.create(((SetAtIndexOp) updateOp).getIndex()), termFactory.create(updateOp.getValue())); } if (updateOp instanceof SetAtKeyOp) { diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java index 70fc916c2..0545c660e 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/StatementFactoryUnitTests.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.junit.Ignore; import org.junit.Test; import org.springframework.data.annotation.Id; @@ -306,8 +305,7 @@ public class StatementFactoryUnitTests { .isEqualTo("UPDATE person USING TIMESTAMP 1234 SET first_name='baz' WHERE foo='bar'"); } - @Test // DATACASS-343 - @Ignore("No operator for set at index yet") + @Test // DATACASS-343, DATACASS-712 public void shouldCreateSetAtIndexUpdate() { StatementBuilder update = statementFactory