Repository: cassandra Updated Branches: refs/heads/trunk 3177de5d7 -> f5e0a7cdb
Fix SmallInt and TinyInt serialization (Followup CASSANDRA-11935) patch by Benjamin Lerer; reviewed by Sylvain Lebresne for CASSANDRA-11935 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f5e0a7cd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f5e0a7cd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f5e0a7cd Branch: refs/heads/trunk Commit: f5e0a7cdba7c361c04ac21f49f6e5e20af502b9e Parents: 3177de5 Author: Benjamin Lerer <b.le...@gmail.com> Authored: Tue Mar 21 17:08:18 2017 +0100 Committer: Benjamin Lerer <b.le...@gmail.com> Committed: Tue Mar 21 17:08:18 2017 +0100 ---------------------------------------------------------------------- .../org/apache/cassandra/cql3/functions/OperationFcts.java | 8 ++++++++ src/java/org/apache/cassandra/db/marshal/ByteType.java | 6 ------ src/java/org/apache/cassandra/db/marshal/ShortType.java | 6 ------ 3 files changed, 8 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f5e0a7cd/src/java/org/apache/cassandra/cql3/functions/OperationFcts.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/cql3/functions/OperationFcts.java b/src/java/org/apache/cassandra/cql3/functions/OperationFcts.java index 9232fc1..4994660 100644 --- a/src/java/org/apache/cassandra/cql3/functions/OperationFcts.java +++ b/src/java/org/apache/cassandra/cql3/functions/OperationFcts.java @@ -297,6 +297,14 @@ public final class OperationFcts if (size > 0) return size; + // tinyint and smallint type are not fixed length types even if they should be. + // So we need to handle them in a special way. + if (type == ByteType.instance) + return 1; + + if (type == ShortType.instance) + return 2; + if (type.isCounter()) return LongType.instance.valueLengthIfFixed(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/f5e0a7cd/src/java/org/apache/cassandra/db/marshal/ByteType.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/marshal/ByteType.java b/src/java/org/apache/cassandra/db/marshal/ByteType.java index 517e734..c19fdd9 100644 --- a/src/java/org/apache/cassandra/db/marshal/ByteType.java +++ b/src/java/org/apache/cassandra/db/marshal/ByteType.java @@ -84,12 +84,6 @@ public class ByteType extends NumberType<Byte> } @Override - public int valueLengthIfFixed() - { - return 1; - } - - @Override public TypeSerializer<Byte> getSerializer() { return ByteSerializer.instance; http://git-wip-us.apache.org/repos/asf/cassandra/blob/f5e0a7cd/src/java/org/apache/cassandra/db/marshal/ShortType.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/marshal/ShortType.java b/src/java/org/apache/cassandra/db/marshal/ShortType.java index b37a0b7..01dca4e 100644 --- a/src/java/org/apache/cassandra/db/marshal/ShortType.java +++ b/src/java/org/apache/cassandra/db/marshal/ShortType.java @@ -93,12 +93,6 @@ public class ShortType extends NumberType<Short> } @Override - public int valueLengthIfFixed() - { - return 2; - } - - @Override public short toShort(ByteBuffer value) { return ByteBufferUtil.toShort(value);