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

Reply via email to