structure 句では、クエリで使用できる辞書キーとフィールドを定義します。
XML の説明:
<id>— キーカラム<attribute>— データカラム: 属性は複数指定できます。
PRIMARY KEY— キーカラムAttrName AttrType— データカラム。属性は複数指定できます。
キー
- 数値キー。
UInt64。<id>タグ、またはPRIMARY KEYキーワードで定義します。 - 複合キー。異なる型の値の集合。
<key>タグ、またはPRIMARY KEYキーワードで定義します。
<id> と <key> のどちらか一方のみを含めることができます。DDLクエリには PRIMARY KEY を1つだけ含める必要があります。
キーを 属性 として記述してはいけません。
数値キー
UInt64。
設定例:
name– キーを含むカラム名。
PRIMARY KEY– キーとなるカラムの名前。
複合キー
tupleを指定できます。この場合、layoutはcomplex_key_hashedまたはcomplex_key_cacheである必要があります。
キーの構造は<key>要素で設定します。キーのフィールドは、Dictionaryの属性と同じ形式で指定します。例:
dictGet* 関数へのクエリでは、キーとしてタプルを渡します。例: dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).