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)

Reply via email to