From 64098354323197164a1de3ffbcac9f490085451d Mon Sep 17 00:00:00 2001 From: chema Date: Thu, 16 Jan 2020 17:18:00 +0100 Subject: [PATCH] DATACASS-718 - Fix Integer Overflow in Update.toString(). Original pull request: #169. --- .../data/cassandra/core/query/Update.java | 3 ++- .../data/cassandra/core/query/UpdateUnitTests.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Update.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Update.java index ef4aabfda..8711bf268 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Update.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Update.java @@ -39,6 +39,7 @@ import com.datastax.oss.driver.api.core.CqlIdentifier; * * * @author Mark Paluch + * @author Chema Vinacua * @since 2.0 */ public class Update { @@ -671,7 +672,7 @@ public class Update { @Override public String toString() { return String.format("%s = %s %s %d", getColumnName(), getColumnName(), value.doubleValue() > 0 ? "+" : "-", - Math.abs(value.intValue())); + Math.abs(value.longValue())); } } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/query/UpdateUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/query/UpdateUnitTests.java index 0d41654ba..90f4d84a3 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/query/UpdateUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/core/query/UpdateUnitTests.java @@ -24,6 +24,7 @@ import org.springframework.data.cassandra.core.query.Update.IncrOp; * Unit tests for {@link Update}. * * @author Mark Paluch + * @author Chema Vinacua */ public class UpdateUnitTests { @@ -134,4 +135,13 @@ public class UpdateUnitTests { assertThat(update.getUpdateOperations()).hasSize(1); assertThat(update.getUpdateOperations().iterator().next()).isInstanceOf(IncrOp.class); } + + @Test // DATACASS-718 + public void shouldCreateIncrementLongUpdate() { + + Update update = Update.empty().increment("foo", 2400000000l); + + assertThat(update.getUpdateOperations()).hasSize(1); + assertThat(update.toString()).isEqualTo("foo = foo + 2400000000"); + } }