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.le...@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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to