You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bl...@apache.org on 2017/03/21 16:13:44 UTC
cassandra git commit: Fix SmallInt and TinyInt serialization
(Followup CASSANDRA-11935)
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....@gmail.com>
Authored: Tue Mar 21 17:08:18 2017 +0100
Committer: Benjamin Lerer <b....@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);