Updated Branches: refs/heads/trunk 9c88ad16a -> 981aa0578
Fix ColumnFamilyStoreTest failure Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/981aa057 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/981aa057 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/981aa057 Branch: refs/heads/trunk Commit: 981aa0578f0f410c5913d118c96bdf7f8393ca6a Parents: 9c88ad1 Author: Sylvain Lebresne <[email protected]> Authored: Wed Sep 26 16:49:07 2012 +0200 Committer: Sylvain Lebresne <[email protected]> Committed: Wed Sep 26 16:49:07 2012 +0200 ---------------------------------------------------------------------- .../org/apache/cassandra/config/CFMetaData.java | 18 ++++++++++++++- .../org/apache/cassandra/cql/QueryProcessor.java | 4 +- .../apache/cassandra/thrift/ThriftValidation.java | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/981aa057/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 05b0cd7..8aa4422 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -932,7 +932,23 @@ public final class CFMetaData return def; } - public ColumnDefinition getColumnDefinition(ByteBuffer columnName) + /** + * Returns the ColumnDefinition for {@code name}. + * + * Note that {@code name} correspond to the returned ColumnDefinition name, + * and in particular for composite cfs, it should usually be only a + * component of the full column name. If you have a full column name, use + * getColumnDefinitionFromColumnName instead. + */ + public ColumnDefinition getColumnDefinition(ByteBuffer name) + { + return column_metadata.get(name); + } + + /** + * Returns a ColumnDefinition given a full (internal) column name. + */ + public ColumnDefinition getColumnDefinitionFromColumnName(ByteBuffer columnName) { if (comparator instanceof CompositeType) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/981aa057/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 1670c3b..57ab352 100644 --- a/src/java/org/apache/cassandra/cql/QueryProcessor.java +++ b/src/java/org/apache/cassandra/cql/QueryProcessor.java @@ -493,7 +493,7 @@ public class QueryProcessor if (c.isMarkedForDelete()) continue; - ColumnDefinition cd = metadata.getColumnDefinition(c.name()); + ColumnDefinition cd = metadata.getColumnDefinitionFromColumnName(c.name()); if (cd != null) result.schema.value_types.put(c.name(), TypeParser.getShortName(cd.getValidator())); @@ -531,7 +531,7 @@ public class QueryProcessor throw new AssertionError(e); } - ColumnDefinition cd = metadata.getColumnDefinition(name); + ColumnDefinition cd = metadata.getColumnDefinitionFromColumnName(name); if (cd != null) result.schema.value_types.put(name, TypeParser.getShortName(cd.getValidator())); IColumn c = row.cf.getColumn(name); http://git-wip-us.apache.org/repos/asf/cassandra/blob/981aa057/src/java/org/apache/cassandra/thrift/ThriftValidation.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/thrift/ThriftValidation.java b/src/java/org/apache/cassandra/thrift/ThriftValidation.java index b1b6c24..0e9f494 100644 --- a/src/java/org/apache/cassandra/thrift/ThriftValidation.java +++ b/src/java/org/apache/cassandra/thrift/ThriftValidation.java @@ -396,7 +396,7 @@ public class ThriftValidation if (!column.isSetTimestamp()) throw new org.apache.cassandra.exceptions.InvalidRequestException("Column timestamp is required"); - ColumnDefinition columnDef = metadata.getColumnDefinition(column.name); + ColumnDefinition columnDef = metadata.getColumnDefinitionFromColumnName(column.name); try { AbstractType<?> validator = metadata.getValueValidator(columnDef);
