cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-9409) Ensure that UDF and UDAs are keyspace-isolated
Date Sun, 17 May 2015 18:25:00 GMT


Robert Stupp updated CASSANDRA-9409:
    Attachment: 9409.txt

Note: UDAs cannot use a UDF from a different keyspace since {{CREATE AGGREGATE}} syntax does
not allow it.

UDAs did not allow UDTs from another keyspace.
However, UDFs did allow that (and had a unit test to ensure that).

Attached patch ensures that no types or functions from another keyspace can be used.

The attached patch does not allow use of user-types or functions from {{system}} keyspace.
Will provide a separate patch to allow that so we can decide upon commit.

> Ensure that UDF and UDAs are keyspace-isolated
> ----------------------------------------------
>                 Key: CASSANDRA-9409
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aleksey Yeschenko
>            Assignee: Robert Stupp
>             Fix For: 2.2 rc1
>         Attachments: 9409.txt
> In table columns we don't allow to use UDTs from other keyspaces.
> We should also make sure that the following is *not* allowed:
> - UDFs taking UDTs from other keyspaces as arguments or return types
> - UDAs using UDFs from other keyspaces as its subfunctions
> The only exception should be made for {{system}} keyspace. UDAs and UDFs from any keyspace
should be able to reference and reuse those.
> Having no dependencies between keyspaces makes this consistent with the way we treat
UDTs, which is important, but also simplifies auth in multi-tenant environments, and is also
crucial to upcoming 3.X strongly consistent schema work (the ability to treat keyspace as
a unit of change and not having to worry about cross-keyspace dependencies).
> P.S. Should *probably* still allow using other keyspaces UDFs and UDAs in {{SELECT}}
statements. Strict isolation in schema dependencies is what matters to me here.

This message was sent by Atlassian JIRA

View raw message