You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bl...@apache.org on 2020/11/03 13:45:13 UTC

[cassandra] branch trunk updated (56e697d -> 980c6ea)

This is an automated email from the ASF dual-hosted git repository.

blerer pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


    from 56e697d  Produce consistent tombstone to avoid digest mistmatch:
     add 833ba83  Merge branch 'cassandra-3.0' into cassandra-3.11
     add ec2f2e6  Avoid storing the last schema change in CQLTester
     add 5a87472  Merge branch cassandra-2.2 into cassandra-3.0
     add ec5e242  Merge branch cassandra-3.0 into cassandra-3.11
     new 980c6ea  Merge branch cassandra-3.11 into trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 test/unit/org/apache/cassandra/cql3/CQLTester.java |  58 +++++++----
 .../cassandra/cql3/validation/entities/UFTest.java | 104 ++++++++++----------
 .../cql3/validation/entities/UFTypesTest.java      |  21 ++--
 .../validation/operations/AggregationTest.java     | 109 ++++++++++-----------
 4 files changed, 159 insertions(+), 133 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


[cassandra] 01/01: Merge branch cassandra-3.11 into trunk

Posted by bl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

blerer pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 980c6ea6abe2f5138aa3bd2666344e86bde4b141
Merge: 56e697d ec5e242
Author: Benjamin Lerer <b....@gmail.com>
AuthorDate: Tue Nov 3 14:36:12 2020 +0100

    Merge branch cassandra-3.11 into trunk

 test/unit/org/apache/cassandra/cql3/CQLTester.java |  58 +++++++----
 .../cassandra/cql3/validation/entities/UFTest.java | 104 ++++++++++----------
 .../cql3/validation/entities/UFTypesTest.java      |  21 ++--
 .../validation/operations/AggregationTest.java     | 109 ++++++++++-----------
 4 files changed, 159 insertions(+), 133 deletions(-)

diff --cc test/unit/org/apache/cassandra/cql3/CQLTester.java
index 04ac289,4e320ef..d205c10
--- a/test/unit/org/apache/cassandra/cql3/CQLTester.java
+++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java
@@@ -713,9 -588,20 +711,19 @@@ public abstract class CQLTeste
          return typeName;
      }
  
+     protected String createFunctionName(String keyspace)
+     {
+         return String.format("%s.function_%02d", keyspace, seqNumber.getAndIncrement());
+     }
+ 
+     protected void registerFunction(String functionName, String argTypes)
+     {
+         functions.add(functionName + '(' + argTypes + ')');
+     }
+ 
      protected String createFunction(String keyspace, String argTypes, String query) throws Throwable
      {
-         String functionName = String.format("%s.function_%02d", keyspace, seqNumber.getAndIncrement());
+         String functionName = createFunctionName(keyspace);
 -
          createFunctionOverload(functionName, argTypes, query);
          return functionName;
      }
@@@ -728,9 -614,20 +736,19 @@@
          schemaChange(fullQuery);
      }
  
+     protected String createAggregateName(String keyspace)
+     {
+         return String.format("%s.aggregate_%02d", keyspace, seqNumber.getAndIncrement());
+     }
+ 
+     protected void registerAggregate(String aggregateName, String argTypes)
+     {
+         aggregates.add(aggregateName + '(' + argTypes + ')');
+     }
+ 
      protected String createAggregate(String keyspace, String argTypes, String query) throws Throwable
      {
-         String aggregateName = String.format("%s.aggregate_%02d", keyspace, seqNumber.getAndIncrement());
+         String aggregateName = createAggregateName(keyspace);
 -
          createAggregateOverload(aggregateName, argTypes, query);
          return aggregateName;
      }
@@@ -970,7 -795,7 +992,7 @@@
  
              QueryOptions options = QueryOptions.forInternalCalls(Collections.<ByteBuffer>emptyList());
  
-             lastSchemaChangeResult = statement.executeLocally(queryState, options);
 -            return prepared.statement.executeInternal(queryState, options);
++            return statement.executeLocally(queryState, options);
          }
          catch (Exception e)
          {
diff --cc test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
index d691374,cac0fd3..76ba6c1
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
@@@ -36,13 -36,13 +36,14 @@@ import org.apache.cassandra.cql3.functi
  import org.apache.cassandra.cql3.functions.UDFunction;
  import org.apache.cassandra.db.marshal.CollectionType;
  import org.apache.cassandra.exceptions.InvalidRequestException;
 -import org.apache.cassandra.exceptions.SyntaxException;
  import org.apache.cassandra.schema.KeyspaceMetadata;
 +import org.apache.cassandra.schema.Schema;
  import org.apache.cassandra.service.ClientState;
- import org.apache.cassandra.transport.*;
+ import org.apache.cassandra.transport.Event.SchemaChange.Change;
+ import org.apache.cassandra.transport.Event.SchemaChange.Target;
  import org.apache.cassandra.transport.ProtocolVersion;
  import org.apache.cassandra.transport.messages.ResultMessage;
 +import org.apache.cassandra.utils.ByteBufferUtil;
  
  public class UFTest extends CQLTester
  {
@@@ -83,58 -72,59 +84,59 @@@
      @Test
      public void testSchemaChange() throws Throwable
      {
-         String f = createFunction(KEYSPACE,
-                                   "double, double",
-                                   "CREATE OR REPLACE FUNCTION %s(state double, val double) " +
-                                   "RETURNS NULL ON NULL INPUT " +
-                                   "RETURNS double " +
-                                   "LANGUAGE javascript " +
-                                   "AS '\"string\";';");
- 
-         assertLastSchemaChange(Event.SchemaChange.Change.CREATED, Event.SchemaChange.Target.FUNCTION,
-                                KEYSPACE, parseFunctionName(f).name,
-                                "double", "double");
- 
-         createFunctionOverload(f,
-                                "double, double",
-                                "CREATE OR REPLACE FUNCTION %s(state int, val int) " +
-                                "RETURNS NULL ON NULL INPUT " +
-                                "RETURNS int " +
-                                "LANGUAGE javascript " +
-                                "AS '\"string\";';");
- 
-         assertLastSchemaChange(Event.SchemaChange.Change.CREATED, Event.SchemaChange.Target.FUNCTION,
-                                KEYSPACE, parseFunctionName(f).name,
-                                "int", "int");
- 
-         schemaChange("CREATE OR REPLACE FUNCTION " + f + "(state int, val int) " +
-                      "RETURNS NULL ON NULL INPUT " +
-                      "RETURNS int " +
-                      "LANGUAGE javascript " +
-                      "AS '\"string1\";';");
- 
-         assertLastSchemaChange(Event.SchemaChange.Change.UPDATED, Event.SchemaChange.Target.FUNCTION,
-                                KEYSPACE, parseFunctionName(f).name,
-                                "int", "int");
- 
-         schemaChange("DROP FUNCTION " + f + "(double, double)");
- 
-         assertLastSchemaChange(Event.SchemaChange.Change.DROPPED, Event.SchemaChange.Target.FUNCTION,
-                                KEYSPACE, parseFunctionName(f).name,
-                                "double", "double");
+         String f = createFunctionName(KEYSPACE);
+         String functionName = shortFunctionName(f);
+         registerFunction(f, "double, double");
+ 
+         assertSchemaChange("CREATE OR REPLACE FUNCTION " + f + "(state double, val double) " +
+                            "RETURNS NULL ON NULL INPUT " +
+                            "RETURNS double " +
+                            "LANGUAGE javascript " +
+                            "AS '\"string\";';",
+                            Change.CREATED,
+                            Target.FUNCTION,
+                            KEYSPACE, functionName,
+                            "double", "double");
+ 
+         registerFunction(f, "int, int");
+ 
+         assertSchemaChange("CREATE OR REPLACE FUNCTION " + f + "(state int, val int) " +
+                            "RETURNS NULL ON NULL INPUT " +
+                            "RETURNS int " +
+                            "LANGUAGE javascript " +
+                            "AS '\"string\";';",
+                            Change.CREATED,
+                            Target.FUNCTION,
+                            KEYSPACE, functionName,
+                            "int", "int");
+ 
+         assertSchemaChange("CREATE OR REPLACE FUNCTION " + f + "(state int, val int) " +
+                            "RETURNS NULL ON NULL INPUT " +
+                            "RETURNS int " +
+                            "LANGUAGE javascript " +
+                            "AS '\"string1\";';",
+                            Change.UPDATED,
+                            Target.FUNCTION,
+                            KEYSPACE, functionName,
+                            "int", "int");
+ 
+         assertSchemaChange("DROP FUNCTION " + f + "(double, double)",
+                            Change.DROPPED, Target.FUNCTION,
+                            KEYSPACE, functionName,
+                            "double", "double");
  
          // The function with nested tuple should be created without throwing InvalidRequestException. See CASSANDRA-15857
-         String f1 = createFunction(KEYSPACE,
-                                    "list<tuple<int, int>>, double",
-                                    "CREATE OR REPLACE FUNCTION %s(state list<tuple<int, int>>, val double) " +
-                                    "RETURNS NULL ON NULL INPUT " +
-                                    "RETURNS double " +
-                                    "LANGUAGE javascript " +
-                                    "AS '\"string\";';");
- 
-         assertLastSchemaChange(Event.SchemaChange.Change.CREATED, Event.SchemaChange.Target.FUNCTION,
-                                KEYSPACE, parseFunctionName(f1).name,
-                                "list<tuple<int, int>>", "double");
+         String fl = createFunctionName(KEYSPACE);
+         registerFunction(fl, "list<tuple<int, int>>, double");
+ 
+         assertSchemaChange("CREATE OR REPLACE FUNCTION " + fl + "(state list<tuple<int, int>>, val double) " +
+                            "RETURNS NULL ON NULL INPUT " +
+                            "RETURNS double " +
+                            "LANGUAGE javascript " +
+                            "AS '\"string\";';",
+                            Change.CREATED, Target.FUNCTION,
+                            KEYSPACE, shortFunctionName(fl),
 -                           "list<frozen<tuple<int, int>>>", "double");
++                           "list<tuple<int, int>>", "double");
      }
  
      @Test
diff --cc test/unit/org/apache/cassandra/cql3/validation/entities/UFTypesTest.java
index e455500,f789e25..b9ea27d
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTypesTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTypesTest.java
@@@ -34,8 -34,9 +34,10 @@@ import org.junit.Test
  import com.datastax.driver.core.Row;
  import org.apache.cassandra.cql3.CQLTester;
  import org.apache.cassandra.cql3.UntypedResultSet;
- import org.apache.cassandra.transport.Event;
+ import org.apache.cassandra.transport.Event.SchemaChange.Change;
+ import org.apache.cassandra.transport.Event.SchemaChange.Target;
  import org.apache.cassandra.transport.ProtocolVersion;
++import org.apache.cassandra.transport.messages.ResultMessage;
  import org.apache.cassandra.utils.UUIDGen;
  
  public class UFTypesTest extends CQLTester
diff --cc test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
index 3440748,e4b16ef..5913bb2
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
@@@ -51,8 -52,11 +51,9 @@@ import org.apache.cassandra.db.marshal.
  import org.apache.cassandra.db.marshal.TypeParser;
  import org.apache.cassandra.exceptions.FunctionExecutionException;
  import org.apache.cassandra.exceptions.InvalidRequestException;
 -import org.apache.cassandra.schema.KeyspaceMetadata;
  import org.apache.cassandra.service.ClientState;
--import org.apache.cassandra.transport.Event;
+ import org.apache.cassandra.transport.Event.SchemaChange.Change;
+ import org.apache.cassandra.transport.Event.SchemaChange.Target;
  import org.apache.cassandra.transport.ProtocolVersion;
  import org.apache.cassandra.transport.messages.ResultMessage;
  
@@@ -459,16 -469,16 +458,16 @@@ public class AggregationTest extends CQ
                                     "LANGUAGE javascript " +
                                     "AS '\"string\";';");
  
-         String a1 = createAggregate(KEYSPACE,
-                                     "list<tuple<int, int>>",
-                                     "CREATE OR REPLACE AGGREGATE %s(list<tuple<int, int>>) " +
-                                     "SFUNC " + shortFunctionName(f1) + " " +
-                                     "STYPE double " +
-                                     "INITCOND 0");
- 
-         assertLastSchemaChange(Event.SchemaChange.Change.CREATED, Event.SchemaChange.Target.AGGREGATE,
-                                KEYSPACE, parseFunctionName(a1).name,
-                                "list<tuple<int, int>>");
+         String a1 = createAggregateName(KEYSPACE);
+         registerAggregate(a1, "list<tuple<int, int>>");
+ 
+         assertSchemaChange("CREATE OR REPLACE AGGREGATE " + a1 + "(list<tuple<int, int>>) " +
+                            "SFUNC " + shortFunctionName(f1) + " " +
+                            "STYPE double " +
+                            "INITCOND 0",
 -                           Event.SchemaChange.Change.CREATED, Event.SchemaChange.Target.AGGREGATE,
 -                           KEYSPACE, parseFunctionName(a1).name,
 -                           "list<frozen<tuple<int, int>>>"); // CASSANDRA-14825: remove frozen from param
++                           Change.CREATED, Target.AGGREGATE,
++                           KEYSPACE, shortFunctionName(a1),
++                           "list<tuple<int, int>>");
      }
  
      @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org