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] [Created] (CASSANDRA-7206) UDT - allow null / non-existant attributes
Date Mon, 12 May 2014 11:47:16 GMT
Robert Stupp created CASSANDRA-7206:
---------------------------------------

             Summary: UDT - allow null / non-existant attributes
                 Key: CASSANDRA-7206
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7206
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Robert Stupp


C* 2.1 CQL User-Defined-Types are really fine and useful.

But it lacks the possibility to omit attributes or set them to null.

Would be great to have the possibility to create UDT "instances" with some attributes missing.

Also changing the UDT definition (for example: {{alter type add new_attr}}) will break running
applications that rely on the "previous" definition of the UDT.

For exmple:

{code}
CREATE TYPE foo (
   attr_one text,
   attr_two int );

CREATE TABLE bar (
   id int,
   comp foo );
{code}

{code}
INSERT INTO bar (id, com) VALUES (1, {attr_one: 'cassandra', attr_two: 2});
{code}
works

{code}
INSERT INTO bar (id, com) VALUES (1, {attr_one: 'cassandra'});
{code}
does not work

{code}
ALTER TYPE foo ADD attr_three timestamp;
{code}

{code}
INSERT INTO bar (id, com) VALUES (1, {attr_one: 'cassandra', attr_two: 2});
{code}
will no longer work (missing attribute)




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

Mime
View raw message