[ 
https://issues.apache.org/jira/browse/CASSANDRA-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13938057#comment-13938057
 ] 

Edward Capriolo commented on CASSANDRA-6871:
--------------------------------------------

{quote}
Ultimately what I'd like to see is CREATE TRIGGER specify a UDF, with UDF 
support for multiple languages a la postgresq
{quote}
I think we are in agreement. Right now when you create a trigger you only 
specify a class name.

The syntax would be something like this
{code}
create trigger abc options {classname='abc', spec='groovy' script=' public 
class {'
{code}

The spec could be any language and the script could be any language. clojure, 
jruby etc.

> Dynamic class loading for triggers (and udfs)
> ---------------------------------------------
>
>                 Key: CASSANDRA-6871
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6871
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>
> Currently the trigger feature requires out of band shipping jar files to 
> servers. In the near future users may be able to provide custom functions 
> like trim() dynamically like pig and hive do. In order to accomplish this 
> securely my suggestion is this.
> 1. Add a new configuration knob to cassandra.yaml which controls how users 
> are allowed to load class definitions. 
> {code}
> dynamic_loading:
>     - JAVA_LOCAL_CLASSPATH
>     - GROOVY_CLASS_LOADER
> {code}
> 2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a 
> dependency. 
> 3. Profit: A follow on piece would allow triggers to be defined in a JVM 
> language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870 
> could use this. Users can also create different pluggable components to CQL 
> at runtime. 
> This issue would just be about brining the dynamic loading mechanism in the 
> project securely. Not implementing it in a user facincg way.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to