CREATE TRIGGER
Registers a trigger on a table.
CREATE TRIGGER myTrigger
ON myTable
USING 'org.apache.cassandra.triggers.AuditTrigger'
o.a.c.triggers.ITrigger
interface was modified
from augment
to augmentNonBlocking
for non-blocking
internal architecture. Updated trigger implementations must be provided on upgraded nodes.
If unsure, drop all existing triggers before upgrading to DataStax Enterprise (DSE) 6.0.
Because a rewrite of this interface is necessary in DSE 6.0, DataStax can help you find a
solution.Enclose trigger names that use uppercase characters in double quotation marks. The logic comprising the trigger can be written in any Java (JVM) language and exists outside the database. The Java class in this example that implements the trigger is named org.apache.cassandra.triggers and defined in an Apache repository. The trigger defined on a table fires before a requested DML statement occurs to ensures the atomicity of the transaction.
- Datastax Enterprise 4.5 and later: Installer-No Services and tarball: install_location/resources/cassandra/conf/triggers
- Datastax Enterprise 4.5 and later: Installer-Services and packages: /etc/dse/cassandra/triggers
Cassandra supports lightweight transactions for creating a trigger. Attempting to create an existing trigger returns an error unless the IF NOT EXISTS option is used. If the option is used, the statement is a no-op if the table already exists.
Synopsis
CREATE TRIGGER IF NOT EXISTS trigger_name ON table_name
USING 'java_class'
Syntax conventions | Description |
---|---|
UPPERCASE | Literal keyword. |
Lowercase | Not literal. |
Italics |
Variable value. Replace with a user-defined value. |
[] |
Optional. Square brackets ( [] ) surround optional command
arguments. Do not type the square brackets. |
( ) |
Group. Parentheses ( ( ) ) identify a group to choose from. Do
not type the parentheses. |
| |
Or. A vertical bar ( | ) separates alternative elements. Type
any one of the elements. Do not type the vertical bar. |
... |
Repeatable. An ellipsis ( ... ) indicates that you can repeat
the syntax element as often as required. |
'Literal string' |
Single quotation ( ' ) marks must surround literal strings in
CQL statements. Use single quotation marks to preserve upper case. |
{ key : value } |
Map collection. Braces ( { } ) enclose map collections or key
value pairs. A colon separates the key and the value. |
<datatype1,datatype2> |
Set, list, map, or tuple. Angle brackets ( < > ) enclose
data types in a set, list, map, or tuple. Separate the data types with a comma.
|
cql_statement; |
End CQL statement. A semicolon ( ; ) terminates all CQL
statements. |
[--] |
Separate the command line options from the command arguments with two hyphens (
-- ). This syntax is useful when arguments might be mistaken for
command line options. |
' <schema> ... </schema> ' |
Search CQL only: Single quotation marks ( ' ) surround an
entire XML schema declaration. |
@xml_entity='xml_entity_type' |
Search CQL only: Identify the entity and literal value to overwrite the XML element in the schema and solrConfig files. |