Updated Branches: refs/heads/trunk 2d46a2bdb -> c747874a5
CQL3: support pre-epoch longs for TimestampType patch by Mikhail Stepura; reviewed by Aleksey Yeschenko for CASSANDRA-6212 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/28caff5a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/28caff5a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/28caff5a Branch: refs/heads/trunk Commit: 28caff5a44c3128394984fe8c968f62a5c3db0ff Parents: 1187c7a Author: Aleksey Yeschenko <alek...@apache.org> Authored: Mon Oct 21 15:14:16 2013 +0800 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Mon Oct 21 15:14:16 2013 +0800 ---------------------------------------------------------------------- src/java/org/apache/cassandra/db/marshal/TimestampType.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/28caff5a/src/java/org/apache/cassandra/db/marshal/TimestampType.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/marshal/TimestampType.java b/src/java/org/apache/cassandra/db/marshal/TimestampType.java index 69ef07d..cf1ea41 100644 --- a/src/java/org/apache/cassandra/db/marshal/TimestampType.java +++ b/src/java/org/apache/cassandra/db/marshal/TimestampType.java @@ -20,10 +20,10 @@ package org.apache.cassandra.db.marshal; import java.nio.ByteBuffer; import java.text.ParseException; import java.util.Date; +import java.util.regex.Pattern; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.apache.cassandra.cql3.CQL3Type; import org.apache.cassandra.serializers.TypeSerializer; import org.apache.cassandra.serializers.MarshalException; @@ -44,6 +44,8 @@ public class TimestampType extends AbstractType<Date> public static final TimestampType instance = new TimestampType(); + private static final Pattern timestampPattern = Pattern.compile("^-?\\d+$"); + private TimestampType() {} // singleton public int compare(ByteBuffer o1, ByteBuffer o2) @@ -69,7 +71,7 @@ public class TimestampType extends AbstractType<Date> millis = System.currentTimeMillis(); } // Milliseconds since epoch? - else if (source.matches("^\\d+$")) + else if (timestampPattern.matcher(source).matches()) { try {