SERIAL CONSISTENCY

Sets the serial consistency for lightweight transactions (LWTs). A LWT contains an IF EXISTS or IF NOT EXISTS clause. See Data consistency in the documentation.

When using a LWT:

  • Levels must be set for SERIAL CONSISTENCY and CONSISTENCY.

  • SERIAL CONSISTENCY can be set to SERIAL or LOCAL_SERIAL.

  • CONSISTENCY cannot be set to SERIAL or LOCAL_SERIAL.

To set the consistency level for non-LWTs, use the CONSISTENCY command.

Synopsis

SERIAL CONSISTENCY [ <consistency_level> ]
Syntax legend
Legend
Syntax conventions Description

UPPERCASE

Literal keyword.

Lowercase

Not literal.

< >

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.

<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.

consistency_level

Consistency level. Can be set to SERIAL or LOCAL_SERIAL.

Examples

Show the current SERIAL CONSISTENCY status:

SERIAL CONSISTENCY

Reports the current setting:

Current serial consistency level set to SERIAL.

Set the serial consistency level with a value:

SERIAL CONSISTENCY LOCAL_SERIAL

Confirms the level is set:

Serial consistency level set to LOCAL_SERIAL.

You can use the TRACE command to examine the difference between INSERT statements with and without IF EXISTS.

When using a LWT, you must have levels set for CONSISTENCY and SERIAL CONSISTENCY.

For example, write data using a LWT with IF NOT EXISTS to examine if the row already exists before performing the write:

CONSISTENCY ONE

SERIAL CONSISTENCY SERIAL

INSERT INTO cycling.cyclist_name (
  id, firstname, lastname
) VALUES (
  e7ae5cf3-d358-4d99-b900-85902fda9bb0, 'Alex', 'FRAME'
)
IF NOT EXISTS;

If the record already exists then the write is not applied, as shown in the following result:

 [applied] | id                                   | firstname | lastname
-----------+--------------------------------------+-----------+----------
     False | e7ae5cf3-d358-4d99-b900-85902fda9bb0 |      Alex |    FRAME

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com