Merge branch 'cassandra-2.2' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dcfd6f30 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dcfd6f30 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dcfd6f30 Branch: refs/heads/trunk Commit: dcfd6f308e2fd1b139a0ad63d63ddd2544500ec5 Parents: dea6ab1 1411ad5 Author: Sam Tunnicliffe <[email protected]> Authored: Thu Jul 2 11:29:48 2015 +0100 Committer: Sam Tunnicliffe <[email protected]> Committed: Thu Jul 2 11:33:55 2015 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + build.xml | 4 +- .../selection/AbstractFunctionSelector.java | 13 +- .../cassandra/cql3/selection/Selection.java | 5 +- .../cql3/selection/SelectionColumnMapping.java | 75 +++-- .../selection/SelectionColumnMappingTest.java | 275 ++++++++++++++----- 6 files changed, 260 insertions(+), 113 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dcfd6f30/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dcfd6f30/build.xml ---------------------------------------------------------------------- diff --cc build.xml index a61913b,2300ca3..d7d795b --- a/build.xml +++ b/build.xml @@@ -131,20 -131,6 +131,22 @@@ <format property="YEAR" pattern="yyyy"/> </tstamp> + <!-- Check if all tests are being run or just one. If it's all tests don't spam the console with test output. + If it's an individual test print the output from the test under the assumption someone is debugging the test + and wants to know what is going on without having to context switch to the log file that is generated. ++ This may be overridden when running a single test by adding the -Dtest.brief.output property to the ant ++ command (its value is unimportant). + Debug level output still needs to be retrieved from the log file. --> + <script language="javascript"> + if (project.getProperty("cassandra.keepBriefBrief") == null) + { - if (project.getProperty("test.name").equals("*Test")) ++ if (project.getProperty("test.name").equals("*Test") || project.getProperty("test.brief.output")) + project.setProperty("cassandra.keepBriefBrief", "true"); + else + project.setProperty("cassandra.keepBriefBrief", "false"); + } + </script> + <!-- Add all the dependencies. --> http://git-wip-us.apache.org/repos/asf/cassandra/blob/dcfd6f30/src/java/org/apache/cassandra/cql3/selection/Selection.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dcfd6f30/src/java/org/apache/cassandra/cql3/selection/SelectionColumnMapping.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/cql3/selection/SelectionColumnMapping.java index e6c8979,33ef0af..e961b92 --- a/src/java/org/apache/cassandra/cql3/selection/SelectionColumnMapping.java +++ b/src/java/org/apache/cassandra/cql3/selection/SelectionColumnMapping.java @@@ -1,7 -1,6 +1,7 @@@ package org.apache.cassandra.cql3.selection; - import java.util.LinkedHashSet; - import java.util.List; + import java.util.*; ++import java.util.stream.Collectors; import com.google.common.base.Function; import com.google.common.base.Joiner; @@@ -82,37 -89,44 +90,20 @@@ public class SelectionColumnMapping imp public String toString() { -- final Function<ColumnDefinition, String> getDefName = new Function<ColumnDefinition, String>() -- { -- public String apply(ColumnDefinition def) -- { -- return def.name.toString(); -- } -- }; - final Function<ColumnSpecification, String> colSpecToMappingString = new Function<ColumnSpecification, String>() - { - public String apply(ColumnSpecification colSpec) - Function<Map.Entry<ColumnSpecification, Collection<ColumnDefinition>>, String> mappingEntryToString = - new Function<Map.Entry<ColumnSpecification, Collection<ColumnDefinition>>, String>(){ - public String apply(Map.Entry<ColumnSpecification, Collection<ColumnDefinition>> entry) -- { -- StringBuilder builder = new StringBuilder(); - builder.append(colSpec.name.toString()); - if (columnMappings.containsKey(colSpec)) - { - builder.append(":["); - builder.append(Joiner.on(',').join(Iterables.transform(columnMappings.get(colSpec), getDefName))); - builder.append("]"); - } - else - { - builder.append(":[]"); - } - builder.append(entry.getKey().name.toString()); - builder.append(":["); - builder.append(Joiner.on(',').join(Iterables.transform(entry.getValue(), getDefName))); - builder.append("]"); -- return builder.toString(); - } - }; - - Function<ColumnSpecification, String> colSpecToString = new Function<ColumnSpecification, String>() - { - public String apply(ColumnSpecification columnSpecification) - { - return columnSpecification.name.toString(); -- } -- }; -- -- StringBuilder builder = new StringBuilder(); - builder.append("{ "); - builder.append(Joiner.on(", ").join(Iterables.transform(columnSpecifications, colSpecToMappingString))); - builder.append(" }"); - builder.append("{ Columns:["); - builder.append(Joiner.on(",") - .join(Iterables.transform(columnSpecifications, colSpecToString))); - builder.append("], Mappings:["); - builder.append(Joiner.on(", ") - .join(Iterables.transform(columnMappings.asMap().entrySet(), - mappingEntryToString))); - builder.append("] }"); -- return builder.toString(); ++ return columnMappings.asMap() ++ .entrySet() ++ .stream() ++ .map(entry -> ++ entry.getValue() ++ .stream() ++ .map(colDef -> colDef.name.toString()) ++ .collect(Collectors.joining(", ", entry.getKey().name.toString() + ":[", "]"))) ++ .collect(Collectors.joining(", ", ++ columnSpecifications.stream() ++ .map(colSpec -> colSpec.name.toString()) ++ .collect(Collectors.joining(", ", ++ "{ Columns:[", ++ "], Mappings:{")), ++ "} }")); } - } http://git-wip-us.apache.org/repos/asf/cassandra/blob/dcfd6f30/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java ---------------------------------------------------------------------- diff --cc test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java index 971176a,0cebb03..d0df5bc --- a/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java +++ b/test/unit/org/apache/cassandra/cql3/selection/SelectionColumnMappingTest.java @@@ -42,11 -44,11 +44,11 @@@ public class SelectionColumnMappingTes typeName = createType("CREATE TYPE %s (f1 int, f2 text)"); tableName = createTable("CREATE TABLE %s (" + - " k int PRIMARY KEY," + - " v1 int," + - " v2 ascii," + - " v3 frozen<" + typeName + ">)"); + " k int PRIMARY KEY," + + " v1 int," + + " v2 ascii," + + " v3 frozen<" + typeName + ">)"); - userType = Schema.instance.getKSMetaData(KEYSPACE).userTypes.getType(ByteBufferUtil.bytes(typeName)); + userType = Schema.instance.getKSMetaData(KEYSPACE).types.get(ByteBufferUtil.bytes(typeName)).get(); functionName = createFunction(KEYSPACE, "int, ascii", "CREATE FUNCTION %s (i int, a ascii) " + "CALLED ON NULL INPUT " + @@@ -126,8 -139,8 +139,7 @@@ .addMapping(kSpec, columnDefinition("k")) .addMapping(v1Spec, columnDefinition("v1")) .addMapping(v2Spec, columnDefinition("v2")); -- - assertEquals(expected, extractColumnMappingFromSelect("SELECT k AS k_alias, v1 AS v1_alias, v2 AS v2_alias FROM %s")); + verify(expected, "SELECT k AS k_alias, v1 AS v1_alias, v2 AS v2_alias FROM %s"); } private void testUserTypes() throws Throwable
