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(-)
----------------------------------------------------------------------