cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7248) Tuple type
Date Fri, 16 May 2014 22:16:16 GMT

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

Tyler Hobbs commented on CASSANDRA-7248:
----------------------------------------

I'm a little hesitant to expose a new type just because we can.  I think it's a reasonable
type, but it will still add some maintenance overhead and make the type choices a little more
confusing for users.  Is there a concrete use case where tuples are needed (or have a large
advantage over another option, like separate columns or UDTs)?

> Tuple type
> ----------
>
>                 Key: CASSANDRA-7248
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7248
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>              Labels: cql3
>             Fix For: 2.1 rc1
>
>
> For CASSANDRA-6875 we need to be able to talk about tuples values and types (for prepared
variables). Since we need it there, clients will need to support them anyway and so I think
it would be a lot cleaner to start supporting those more generally. Besides, having tuples
is a relatively simple and natural extension to what we have. I'll note in particular that
tuple have a close relationship to user type in the sense that a tuple will be really just
like an anonymous with no name for the fields and in particular a tuple value will be the
same than a user type value.
> The syntax would simply look like that:
> {noformat}
> CREATE TABLE foo (
>     k int PRIMARY KEY,
>     v tuple<int, text, float>
> )
> INSERT INTO foo(k, v) VALUES(0, (3, 'bar', 2.1));
> {noformat}
> We can also add projections in selects if we want:
> {noformat}
> SELECT v[0], v[2] FROM foo WHERE k = 0;
> {noformat}
> but that can come later (after all, we still don't have projections for collections and
it's not a big deal).



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

Mime
View raw message