You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2014/08/19 18:10:32 UTC

git commit: Verify that UDF class methods are static

Repository: cassandra
Updated Branches:
  refs/heads/trunk 16069c351 -> 1ed1af5b9


Verify that UDF class methods are static

Patch by Tyler Hobbs; review by Robert Stupp for CASSANDRA-7781


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

Branch: refs/heads/trunk
Commit: 1ed1af5b9baaecf5810ce3ca176ed3b14c8893b8
Parents: 16069c3
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Tue Aug 19 11:09:57 2014 -0500
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Tue Aug 19 11:09:57 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                            | 1 +
 src/java/org/apache/cassandra/cql3/udf/UDFunction.java | 4 ++++
 2 files changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ed1af5b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 63077a7..92d784d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Verify that UDF class methods are static (CASSANDRA-7781)
  * Support pure user-defined functions (CASSANDRA-7395)
  * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
  * Move sstable RandomAccessReader to nio2, which allows using the

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1ed1af5b/src/java/org/apache/cassandra/cql3/udf/UDFunction.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/udf/UDFunction.java b/src/java/org/apache/cassandra/cql3/udf/UDFunction.java
index 4866c22..89f37d5 100644
--- a/src/java/org/apache/cassandra/cql3/udf/UDFunction.java
+++ b/src/java/org/apache/cassandra/cql3/udf/UDFunction.java
@@ -20,6 +20,7 @@ package org.apache.cassandra.cql3.udf;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -91,6 +92,9 @@ public class UDFunction
 
             Method method = cls.getMethod(methodName, paramTypes);
 
+            if (!Modifier.isStatic(method.getModifiers()))
+                throw new InvalidRequestException("Method " + className + '.' + methodName + '(' + Arrays.toString(paramTypes) + ") is not static");
+
             if (!jReturnType.isAssignableFrom(method.getReturnType()))
             {
                 throw new InvalidRequestException("Method " + className + '.' + methodName + '(' + Arrays.toString(paramTypes) + ") " +