タプル型

タプルは、ユーザー定義型の代わりに使用できる便利な手段です。

位置指定された型付きのフィールドを要素とする固定要素数の集合を保持する新しいtupleデータ型。ユーザー定義型の代わりにタプルを使用できます。タプルには多くのフィールド(32768)を含めることができますが、使用できる数より控えめにしてください。一般的には、2、3のフィールドを含むタプルを作成します。

テーブル作成文では、山かっことコンマ区切り文字を使用してタプルの構成要素の型を宣言します。タプル値をかっこで囲んで、以下の例のようにテーブルに値を挿入します。

CREATE TABLE collect_things ( k int PRIMARY KEY, v tuple<int, text, float> ); INSERT INTO collect_things (k, v) VALUES(0, (3, 'bar', 2.1)); SELECT * FROM collect_things; k | v ---+----------------- 0 | (3, 'bar', 2.1)
注: Cassandra 2.1.0~2.1.2ではtuplesに対してfrozenを使用する必要がありますが、Cassandra 2.1.3以降では次のキーワードは必要ありません:
frozen <tuple <int, tuple<text, double>>>

タプルを使用して検索をフィルターできます。

CREATE INDEX on collect_things (v); SELECT * FROM collect_things WHERE v = (3, 'bar', 2.1); k | v ---+----------------- 0 | (3, 'bar', 2.1)

以下の例に示すように、タプルをネストできます。

CREATE TABLE nested (k int PRIMARY KEY, t FROZEN tuple <int, tuple<text, double>>); INSERT INTO nested (k, t) VALUES (0, (3, ('foo', 3.4)));