You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2013/09/03 06:19:14 UTC
git commit: Stop using Thrift-generated Index* classes internally
Updated Branches:
refs/heads/trunk 1567dd4bd -> 4e52e0d2a
Stop using Thrift-generated Index* classes internally
patch by Aleksey Yeschenko; reviewed by Dave Brosius for CASSANDRA-5971
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4e52e0d2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4e52e0d2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4e52e0d2
Branch: refs/heads/trunk
Commit: 4e52e0d2add1358c5d80bf9bf805a987dfb4dc5d
Parents: 1567dd4
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Tue Sep 3 07:18:03 2013 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Tue Sep 3 07:18:03 2013 +0300
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/config/CFMetaData.java | 3 +-
.../cassandra/config/ColumnDefinition.java | 7 +-
.../org/apache/cassandra/config/IndexType.java | 25 ++++++
.../apache/cassandra/cql/QueryProcessor.java | 5 +-
.../cql3/statements/CreateIndexStatement.java | 2 +-
.../cql3/statements/SelectStatement.java | 10 +--
.../cassandra/db/AbstractRangeCommand.java | 1 -
.../apache/cassandra/db/ColumnFamilyStore.java | 1 -
.../apache/cassandra/db/IndexExpression.java | 91 ++++++++++++++++++++
.../apache/cassandra/db/PagedRangeCommand.java | 12 ++-
.../apache/cassandra/db/RangeSliceCommand.java | 13 ++-
.../cassandra/db/filter/ExtendedFilter.java | 23 ++---
.../AbstractSimplePerColumnSecondaryIndex.java | 7 +-
.../db/index/SecondaryIndexManager.java | 7 +-
.../db/index/SecondaryIndexSearcher.java | 8 +-
.../db/index/composites/CompositesSearcher.java | 3 +-
.../cassandra/db/index/keys/KeysSearcher.java | 5 +-
.../cassandra/thrift/CassandraServer.java | 4 +-
.../cassandra/thrift/ThriftConversion.java | 27 ++++--
.../unit/org/apache/cassandra/SchemaLoader.java | 1 -
.../cassandra/config/ColumnDefinitionTest.java | 1 -
.../org/apache/cassandra/config/DefsTest.java | 1 -
.../org/apache/cassandra/db/CleanupTest.java | 4 +-
.../cassandra/db/ColumnFamilyStoreTest.java | 41 ++++-----
.../apache/cassandra/db/RangeTombstoneTest.java | 16 ++--
.../cassandra/io/sstable/SSTableReaderTest.java | 6 +-
.../streaming/StreamingTransferTest.java | 6 +-
28 files changed, 216 insertions(+), 115 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 72e26ed..02cb4bc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
2.1
* change logging from log4j to logback (CASSANDRA-5883)
* switch to LZ4 compression for internode communication (CASSANDRA-5887)
+ * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
2.0.1
* Improve leveled compaction's ability to find non-overlapping L0 compactions
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index e912505..13271e8 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -57,7 +57,6 @@ import org.apache.cassandra.io.compress.LZ4Compressor;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.serializers.MarshalException;
import org.apache.cassandra.thrift.CqlRow;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.tracing.Tracing;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -542,7 +541,7 @@ public final class CFMetaData
Map<ByteBuffer, ColumnDefinition> clonedColumns = new HashMap<>();
for (ColumnDefinition cd : oldCFMD.column_metadata.values())
{
- ColumnDefinition cloned = cd.clone();
+ ColumnDefinition cloned = cd.copy();
clonedColumns.put(cloned.name, cloned);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/config/ColumnDefinition.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/ColumnDefinition.java b/src/java/org/apache/cassandra/config/ColumnDefinition.java
index e718fea..9358f67 100644
--- a/src/java/org/apache/cassandra/config/ColumnDefinition.java
+++ b/src/java/org/apache/cassandra/config/ColumnDefinition.java
@@ -31,7 +31,6 @@ import org.apache.cassandra.db.*;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.exceptions.*;
import org.apache.cassandra.thrift.ColumnDef;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.FBUtilities;
@@ -124,7 +123,7 @@ public class ColumnDefinition
this.type = type;
}
- public ColumnDefinition clone()
+ public ColumnDefinition copy()
{
return new ColumnDefinition(name, validator, indexType, indexOptions, indexName, componentIndex, type);
}
@@ -192,7 +191,7 @@ public class ColumnDefinition
cd.setName(ByteBufferUtil.clone(name));
cd.setValidation_class(validator.toString());
- cd.setIndex_type(indexType == null ? null : IndexType.valueOf(indexType.name()));
+ cd.setIndex_type(indexType == null ? null : org.apache.cassandra.thrift.IndexType.valueOf(indexType.name()));
cd.setIndex_name(indexName == null ? null : indexName);
cd.setIndex_options(indexOptions == null ? null : Maps.newHashMap(indexOptions));
@@ -204,7 +203,7 @@ public class ColumnDefinition
// For super columns, the componentIndex is 1 because the ColumnDefinition applies to the column component.
return new ColumnDefinition(ByteBufferUtil.clone(thriftColumnDef.name),
TypeParser.parse(thriftColumnDef.validation_class),
- thriftColumnDef.index_type,
+ thriftColumnDef.index_type == null ? null : IndexType.valueOf(thriftColumnDef.index_type.name()),
thriftColumnDef.index_options,
thriftColumnDef.index_name,
isSuper ? 1 : null,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/config/IndexType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/IndexType.java b/src/java/org/apache/cassandra/config/IndexType.java
new file mode 100644
index 0000000..d39dccb
--- /dev/null
+++ b/src/java/org/apache/cassandra/config/IndexType.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.config;
+
+public enum IndexType
+{
+ KEYS,
+ CUSTOM,
+ COMPOSITES
+}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/cql/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql/QueryProcessor.java b/src/java/org/apache/cassandra/cql/QueryProcessor.java
index ef804c2..a254b9e 100644
--- a/src/java/org/apache/cassandra/cql/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java
@@ -48,9 +48,6 @@ import org.apache.cassandra.thrift.CqlResult;
import org.apache.cassandra.thrift.CqlResultType;
import org.apache.cassandra.thrift.CqlRow;
import org.apache.cassandra.thrift.CqlPreparedResult;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.thrift.ThriftValidation;
import org.apache.cassandra.thrift.ThriftClientState;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -165,7 +162,7 @@ public class QueryProcessor
ByteBuffer value = columnRelation.getValue().getByteBuffer(select.getValueValidator(metadata.ksName, entity), variables);
expressions.add(new IndexExpression(entity,
- IndexOperator.valueOf(columnRelation.operator().toString()),
+ IndexExpression.Operator.valueOf(columnRelation.operator().toString()),
value));
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
index 9de7106..83bc73f 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateIndexStatement.java
@@ -25,13 +25,13 @@ import org.slf4j.LoggerFactory;
import org.apache.cassandra.auth.Permission;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
+import org.apache.cassandra.config.IndexType;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.index.SecondaryIndex;
import org.apache.cassandra.exceptions.*;
import org.apache.cassandra.cql3.*;
import org.apache.cassandra.service.ClientState;
import org.apache.cassandra.service.MigrationManager;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.thrift.ThriftValidation;
import org.apache.cassandra.transport.messages.ResultMessage;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 8e09fe5..8412dd4 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -41,8 +41,6 @@ import org.apache.cassandra.service.StorageProxy;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.service.pager.*;
import org.apache.cassandra.db.ConsistencyLevel;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
import org.apache.cassandra.thrift.ThriftValidation;
import org.apache.cassandra.serializers.MarshalException;
import org.apache.cassandra.utils.ByteBufferUtil;
@@ -757,7 +755,7 @@ public class SelectStatement implements CQLStatement
throw new InvalidRequestException(String.format("Unsupported null value for indexed column %s", name));
if (value.remaining() > 0xFFFF)
throw new InvalidRequestException("Index expression values may not be larger than 64K");
- expressions.add(new IndexExpression(name.name.key, IndexOperator.EQ, value));
+ expressions.add(new IndexExpression(name.name.key, IndexExpression.Operator.EQ, value));
}
else
{
@@ -1556,14 +1554,14 @@ public class SelectStatement implements CQLStatement
throw new AssertionError();
}
- public IndexOperator getIndexOperator(Bound b)
+ public IndexExpression.Operator getIndexOperator(Bound b)
{
switch (b)
{
case START:
- return boundInclusive[b.idx] ? IndexOperator.GTE : IndexOperator.GT;
+ return boundInclusive[b.idx] ? IndexExpression.Operator.GTE : IndexExpression.Operator.GT;
case END:
- return boundInclusive[b.idx] ? IndexOperator.LTE : IndexOperator.LT;
+ return boundInclusive[b.idx] ? IndexExpression.Operator.LTE : IndexExpression.Operator.LT;
}
throw new AssertionError();
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/AbstractRangeCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/AbstractRangeCommand.java b/src/java/org/apache/cassandra/db/AbstractRangeCommand.java
index 45302e2..8a07681 100644
--- a/src/java/org/apache/cassandra/db/AbstractRangeCommand.java
+++ b/src/java/org/apache/cassandra/db/AbstractRangeCommand.java
@@ -24,7 +24,6 @@ import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.dht.AbstractBounds;
import org.apache.cassandra.net.MessageOut;
import org.apache.cassandra.service.IReadCommand;
-import org.apache.cassandra.thrift.IndexExpression;
public abstract class AbstractRangeCommand implements IReadCommand
{
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 1ada914..5535393 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -69,7 +69,6 @@ import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.metrics.ColumnFamilyMetrics;
import org.apache.cassandra.service.CacheService;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.thrift.IndexExpression;
import org.apache.cassandra.tracing.Tracing;
import org.apache.cassandra.utils.*;
import org.cliffc.high_scale_lib.NonBlockingHashMap;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/IndexExpression.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/IndexExpression.java b/src/java/org/apache/cassandra/db/IndexExpression.java
new file mode 100644
index 0000000..e08e41f
--- /dev/null
+++ b/src/java/org/apache/cassandra/db/IndexExpression.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cassandra.db;
+
+import java.nio.ByteBuffer;
+
+import com.google.common.base.Objects;
+
+import org.apache.cassandra.utils.ByteBufferUtil;
+
+public class IndexExpression
+{
+ public final ByteBuffer column;
+ public final Operator operator;
+ public final ByteBuffer value;
+
+ public IndexExpression(ByteBuffer column, Operator operator, ByteBuffer value)
+ {
+ this.column = column;
+ this.operator = operator;
+ this.value = value;
+ }
+
+ public enum Operator
+ {
+ EQ, GTE, GT, LTE, LT;
+
+ public static Operator findByOrdinal(int ordinal)
+ {
+ switch (ordinal) {
+ case 0:
+ return EQ;
+ case 1:
+ return GTE;
+ case 2:
+ return GT;
+ case 3:
+ return LTE;
+ case 4:
+ return LT;
+ default:
+ throw new AssertionError();
+ }
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ return String.format("%s %s %s", ByteBufferUtil.bytesToHex(column), operator, ByteBufferUtil.bytesToHex(value));
+ }
+
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof IndexExpression))
+ return false;
+
+ IndexExpression ie = (IndexExpression) o;
+
+ return Objects.equal(this.column, ie.column)
+ && Objects.equal(this.operator, ie.operator)
+ && Objects.equal(this.value, ie.value);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return Objects.hashCode(column, operator, value);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/PagedRangeCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/PagedRangeCommand.java b/src/java/org/apache/cassandra/db/PagedRangeCommand.java
index b1e2c39..d813036 100644
--- a/src/java/org/apache/cassandra/db/PagedRangeCommand.java
+++ b/src/java/org/apache/cassandra/db/PagedRangeCommand.java
@@ -29,8 +29,6 @@ import org.apache.cassandra.dht.AbstractBounds;
import org.apache.cassandra.io.IVersionedSerializer;
import org.apache.cassandra.net.MessageOut;
import org.apache.cassandra.net.MessagingService;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
import org.apache.cassandra.utils.ByteBufferUtil;
public class PagedRangeCommand extends AbstractRangeCommand
@@ -132,8 +130,8 @@ public class PagedRangeCommand extends AbstractRangeCommand
out.writeInt(cmd.rowFilter.size());
for (IndexExpression expr : cmd.rowFilter)
{
- ByteBufferUtil.writeWithShortLength(expr.column_name, out);
- out.writeInt(expr.op.getValue());
+ ByteBufferUtil.writeWithShortLength(expr.column, out);
+ out.writeInt(expr.operator.ordinal());
ByteBufferUtil.writeWithLength(expr.value, out);
}
@@ -158,7 +156,7 @@ public class PagedRangeCommand extends AbstractRangeCommand
for (int i = 0; i < filterCount; i++)
{
IndexExpression expr = new IndexExpression(ByteBufferUtil.readWithShortLength(in),
- IndexOperator.findByValue(in.readInt()),
+ IndexExpression.Operator.findByOrdinal(in.readInt()),
ByteBufferUtil.readWithShortLength(in));
rowFilter.add(expr);
}
@@ -182,8 +180,8 @@ public class PagedRangeCommand extends AbstractRangeCommand
size += TypeSizes.NATIVE.sizeof(cmd.rowFilter.size());
for (IndexExpression expr : cmd.rowFilter)
{
- size += TypeSizes.NATIVE.sizeofWithShortLength(expr.column_name);
- size += TypeSizes.NATIVE.sizeof(expr.op.getValue());
+ size += TypeSizes.NATIVE.sizeofWithShortLength(expr.column);
+ size += TypeSizes.NATIVE.sizeof(expr.operator.ordinal());
size += TypeSizes.NATIVE.sizeofWithLength(expr.value);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/RangeSliceCommand.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RangeSliceCommand.java b/src/java/org/apache/cassandra/db/RangeSliceCommand.java
index c0cfb12..5e8788c 100644
--- a/src/java/org/apache/cassandra/db/RangeSliceCommand.java
+++ b/src/java/org/apache/cassandra/db/RangeSliceCommand.java
@@ -26,7 +26,6 @@ import java.util.List;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.filter.ExtendedFilter;
import org.apache.cassandra.db.filter.IDiskAtomFilter;
import org.apache.cassandra.db.marshal.AbstractType;
@@ -36,8 +35,6 @@ import org.apache.cassandra.io.IVersionedSerializer;
import org.apache.cassandra.net.MessageOut;
import org.apache.cassandra.net.MessagingService;
import org.apache.cassandra.service.pager.Pageable;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
import org.apache.cassandra.utils.ByteBufferUtil;
public class RangeSliceCommand extends AbstractRangeCommand implements Pageable
@@ -194,8 +191,8 @@ class RangeSliceCommandSerializer implements IVersionedSerializer<RangeSliceComm
out.writeInt(sliceCommand.rowFilter.size());
for (IndexExpression expr : sliceCommand.rowFilter)
{
- ByteBufferUtil.writeWithShortLength(expr.column_name, out);
- out.writeInt(expr.op.getValue());
+ ByteBufferUtil.writeWithShortLength(expr.column, out);
+ out.writeInt(expr.operator.ordinal());
ByteBufferUtil.writeWithShortLength(expr.value, out);
}
}
@@ -254,7 +251,7 @@ class RangeSliceCommandSerializer implements IVersionedSerializer<RangeSliceComm
{
IndexExpression expr;
expr = new IndexExpression(ByteBufferUtil.readWithShortLength(in),
- IndexOperator.findByValue(in.readInt()),
+ IndexExpression.Operator.findByOrdinal(in.readInt()),
ByteBufferUtil.readWithShortLength(in));
rowFilter.add(expr);
}
@@ -308,8 +305,8 @@ class RangeSliceCommandSerializer implements IVersionedSerializer<RangeSliceComm
size += TypeSizes.NATIVE.sizeof(rsc.rowFilter.size());
for (IndexExpression expr : rsc.rowFilter)
{
- size += TypeSizes.NATIVE.sizeofWithShortLength(expr.column_name);
- size += TypeSizes.NATIVE.sizeof(expr.op.getValue());
+ size += TypeSizes.NATIVE.sizeofWithShortLength(expr.column);
+ size += TypeSizes.NATIVE.sizeof(expr.operator.ordinal());
size += TypeSizes.NATIVE.sizeofWithLength(expr.value);
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/filter/ExtendedFilter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/filter/ExtendedFilter.java b/src/java/org/apache/cassandra/db/filter/ExtendedFilter.java
index 5aa1ea9..7f8693e 100644
--- a/src/java/org/apache/cassandra/db/filter/ExtendedFilter.java
+++ b/src/java/org/apache/cassandra/db/filter/ExtendedFilter.java
@@ -33,8 +33,6 @@ import org.apache.cassandra.db.*;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.CompositeType;
import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
/**
* Extends a column filter (IFilter) to include a number of IndexExpression.
@@ -133,7 +131,7 @@ public abstract class ExtendedFilter
*/
public abstract boolean isSatisfiedBy(DecoratedKey rowKey, ColumnFamily data, ColumnNameBuilder builder);
- public static boolean satisfies(int comparison, IndexOperator op)
+ public static boolean satisfies(int comparison, IndexExpression.Operator op)
{
switch (op)
{
@@ -204,9 +202,7 @@ public abstract class ExtendedFilter
{
SortedSet<ByteBuffer> columns = new TreeSet<ByteBuffer>(cfs.getComparator());
for (IndexExpression expr : clause)
- {
- columns.add(expr.column_name);
- }
+ columns.add(expr.column);
columns.addAll(((NamesQueryFilter) filter).columns);
return ((NamesQueryFilter) filter).withUpdatedColumns(columns);
}
@@ -237,7 +233,7 @@ public abstract class ExtendedFilter
for (IndexExpression expr : clause)
{
- if (data.getColumn(expr.column_name) == null)
+ if (data.getColumn(expr.column) == null)
{
logger.debug("adding extraFilter to cover additional expressions");
return true;
@@ -264,10 +260,9 @@ public abstract class ExtendedFilter
// why we do the dance of avoiding to query any column we already have (it's also more efficient anyway)
SortedSet<ByteBuffer> columns = new TreeSet<ByteBuffer>(cfs.getComparator());
for (IndexExpression expr : clause)
- {
- if (data.getColumn(expr.column_name) == null)
- columns.add(expr.column_name);
- }
+ if (data.getColumn(expr.column) == null)
+ columns.add(expr.column);
+
assert !columns.isEmpty();
return new NamesQueryFilter(columns);
}
@@ -290,14 +285,14 @@ public abstract class ExtendedFilter
// where the index returned a row which doesn't have the primary column when we actually read it
for (IndexExpression expression : clause)
{
- ColumnDefinition def = data.metadata().getColumnDefinition(expression.column_name);
+ ColumnDefinition def = data.metadata().getColumnDefinition(expression.column);
ByteBuffer dataValue = null;
AbstractType<?> validator = null;
if (def == null)
{
// This can't happen with CQL3 as this should be rejected upfront. For thrift however,
// column name are not predefined. But that means the column name correspond to an internal one.
- Column column = data.getColumn(expression.column_name);
+ Column column = data.getColumn(expression.column);
if (column != null)
{
dataValue = column.value();
@@ -314,7 +309,7 @@ public abstract class ExtendedFilter
return false;
int v = validator.compare(dataValue, expression.value);
- if (!satisfies(v, expression.op))
+ if (!satisfies(v, expression.operator))
return false;
}
return true;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
index b1b36f9..9402df9 100644
--- a/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
+++ b/src/java/org/apache/cassandra/db/index/AbstractSimplePerColumnSecondaryIndex.java
@@ -24,7 +24,6 @@ import org.apache.cassandra.config.ColumnDefinition;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.marshal.*;
import org.apache.cassandra.dht.*;
-import org.apache.cassandra.thrift.IndexExpression;
import org.apache.cassandra.utils.ByteBufferUtil;
/**
@@ -84,9 +83,9 @@ public abstract class AbstractSimplePerColumnSecondaryIndex extends PerColumnSec
{
return String.format("'%s.%s %s %s'",
baseCfs.name,
- getExpressionComparator().getString(expr.column_name),
- expr.op,
- baseCfs.metadata.getColumnDefinition(expr.column_name).getValidator().getString(expr.value));
+ getExpressionComparator().getString(expr.column),
+ expr.operator,
+ baseCfs.metadata.getColumnDefinition(expr.column).getValidator().getString(expr.value));
}
public void delete(ByteBuffer rowKey, Column column)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
index 4725ffa..f6db9f9 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java
@@ -26,14 +26,13 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.ColumnDefinition;
+import org.apache.cassandra.config.IndexType;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.filter.ExtendedFilter;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.ReducingKeyIterator;
import org.apache.cassandra.io.sstable.SSTableReader;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.utils.FBUtilities;
/**
@@ -479,7 +478,7 @@ public class SecondaryIndexManager
//Group columns by type
for (IndexExpression ix : clause)
{
- SecondaryIndex index = getIndexForColumn(ix.column_name);
+ SecondaryIndex index = getIndexForColumn(ix.column);
if (index == null)
continue;
@@ -492,7 +491,7 @@ public class SecondaryIndexManager
groupByIndexType.put(index.getClass().getCanonicalName(), columns);
}
- columns.add(ix.column_name);
+ columns.add(ix.column);
}
List<SecondaryIndexSearcher> indexSearchers = new ArrayList<SecondaryIndexSearcher>(groupByIndexType.size());
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/index/SecondaryIndexSearcher.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndexSearcher.java b/src/java/org/apache/cassandra/db/index/SecondaryIndexSearcher.java
index d28afc0..53dff29 100644
--- a/src/java/org/apache/cassandra/db/index/SecondaryIndexSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/SecondaryIndexSearcher.java
@@ -22,8 +22,6 @@ import java.util.*;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.filter.ExtendedFilter;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
public abstract class SecondaryIndexSearcher
{
@@ -55,11 +53,11 @@ public abstract class SecondaryIndexSearcher
for (IndexExpression expression : clause)
{
//skip columns belonging to a different index type
- if(!columns.contains(expression.column_name))
+ if(!columns.contains(expression.column))
continue;
- SecondaryIndex index = indexManager.getIndexForColumn(expression.column_name);
- if (index == null || (expression.op != IndexOperator.EQ))
+ SecondaryIndex index = indexManager.getIndexForColumn(expression.column);
+ if (index == null || expression.operator != IndexExpression.Operator.EQ)
continue;
int columns = index.getIndexCfs().getMeanColumns();
if (columns < bestMeanCount)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index f9b7b11..336447d 100644
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@ -31,7 +31,6 @@ import org.apache.cassandra.db.index.SecondaryIndexManager;
import org.apache.cassandra.db.index.SecondaryIndexSearcher;
import org.apache.cassandra.db.marshal.CompositeType;
import org.apache.cassandra.dht.AbstractBounds;
-import org.apache.cassandra.thrift.IndexExpression;
import org.apache.cassandra.utils.ByteBufferUtil;
public class CompositesSearcher extends SecondaryIndexSearcher
@@ -75,7 +74,7 @@ public class CompositesSearcher extends SecondaryIndexSearcher
// to each row matching that clause.
// TODO: allow merge join instead of just one index + loop
final IndexExpression primary = highestSelectivityPredicate(filter.getClause());
- final CompositesIndex index = (CompositesIndex)indexManager.getIndexForColumn(primary.column_name);
+ final CompositesIndex index = (CompositesIndex)indexManager.getIndexForColumn(primary.column);
assert index != null;
final DecoratedKey indexKey = index.getIndexKeyFor(primary.value);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java b/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
index 205efb7..eefef0c 100644
--- a/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/keys/KeysSearcher.java
@@ -33,7 +33,6 @@ import org.apache.cassandra.db.index.SecondaryIndexManager;
import org.apache.cassandra.db.index.SecondaryIndexSearcher;
import org.apache.cassandra.dht.AbstractBounds;
import org.apache.cassandra.dht.Range;
-import org.apache.cassandra.thrift.IndexExpression;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.HeapAllocator;
@@ -60,7 +59,7 @@ public class KeysSearcher extends SecondaryIndexSearcher
// to each row matching that clause.
// TODO: allow merge join instead of just one index + loop
final IndexExpression primary = highestSelectivityPredicate(filter.getClause());
- final SecondaryIndex index = indexManager.getIndexForColumn(primary.column_name);
+ final SecondaryIndex index = indexManager.getIndexForColumn(primary.column);
assert index != null;
final DecoratedKey indexKey = index.getIndexKeyFor(primary.value);
@@ -179,7 +178,7 @@ public class KeysSearcher extends SecondaryIndexSearcher
if (((KeysIndex)index).isIndexEntryStale(indexKey.key, data, filter.timestamp))
{
// delete the index entry w/ its own timestamp
- Column dummyColumn = new Column(primary.column_name, indexKey.key, column.timestamp());
+ Column dummyColumn = new Column(primary.column, indexKey.key, column.timestamp());
((PerColumnSecondaryIndex)index).delete(dk.key, dummyColumn);
continue;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 1099834..614b143 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -1155,7 +1155,7 @@ public class CassandraServer implements Cassandra.Iface
now,
filter,
bounds,
- range.row_filter,
+ ThriftConversion.fromThrift(range.row_filter),
range.count),
consistencyLevel);
}
@@ -1323,7 +1323,7 @@ public class CassandraServer implements Cassandra.Iface
now,
filter,
bounds,
- index_clause.expressions,
+ ThriftConversion.fromThrift(index_clause.expressions),
index_clause.count);
List<Row> rows = StorageProxy.getRangeSlice(command, consistencyLevel);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/src/java/org/apache/cassandra/thrift/ThriftConversion.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/thrift/ThriftConversion.java b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
index 8a9ab59..a8a3c12 100644
--- a/src/java/org/apache/cassandra/thrift/ThriftConversion.java
+++ b/src/java/org/apache/cassandra/thrift/ThriftConversion.java
@@ -17,6 +17,10 @@
*/
package org.apache.cassandra.thrift;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.cassandra.db.WriteType;
import org.apache.cassandra.exceptions.RequestExecutionException;
import org.apache.cassandra.exceptions.RequestTimeoutException;
@@ -60,11 +64,6 @@ public class ThriftConversion
return new InvalidRequestException(e.getMessage());
}
- public static InvalidRequestException toThrift(org.apache.cassandra.exceptions.InvalidRequestException e)
- {
- return new InvalidRequestException(e.getMessage());
- }
-
public static UnavailableException toThrift(org.apache.cassandra.exceptions.UnavailableException e)
{
return new UnavailableException();
@@ -91,4 +90,22 @@ public class ThriftConversion
}
return toe;
}
+
+ public static List<org.apache.cassandra.db.IndexExpression> fromThrift(List<IndexExpression> exprs)
+ {
+ if (exprs == null)
+ return null;
+
+ if (exprs.isEmpty())
+ return Collections.emptyList();
+
+ List<org.apache.cassandra.db.IndexExpression> converted = new ArrayList<>(exprs.size());
+ for (IndexExpression expr : exprs)
+ {
+ converted.add(new org.apache.cassandra.db.IndexExpression(expr.column_name,
+ org.apache.cassandra.db.IndexExpression.Operator.findByOrdinal(expr.op.getValue()),
+ expr.value));
+ }
+ return converted;
+ }
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/SchemaLoader.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/SchemaLoader.java b/test/unit/org/apache/cassandra/SchemaLoader.java
index 1bd192b..9c51967 100644
--- a/test/unit/org/apache/cassandra/SchemaLoader.java
+++ b/test/unit/org/apache/cassandra/SchemaLoader.java
@@ -44,7 +44,6 @@ import org.apache.cassandra.io.util.FileUtils;
import org.apache.cassandra.locator.AbstractReplicationStrategy;
import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.service.MigrationManager;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.utils.ByteBufferUtil;
public class SchemaLoader
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java b/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java
index fa7343c..151df61 100644
--- a/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java
+++ b/test/unit/org/apache/cassandra/config/ColumnDefinitionTest.java
@@ -25,7 +25,6 @@ import org.junit.Test;
import org.apache.cassandra.db.marshal.BytesType;
import org.apache.cassandra.db.marshal.LongType;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.utils.ByteBufferUtil;
public class ColumnDefinitionTest
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/config/DefsTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/config/DefsTest.java b/test/unit/org/apache/cassandra/config/DefsTest.java
index 79c9b33..a8c81dd 100644
--- a/test/unit/org/apache/cassandra/config/DefsTest.java
+++ b/test/unit/org/apache/cassandra/config/DefsTest.java
@@ -39,7 +39,6 @@ import org.apache.cassandra.io.sstable.SSTableDeletingTask;
import org.apache.cassandra.locator.OldNetworkTopologyStrategy;
import org.apache.cassandra.locator.SimpleStrategy;
import org.apache.cassandra.service.MigrationManager;
-import org.apache.cassandra.thrift.IndexType;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/db/CleanupTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/CleanupTest.java b/test/unit/org/apache/cassandra/db/CleanupTest.java
index 562df1e..8199275 100644
--- a/test/unit/org/apache/cassandra/db/CleanupTest.java
+++ b/test/unit/org/apache/cassandra/db/CleanupTest.java
@@ -41,8 +41,6 @@ import org.apache.cassandra.dht.Range;
import org.apache.cassandra.io.sstable.SSTableReader;
import org.apache.cassandra.locator.TokenMetadata;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.CounterId;
import org.junit.Test;
@@ -110,7 +108,7 @@ public class CleanupTest extends SchemaLoader
Thread.sleep(10);
// verify we get it back w/ index query too
- IndexExpression expr = new IndexExpression(COLUMN, IndexOperator.EQ, VALUE);
+ IndexExpression expr = new IndexExpression(COLUMN, IndexExpression.Operator.EQ, VALUE);
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
index f21b60e..3edb893 100644
--- a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
+++ b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
@@ -39,6 +39,7 @@ import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.Util;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.ColumnDefinition;
+import org.apache.cassandra.config.IndexType;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.columniterator.IdentityQueryFilter;
import org.apache.cassandra.db.filter.*;
@@ -198,7 +199,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.apply();
// basic single-expression query
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
@@ -218,7 +219,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
assert ByteBufferUtil.bytes(1L).equals( rows.get(1).cf.getColumn(ByteBufferUtil.bytes("birthdate")).value());
// add a second expression
- IndexExpression expr2 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexOperator.GTE, ByteBufferUtil.bytes(2L));
+ IndexExpression expr2 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexExpression.Operator.GTE, ByteBufferUtil.bytes(2L));
clause = Arrays.asList(expr, expr2);
rows = Keyspace.open("Keyspace1").getColumnFamilyStore("Indexed1").search(range, clause, filter, 100);
@@ -247,7 +248,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
// query with index hit but rejected by secondary clause, with a small enough count that just checking count
// doesn't tell the scan loop that it's done
- IndexExpression expr3 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(-1L));
+ IndexExpression expr3 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(-1L));
clause = Arrays.asList(expr, expr3);
rows = Keyspace.open("Keyspace1").getColumnFamilyStore("Indexed1").search(range, clause, filter, 100);
@@ -266,8 +267,8 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.applyUnsafe();
}
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(34L));
- IndexExpression expr2 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(34L));
+ IndexExpression expr2 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
List<IndexExpression> clause = Arrays.asList(expr, expr2);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
@@ -293,7 +294,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.add("Indexed1", ByteBufferUtil.bytes("birthdate"), ByteBufferUtil.bytes(1L), 0);
rm.apply();
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
@@ -313,7 +314,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
// verify that it's not being indexed under the deletion column value either
Column deletion = rm.getColumnFamilies().iterator().next().iterator().next();
ByteBuffer deletionLong = ByteBufferUtil.bytes((long) ByteBufferUtil.toInt(deletion.value()));
- IndexExpression expr0 = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, deletionLong);
+ IndexExpression expr0 = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, deletionLong);
List<IndexExpression> clause0 = Arrays.asList(expr0);
rows = cfs.search(range, clause0, filter, 100);
assert rows.isEmpty();
@@ -392,7 +393,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.add("Indexed1", ByteBufferUtil.bytes("birthdate"), ByteBufferUtil.bytes(2L), 2);
rm.apply();
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
@@ -400,7 +401,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
List<Row> rows = keyspace.getColumnFamilyStore("Indexed1").search(range, clause, filter, 100);
assert rows.size() == 0;
- expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(2L));
+ expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(2L));
clause = Arrays.asList(expr);
rows = keyspace.getColumnFamilyStore("Indexed1").search(range, clause, filter, 100);
String key = ByteBufferUtil.string(rows.get(0).key.key);
@@ -437,7 +438,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm = new RowMutation(keySpace, rowKey);
rm.add(cfName, colName, val1, 0);
rm.apply();
- IndexExpression expr = new IndexExpression(colName, IndexOperator.EQ, val1);
+ IndexExpression expr = new IndexExpression(colName, IndexExpression.Operator.EQ, val1);
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
Range<RowPosition> range = Util.range("", "");
@@ -459,7 +460,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rows = keyspace.getColumnFamilyStore(cfName).search(range, clause, filter, 100);
assertEquals(0, rows.size());
// now check for the updated value
- expr = new IndexExpression(colName, IndexOperator.EQ, val2);
+ expr = new IndexExpression(colName, IndexExpression.Operator.EQ, val2);
clause = Arrays.asList(expr);
filter = new IdentityQueryFilter();
range = Util.range("", "");
@@ -472,7 +473,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.add(cfName, colName, ByteBufferUtil.bytes(1L), 3);
keyspace.apply(rm, true, false);
- expr = new IndexExpression(colName, IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ expr = new IndexExpression(colName, IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
clause = Arrays.asList(expr);
filter = new IdentityQueryFilter();
range = Util.range("", "");
@@ -509,7 +510,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.apply();
// test that the index query fetches this version
- IndexExpression expr = new IndexExpression(colName, IndexOperator.EQ, val1);
+ IndexExpression expr = new IndexExpression(colName, IndexExpression.Operator.EQ, val1);
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
Range<RowPosition> range = Util.range("", "");
@@ -533,7 +534,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rows = keyspace.getColumnFamilyStore(cfName).search(range, clause, filter, 100);
assertEquals(0, rows.size());
// now check for the updated value
- expr = new IndexExpression(colName, IndexOperator.EQ, val2);
+ expr = new IndexExpression(colName, IndexExpression.Operator.EQ, val2);
clause = Arrays.asList(expr);
filter = new IdentityQueryFilter();
range = Util.range("", "");
@@ -546,7 +547,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.add(cfName, compositeName, val1, 2);
keyspace.apply(rm, true, false);
- expr = new IndexExpression(colName, IndexOperator.EQ, val1);
+ expr = new IndexExpression(colName, IndexExpression.Operator.EQ, val1);
clause = Arrays.asList(expr);
filter = new IdentityQueryFilter();
range = Util.range("", "");
@@ -581,9 +582,9 @@ public class ColumnFamilyStoreTest extends SchemaLoader
rm.apply();
// basic single-expression query
- IndexExpression expr1 = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
- IndexExpression expr2 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexOperator.GT, ByteBufferUtil.bytes(1L));
- List<IndexExpression> clause = Arrays.asList(new IndexExpression[]{ expr1, expr2 });
+ IndexExpression expr1 = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr2 = new IndexExpression(ByteBufferUtil.bytes("notbirthdate"), IndexExpression.Operator.GT, ByteBufferUtil.bytes(1L));
+ List<IndexExpression> clause = Arrays.asList(expr1, expr2);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
Range<RowPosition> range = Util.range("", "");
@@ -627,7 +628,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
private void queryBirthdate(Keyspace keyspace) throws CharacterCodingException
{
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
IPartitioner p = StorageService.getPartitioner();
@@ -1237,7 +1238,7 @@ public class ColumnFamilyStoreTest extends SchemaLoader
store.forceBlockingFlush();
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, LongType.instance.decompose(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, LongType.instance.decompose(1L));
// explicitly tell to the KeysSearcher to use column limiting for rowsPerQuery to trigger bogus columnsRead--; (CASSANDRA-3996)
List<Row> rows = store.search(store.makeExtendedFilter(Util.range("", ""), new IdentityQueryFilter(), Arrays.asList(expr), 10, true, false, System.currentTimeMillis()));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java
index 731b364..4f6478c 100644
--- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java
+++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java
@@ -20,28 +20,28 @@ package org.apache.cassandra.db;
import java.nio.ByteBuffer;
import java.util.*;
+import org.junit.Test;
import com.google.common.collect.ImmutableMap;
+
+import org.apache.cassandra.SchemaLoader;
import org.apache.cassandra.config.ColumnDefinition;
import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.IndexType;
import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
+import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy;
+import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.db.index.*;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.io.sstable.SSTableReader;
-import org.apache.cassandra.thrift.IndexType;
-
-import org.junit.Test;
-
-import org.apache.cassandra.SchemaLoader;
-import org.apache.cassandra.db.compaction.CompactionManager;
-import org.apache.cassandra.db.filter.*;
import org.apache.cassandra.utils.ByteBufferUtil;
-import static org.apache.cassandra.Util.dk;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.apache.cassandra.Util.dk;
+
public class RangeTombstoneTest extends SchemaLoader
{
private static final String KSNAME = "Keyspace1";
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
index eeb22e6..9ed848b 100644
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java
@@ -50,8 +50,6 @@ import org.apache.cassandra.io.util.FileDataInput;
import org.apache.cassandra.io.util.MmappedSegmentedFile;
import org.apache.cassandra.io.util.SegmentedFile;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.Pair;
import static org.junit.Assert.assertTrue;
@@ -314,7 +312,7 @@ public class SSTableReaderTest extends SchemaLoader
clearAndLoad(cfs);
// query using index to see if sstable for secondary index opens
- IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexOperator.EQ, ByteBufferUtil.bytes(1L));
+ IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"), IndexExpression.Operator.EQ, ByteBufferUtil.bytes(1L));
List<IndexExpression> clause = Arrays.asList(expr);
IPartitioner p = StorageService.getPartitioner();
Range<RowPosition> range = Util.range("", "");
@@ -324,7 +322,7 @@ public class SSTableReaderTest extends SchemaLoader
private List<Range<Token>> makeRanges(Token left, Token right)
{
- return Arrays.<Range<Token>>asList(new Range[]{ new Range<Token>(left, right) });
+ return Arrays.asList(new Range<>(left, right));
}
private DecoratedKey k(int i)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4e52e0d2/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
index 7787314..a3723af 100644
--- a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
+++ b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java
@@ -47,8 +47,6 @@ import org.apache.cassandra.dht.Token;
import org.apache.cassandra.io.sstable.SSTableReader;
import org.apache.cassandra.io.sstable.SSTableUtils;
import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.thrift.IndexExpression;
-import org.apache.cassandra.thrift.IndexOperator;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.CounterId;
import org.apache.cassandra.utils.FBUtilities;
@@ -242,8 +240,8 @@ public class StreamingTransferTest extends SchemaLoader
{
long val = key.hashCode();
IndexExpression expr = new IndexExpression(ByteBufferUtil.bytes("birthdate"),
- IndexOperator.EQ,
- ByteBufferUtil.bytes(val));
+ IndexExpression.Operator.EQ,
+ ByteBufferUtil.bytes(val));
List<IndexExpression> clause = Arrays.asList(expr);
IDiskAtomFilter filter = new IdentityQueryFilter();
Range<RowPosition> range = Util.range("", "");