You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2011/06/20 11:05:03 UTC
svn commit: r1137553 - in /cassandra/trunk/src/java/org/apache/cassandra/db:
ColumnSerializer.java CounterColumn.java ExpiringColumn.java
Author: slebresne
Date: Mon Jun 20 09:05:02 2011
New Revision: 1137553
URL: http://svn.apache.org/viewvc?rev=1137553&view=rev
Log:
Move column creation logic into factory methods
patch by stuhood; reviewed by slebresne for CASSANDRA-2679
Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnSerializer.java
cassandra/trunk/src/java/org/apache/cassandra/db/CounterColumn.java
cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java
Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ColumnSerializer.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnSerializer.java?rev=1137553&r1=1137552&r2=1137553&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnSerializer.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnSerializer.java Mon Jun 20 09:05:02 2011
@@ -96,9 +96,7 @@ public class ColumnSerializer implements
long timestampOfLastDelete = dis.readLong();
long ts = dis.readLong();
ByteBuffer value = ByteBufferUtil.readWithLength(dis);
- if (fromRemote)
- value = CounterContext.instance().clearAllDelta(value);
- return new CounterColumn(name, value, ts, timestampOfLastDelete);
+ return CounterColumn.create(name, value, ts, timestampOfLastDelete, fromRemote);
}
else if ((b & EXPIRATION_MASK) != 0)
{
@@ -106,19 +104,7 @@ public class ColumnSerializer implements
int expiration = dis.readInt();
long ts = dis.readLong();
ByteBuffer value = ByteBufferUtil.readWithLength(dis);
- if (expiration < expireBefore)
- {
- // the column is now expired, we can safely return a simple
- // tombstone
- ByteBuffer bytes = ByteBuffer.allocate(4);
- bytes.putInt(expiration);
- bytes.rewind();
- return new DeletedColumn(name, bytes, ts);
- }
- else
- {
- return new ExpiringColumn(name, value, ts, ttl, expiration);
- }
+ return ExpiringColumn.create(name, value, ts, ttl, expiration, expireBefore);
}
else
{
Modified: cassandra/trunk/src/java/org/apache/cassandra/db/CounterColumn.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/CounterColumn.java?rev=1137553&r1=1137552&r2=1137553&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/CounterColumn.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/CounterColumn.java Mon Jun 20 09:05:02 2011
@@ -69,6 +69,13 @@ public class CounterColumn extends Colum
this.timestampOfLastDelete = timestampOfLastDelete;
}
+ public static CounterColumn create(ByteBuffer name, ByteBuffer value, long timestamp, long timestampOfLastDelete, boolean fromRemote)
+ {
+ if (fromRemote)
+ value = CounterContext.instance().clearAllDelta(value);
+ return new CounterColumn(name, value, timestamp, timestampOfLastDelete);
+ }
+
public long timestampOfLastDelete()
{
return timestampOfLastDelete;
Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java?rev=1137553&r1=1137552&r2=1137553&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/ExpiringColumn.java Mon Jun 20 09:05:02 2011
@@ -57,6 +57,15 @@ public class ExpiringColumn extends Colu
this.localExpirationTime = localExpirationTime;
}
+ /** @return Either a DeletedColumn, or an ExpiringColumn. */
+ public static Column create(ByteBuffer name, ByteBuffer value, long timestamp, int timeToLive, int localExpirationTime, int expireBefore)
+ {
+ if (localExpirationTime >= expireBefore)
+ return new ExpiringColumn(name, value, timestamp, timeToLive, localExpirationTime);
+ // the column is now expired, we can safely return a simple tombstone
+ return new DeletedColumn(name, localExpirationTime, timestamp);
+ }
+
public int getTimeToLive()
{
return timeToLive;