cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-5576) CREATE/DROP TRIGGER in CQL
Date Sat, 15 Jun 2013 04:53:21 GMT


Aleksey Yeschenko commented on CASSANDRA-5576:

Yes, options should definitely be a map<text, text>. Question is, should class be a
separate column or should it be simply one of the options in that map.

Cases where class is part of the options and not a separate column:
- custom 2i (schema_columns.index_options)
- compression (schema_columnfamilies.compression_parameters)

Cases where class is a separate column:
- replication (schema_keyspaces.strategy_class)
- compaction (schema_columnfamilies.compaction_strategy_class)

In the last two cases, even though they are stored separately, in CQL3 CREATE/ALTER the class
is still conceptually part of the options map:
- CREATE KEYSPACE <name> WITH replication = {'class': '', 'option1':
'value1', 'optionX': ...}
- ALTER TABLE <name> WITH compaction = {'class': 'SizeTieredCompactionStrategy', 'option1':
'value1', 'optionX': ...}

Now, once we add parameters support to triggers, we could just add trigger_options map<text,
text> and to keep all but class there. Adding columns to system tables is okay, dropping
them isn't. But adding trigger_options map<text,text> right now and storing the class
there (with 'class' key) will let us to leave schema_triggers schema like this forever, future-proofing
it (this is what I suggested in
and in
before that).
> --------------------------
>                 Key: CASSANDRA-5576
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API, Core
>            Reporter: Jonathan Ellis
>            Assignee: Vijay
>             Fix For: 2.0

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message