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 2013/11/14 09:31:15 UTC
git commit: Follow-up for 6327
Updated Branches:
refs/heads/cassandra-2.0 1d3a4dd44 -> 731f58fcd
Follow-up for 6327
patch by krummas; reviewed by slebresne for CASSANDRA-6327
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/731f58fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/731f58fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/731f58fc
Branch: refs/heads/cassandra-2.0
Commit: 731f58fcd9d7e9810069de2d3ba9516b784afd34
Parents: 1d3a4dd
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Nov 14 09:26:43 2013 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Nov 14 09:28:44 2013 +0100
----------------------------------------------------------------------
src/java/org/apache/cassandra/db/marshal/CompositeType.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/731f58fc/src/java/org/apache/cassandra/db/marshal/CompositeType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/CompositeType.java b/src/java/org/apache/cassandra/db/marshal/CompositeType.java
index c9e2ab9..5c1b62a 100644
--- a/src/java/org/apache/cassandra/db/marshal/CompositeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/CompositeType.java
@@ -220,8 +220,11 @@ public class CompositeType extends AbstractCompositeType
public boolean intersects(List<ByteBuffer> minColumnNames, List<ByteBuffer> maxColumnNames, SliceQueryFilter filter)
{
assert minColumnNames.size() == maxColumnNames.size();
+ outer:
for (ColumnSlice slice : filter.slices)
{
+ // This slices intersects if all component intersect. And we don't intersect
+ // only if no slice intersects
ByteBuffer[] start = split(filter.isReversed() ? slice.finish : slice.start);
ByteBuffer[] finish = split(filter.isReversed() ? slice.start : slice.finish);
for (int i = 0; i < minColumnNames.size(); i++)
@@ -229,9 +232,10 @@ public class CompositeType extends AbstractCompositeType
AbstractType<?> t = types.get(i);
ByteBuffer s = i < start.length ? start[i] : ByteBufferUtil.EMPTY_BYTE_BUFFER;
ByteBuffer f = i < finish.length ? finish[i] : ByteBufferUtil.EMPTY_BYTE_BUFFER;
- if (t.intersects(minColumnNames.get(i), maxColumnNames.get(i), s, f))
- return true;
+ if (!t.intersects(minColumnNames.get(i), maxColumnNames.get(i), s, f))
+ continue outer;
}
+ return true;
}
return false;
}