Book Image

Learning Apache Cassandra

By : Matthew Brown
4 (1)
Book Image

Learning Apache Cassandra

4 (1)
By: Matthew Brown

Overview of this book

Table of Contents (19 chapters)
Learning Apache Cassandra
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using lists for ordered, nonunique values


Let's say that we'd like to allow users to share other users' status updates with their own followers. For each status update, we'll keep track of the shares, so that we can display them to the author. Unlike starring a status update, the same user can share the same status update more than once, so we will track shares as discrete events, retaining the order in which they occurred.

A list column fits this task perfectly. Like sets, lists contain collections of values; but, unlike sets, values in sets are nonunique and have a stable and defined order.

Defining a list column

First, let's add a new list column to our user_status_updates table:

ALTER TABLE "user_status_updates"
ADD "shared_by" LIST<text>;

The syntax for defining a list column is identical to that for defining a set column; we simply swap in LIST for SET.

Writing a list

As with sets, we can directly specify the entire contents of a list, overwriting the current contents:

UPDATE "user_status_updates...