コレクション型のフリーズ
コレクション・カラムはコレクション型を使用して宣言し、コレクション型の後に別の型を指定します。
コレクション・カラムはコレクション型を使用して宣言し、コレクション型の後にint
やtext
などの別の型を山かっこで囲みます。たとえば、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
);