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 2012/10/03 17:29:56 UTC
[3/3] git commit: Don't return ReversedType in CQL3 resultSet
Don't return ReversedType in CQL3 resultSet
patch by slebresne; reviewed by tjake for CASSANDRA-4717
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0e0213b6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0e0213b6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0e0213b6
Branch: refs/heads/trunk
Commit: 0e0213b60468232b43b3d9661c75b1021564a853
Parents: 6ddcf03
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Wed Oct 3 17:24:23 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Wed Oct 3 17:24:43 2012 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/cql3/QueryProcessor.java | 2 +-
.../cassandra/cql3/statements/SelectStatement.java | 21 ++++++++++-----
.../apache/cassandra/db/marshal/ReversedType.java | 3 +-
4 files changed, 17 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e0213b6/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e922c3c..292db49 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -14,6 +14,7 @@
* (CLI) display elapsed time in 2 fraction digits (CASSANDRA-3460)
* add authentication support to sstableloader (CASSANDRA-4712)
* Fix CQL3 'is reversed' logic (CASSANDRA-4716)
+ * (CQL3) Don't return ReversedType in result set metadata (CASSANDRA-4717)
Merged from 1.0:
* Switch from NBHM to CHM in MessagingService's callback map, which
prevents OOM in long-running instances (CASSANDRA-4708)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e0213b6/src/java/org/apache/cassandra/cql3/QueryProcessor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/QueryProcessor.java b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
index 6c155ed..9522c61 100644
--- a/src/java/org/apache/cassandra/cql3/QueryProcessor.java
+++ b/src/java/org/apache/cassandra/cql3/QueryProcessor.java
@@ -206,7 +206,7 @@ public class QueryProcessor
List<String> var_names = new ArrayList<String>(prepared.boundNames.size());
for (CFDefinition.Name n : prepared.boundNames)
{
- var_types.add(TypeParser.getShortName(n.type));
+ var_types.add(SelectStatement.getShortTypeName(n.type));
var_names.add(n.name.toString());
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e0213b6/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 fac0deb..d288294 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -168,12 +168,19 @@ public class SelectStatement implements CQLStatement
return process(rows, createSchema(), Collections.<ByteBuffer>emptyList());
}
+ public static String getShortTypeName(AbstractType<?> type)
+ {
+ if (type instanceof ReversedType)
+ type = ((ReversedType)type).baseType;
+ return TypeParser.getShortName(type);
+ }
+
private CqlMetadata createSchema()
{
return new CqlMetadata(new HashMap<ByteBuffer, String>(),
new HashMap<ByteBuffer, String>(),
- TypeParser.getShortName(cfDef.cfm.comparator),
- TypeParser.getShortName(cfDef.cfm.getDefaultValidator()));
+ getShortTypeName(cfDef.cfm.comparator),
+ getShortTypeName(cfDef.cfm.getDefaultValidator()));
}
public String keyspace()
@@ -616,22 +623,22 @@ public class SelectStatement implements CQLStatement
if (p.right.hasFunction())
{
ByteBuffer nameAsRequested = ByteBufferUtil.bytes(p.right.toString());
- schema.name_types.put(nameAsRequested, TypeParser.getShortName(cfDef.definitionType));
+ schema.name_types.put(nameAsRequested, getShortTypeName(cfDef.definitionType));
switch (p.right.function())
{
case WRITE_TIME:
- schema.value_types.put(nameAsRequested, TypeParser.getShortName(LongType.instance));
+ schema.value_types.put(nameAsRequested, getShortTypeName(LongType.instance));
break;
case TTL:
- schema.value_types.put(nameAsRequested, TypeParser.getShortName(Int32Type.instance));
+ schema.value_types.put(nameAsRequested, getShortTypeName(Int32Type.instance));
break;
}
}
else
{
ByteBuffer nameAsRequested = p.right.id().key;
- schema.name_types.put(nameAsRequested, TypeParser.getShortName(cfDef.getNameComparatorForResultSet(p.left)));
- schema.value_types.put(nameAsRequested, TypeParser.getShortName(p.left.type));
+ schema.name_types.put(nameAsRequested, getShortTypeName(cfDef.getNameComparatorForResultSet(p.left)));
+ schema.value_types.put(nameAsRequested, getShortTypeName(p.left.type));
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/0e0213b6/src/java/org/apache/cassandra/db/marshal/ReversedType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/ReversedType.java b/src/java/org/apache/cassandra/db/marshal/ReversedType.java
index a2eec15..6165f3c 100644
--- a/src/java/org/apache/cassandra/db/marshal/ReversedType.java
+++ b/src/java/org/apache/cassandra/db/marshal/ReversedType.java
@@ -30,8 +30,7 @@ public class ReversedType<T> extends AbstractType<T>
// interning instances
private static final Map<AbstractType<?>, ReversedType> instances = new HashMap<AbstractType<?>, ReversedType>();
- // package protected for unit tests sake
- final AbstractType<T> baseType;
+ public final AbstractType<T> baseType;
public static <T> ReversedType<T> getInstance(TypeParser parser) throws ConfigurationException
{