cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7395) Support for pure user-defined functions (UDF)
Date Sun, 03 Aug 2014 09:49:12 GMT

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

Robert Stupp commented on CASSANDRA-7395:
-----------------------------------------

Thanks [~thobbs] :)
I've fixed that stuff. Some notes:
* SchemaChange events from {{Create/DropFunctionStatement}}: I’m also not really sold on
sending events for UDF to clients - just did that for „completeness“. Even though it is
not a schema change in the meaning that a keyspace (persistence) is involved. It is more a
new type of change event. If someone wants those events to be delivered we can do that later
in a separate ticket. But the {{MigrationManager.notity}} methods also use Event. I’ve added
new {{Event.FunctionChange}} class and removed the UDF code from {{Event.SchemaChange}}.
* UFMetaData/constructors: Yes, it's duplicate work - but difficult to change. The ctors differ
in argument/return type ({{CQL3Type}}/{{String}}). I tried to combine the code but it looks
even uglier (3rd ctor, additional static methods).
* UFMetaData/compatibleArgs: I'd like to defer the change to a separate commit because it
touches a lot of files. But I'm +1 to do that.
* Added a warning log on startup when a non-namespaced UDF with the same name of a core-CQL-function
is found (w/ hint to do a {{DESCRIBE FUNCTION}} before {{DROP FUNCTION}}).

Current todos:
* build a UDF impl jar (or "Cassandra stdlib" ;) - stuff for separate ticket)
* build some "plain" unit tests
* build dtest(s)


> Support for pure user-defined functions (UDF)
> ---------------------------------------------
>
>                 Key: CASSANDRA-7395
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7395
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: API, Core
>            Reporter: Jonathan Ellis
>            Assignee: Robert Stupp
>              Labels: cql
>             Fix For: 3.0
>
>         Attachments: 7395.txt, udf-create-syntax.png, udf-drop-syntax.png
>
>
> We have some tickets for various aspects of UDF (CASSANDRA-4914, CASSANDRA-5970, CASSANDRA-4998)
but they all suffer from various degrees of ocean-boiling.
> Let's start with something simple: allowing pure user-defined functions in the SELECT
clause of a CQL query.  That's it.
> By "pure" I mean, must depend only on the input parameters.  No side effects.  No exposure
to C* internals.  Column values in, result out.  http://en.wikipedia.org/wiki/Pure_function



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

Mime
View raw message