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

Sylvain Lebresne commented on CASSANDRA-9745:
---------------------------------------------

bq. We want "real" triggers anyway, though.

I agree but I think it's a different ticket. I can see how triggers can be used 
to do validation, but it's also not the most direct/use friendly way to do it 
imo. And being able to define more precise db-enforced constraints on the 
schema easily is imo a nice thing to have. Not going though the triggers 
machinery for that might also be more efficient.

bq. I'm not a fan of using UDFs for anything internal.

I don't want to make it sound like I think UDF is an absolute component of this 
ticket, I mostly just wanted to say that we could and should add a bit more 
expressive validation for values that just our current types, and so I've 
slightly generalized the title of this ticket.

I'm also fine with using {{CHECK}} constraints for this, if only because the 
proper way to implement this will be to reuse our {{ColumnFilter}} 
implementation and that will ultimately give us UDFs for free (but you'll still 
be able to do the most common validation without it, so you'll be happy).


> Better validation for values
> ----------------------------
>
>                 Key: CASSANDRA-9745
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9745
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 3.x
>
>
> The only server side validation we do for values is currently that they match 
> their type. Now that we have UDFs, we could allow to optionally specify a 
> (boolean) value validation function on a per-column basis. This would give us 
> a pretty generic way of validating value, which sounds useful to me.
> Once we have that, we could even add some syntactic sugar for some common 
> type of validations, like {{v int[0..100]}} for numbers between 0 and 100, or 
> {{v text[20]}} for a string that is not longer than 20, ... That's more of a 
> follow up however.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to