You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sn...@apache.org on 2016/05/12 11:06:57 UTC

[1/3] cassandra git commit: Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.7 04e7723e5 -> 902877a65
  refs/heads/trunk 755c783f1 -> fbc07eb27


Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

patch by Robert Stupp; reviewed by Tyler Hobbs for CASSANDRA-11309


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/902877a6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/902877a6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/902877a6

Branch: refs/heads/cassandra-3.7
Commit: 902877a652267872358c02080ccf5b5f8e93d60a
Parents: 04e7723
Author: Robert Stupp <sn...@snazy.de>
Authored: Thu May 12 12:04:28 2016 +0100
Committer: Robert Stupp <sn...@snazy.de>
Committed: Thu May 12 12:04:28 2016 +0100

----------------------------------------------------------------------
 .../apache/cassandra/cql3/functions/UDHelper.java | 15 +++++++--------
 .../cql3/validation/entities/UFTest.java          | 18 +++++++++++++++++-
 2 files changed, 24 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/902877a6/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/functions/UDHelper.java b/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
index 9f322e5..86cb89d 100644
--- a/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
@@ -89,20 +89,19 @@ public final class UDHelper
                 // only care about classes that can be used in a data type
                 Class<?> clazz = typeToken.getRawType();
                 if (clazz == Integer.class)
-                    clazz = int.class;
+                    typeToken = TypeToken.of(int.class);
                 else if (clazz == Long.class)
-                    clazz = long.class;
+                    typeToken = TypeToken.of(long.class);
                 else if (clazz == Byte.class)
-                    clazz = byte.class;
+                    typeToken = TypeToken.of(byte.class);
                 else if (clazz == Short.class)
-                    clazz = short.class;
+                    typeToken = TypeToken.of(short.class);
                 else if (clazz == Float.class)
-                    clazz = float.class;
+                    typeToken = TypeToken.of(float.class);
                 else if (clazz == Double.class)
-                    clazz = double.class;
+                    typeToken = TypeToken.of(double.class);
                 else if (clazz == Boolean.class)
-                    clazz = boolean.class;
-                typeToken = TypeToken.of(clazz);
+                    typeToken = TypeToken.of(boolean.class);
             }
             paramTypes[i] = typeToken;
         }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/902877a6/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
index 3cd5be7..e7c46a5 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
@@ -2504,7 +2504,23 @@ public class UFTest extends CQLTester
 
         String typeName = createType("CREATE TYPE %s (txt text, i int)");
 
-        String f = createFunction(KEYSPACE, "text",
+        createFunction(KEYSPACE, "map<text,bigint>,list<text>",
+                       "CREATE FUNCTION IF NOT EXISTS %s(state map<text,bigint>, styles list<text>)\n" +
+                       "  RETURNS NULL ON NULL INPUT\n" +
+                       "  RETURNS map<text,bigint>\n" +
+                       "  LANGUAGE java\n" +
+                       "  AS $$\n" +
+                       "    for (String style : styles) {\n" +
+                       "      if (state.containsKey(style)) {\n" +
+                       "        state.put(style, state.get(style) + 1L);\n" +
+                       "      } else {\n" +
+                       "        state.put(style, 1L);\n" +
+                       "      }\n" +
+                       "    }\n" +
+                       "    return state;\n" +
+                       "  $$");
+
+        createFunction(KEYSPACE, "text",
                                   "CREATE OR REPLACE FUNCTION %s("                 +
                                   "  listText list<text>,"                         +
                                   "  setText set<text>,"                           +


[2/3] cassandra git commit: Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

Posted by sn...@apache.org.
Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

patch by Robert Stupp; reviewed by Tyler Hobbs for CASSANDRA-11309


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/902877a6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/902877a6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/902877a6

Branch: refs/heads/trunk
Commit: 902877a652267872358c02080ccf5b5f8e93d60a
Parents: 04e7723
Author: Robert Stupp <sn...@snazy.de>
Authored: Thu May 12 12:04:28 2016 +0100
Committer: Robert Stupp <sn...@snazy.de>
Committed: Thu May 12 12:04:28 2016 +0100

----------------------------------------------------------------------
 .../apache/cassandra/cql3/functions/UDHelper.java | 15 +++++++--------
 .../cql3/validation/entities/UFTest.java          | 18 +++++++++++++++++-
 2 files changed, 24 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/902877a6/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/functions/UDHelper.java b/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
index 9f322e5..86cb89d 100644
--- a/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDHelper.java
@@ -89,20 +89,19 @@ public final class UDHelper
                 // only care about classes that can be used in a data type
                 Class<?> clazz = typeToken.getRawType();
                 if (clazz == Integer.class)
-                    clazz = int.class;
+                    typeToken = TypeToken.of(int.class);
                 else if (clazz == Long.class)
-                    clazz = long.class;
+                    typeToken = TypeToken.of(long.class);
                 else if (clazz == Byte.class)
-                    clazz = byte.class;
+                    typeToken = TypeToken.of(byte.class);
                 else if (clazz == Short.class)
-                    clazz = short.class;
+                    typeToken = TypeToken.of(short.class);
                 else if (clazz == Float.class)
-                    clazz = float.class;
+                    typeToken = TypeToken.of(float.class);
                 else if (clazz == Double.class)
-                    clazz = double.class;
+                    typeToken = TypeToken.of(double.class);
                 else if (clazz == Boolean.class)
-                    clazz = boolean.class;
-                typeToken = TypeToken.of(clazz);
+                    typeToken = TypeToken.of(boolean.class);
             }
             paramTypes[i] = typeToken;
         }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/902877a6/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
index 3cd5be7..e7c46a5 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UFTest.java
@@ -2504,7 +2504,23 @@ public class UFTest extends CQLTester
 
         String typeName = createType("CREATE TYPE %s (txt text, i int)");
 
-        String f = createFunction(KEYSPACE, "text",
+        createFunction(KEYSPACE, "map<text,bigint>,list<text>",
+                       "CREATE FUNCTION IF NOT EXISTS %s(state map<text,bigint>, styles list<text>)\n" +
+                       "  RETURNS NULL ON NULL INPUT\n" +
+                       "  RETURNS map<text,bigint>\n" +
+                       "  LANGUAGE java\n" +
+                       "  AS $$\n" +
+                       "    for (String style : styles) {\n" +
+                       "      if (state.containsKey(style)) {\n" +
+                       "        state.put(style, state.get(style) + 1L);\n" +
+                       "      } else {\n" +
+                       "        state.put(style, 1L);\n" +
+                       "      }\n" +
+                       "    }\n" +
+                       "    return state;\n" +
+                       "  $$");
+
+        createFunction(KEYSPACE, "text",
                                   "CREATE OR REPLACE FUNCTION %s("                 +
                                   "  listText list<text>,"                         +
                                   "  setText set<text>,"                           +


[3/3] cassandra git commit: Merge branch 'cassandra-3.7' into trunk

Posted by sn...@apache.org.
Merge branch 'cassandra-3.7' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fbc07eb2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fbc07eb2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fbc07eb2

Branch: refs/heads/trunk
Commit: fbc07eb2768a8114ee03318acc080e9c5885d548
Parents: 755c783 902877a
Author: Robert Stupp <sn...@snazy.de>
Authored: Thu May 12 12:04:49 2016 +0100
Committer: Robert Stupp <sn...@snazy.de>
Committed: Thu May 12 12:04:49 2016 +0100

----------------------------------------------------------------------
 .../apache/cassandra/cql3/functions/UDHelper.java | 15 +++++++--------
 .../cql3/validation/entities/UFTest.java          | 18 +++++++++++++++++-
 2 files changed, 24 insertions(+), 9 deletions(-)
----------------------------------------------------------------------