コレクション型のフリーズ

コレクション・カラムはコレクション型を使用して宣言し、コレクション型の後に別の型を指定します。

コレクション・カラムはコレクション型を使用して宣言し、コレクション型の後にinttextなどの別の型を山かっこで囲みます。たとえば、text、整数、またはその他のデータ型要素のセットを含むテーブルを作成できます。

frozen<set<data_type>>

コレクション型をネストするには、ネストされたコレクションをフリーズします。たとえば、マップ内にセットをネストします。

map<frozen <set<int>>>

インデックスは任意の型のコレクション・カラムに対して作成できます。

コレクション内でのfrozenの使用

複数のコンポーネントを単一値にシリアライズするには、frozen<collection_definition>の形式でセット、マップ、またはリストに対してfrozenを使用します。frozen以外の型を使用すると個々のフィールドを更新できますが、frozenコレクション内の値はBLOBと同様に処理され、upsertを実行すると値全体が上書きされます。

column_name collection_type<data_type, frozen<column_name>>

例:

CREATE TABLE mykeyspace.users (
  id uuid PRIMARY KEY,
  name frozen <fullname>,
  direct_reports set<frozen <fullname>>,     // a collection set
  addresses map<text, frozen <address>>     // a collection map
  score set<frozen <set<int>>>              // a set with a nested frozen set
);