7.3.14. column_list#
7.3.14.1. 概要#
column_list コマンドはテーブルにあるカラムの一覧を返します。
7.3.14.2. 構文#
このコマンドの引数は1つで必須です:
column_list table
7.3.14.3. 使い方#
以下は column_list コマンドの簡単な使用例です。
実行例:
table_create Users TABLE_PAT_KEY ShortText
# [[0,1337566253.89858,0.000355720520019531],true]
column_create Users age COLUMN_SCALAR UInt8
# [[0,1337566253.89858,0.000355720520019531],true]
column_create Users tags COLUMN_VECTOR ShortText
# [[0,1337566253.89858,0.000355720520019531],true]
column_list Users
# [
#   [
#     0,
#     1337566253.89858,
#     0.000355720520019531
#   ],
#   [
#     [
#       [
#         "id",
#         "UInt32"
#       ],
#       [
#         "name",
#         "ShortText"
#       ],
#       [
#         "path",
#         "ShortText"
#       ],
#       [
#         "type",
#         "ShortText"
#       ],
#       [
#         "flags",
#         "ShortText"
#       ],
#       [
#         "domain",
#         "ShortText"
#       ],
#       [
#         "range",
#         "ShortText"
#       ],
#       [
#         "source",
#         "ShortText"
#       ],
#       [
#         "generator",
#         "ShortText"
#       ]
#     ],
#     [
#       256,
#       "_key",
#       "",
#       "",
#       "COLUMN_SCALAR",
#       "Users",
#       "ShortText",
#       [
#
#       ],
#       ""
#     ],
#     [
#       257,
#       "age",
#       "${DB_PATH}.0000101",
#       "fix",
#       "COLUMN_SCALAR|PERSISTENT",
#       "Users",
#       "UInt8",
#       [
#
#       ],
#       ""
#     ],
#     [
#       258,
#       "tags",
#       "${DB_PATH}.0000102",
#       "var",
#       "COLUMN_VECTOR|PERSISTENT",
#       "Users",
#       "ShortText",
#       [
#
#       ],
#       ""
#     ]
#   ]
# ]
7.3.14.4. 引数#
このセクションでは column_list の引数について説明します。
7.3.14.4.1. 必須引数#
すべての引数は必須です。
7.3.14.4.1.1. table#
カラムの一覧を取得するテーブルの名前を指定します。
7.3.14.5. 戻り値#
column_list はテーブルのカラム一覧を返します。:
[
  HEADER,
  [
    COLUMN_LIST_HEADER,
    COLUMN_INFORMATION1,
    COLUMN_INFORMATION2,
    ...
  ]
]
7.3.14.5.1. HEADER#
HEADER については 出力形式 を参照してください。
7.3.14.5.2. COLUMN_LIST_HEADER#
COLUMN_LIST_HEADER は各 COLUMN_INFORMATION の内容を説明します。
COLUMN_LIST_HEADER は次の形式を使います。
[
  ["id",     "UInt32"],
  ["name",   "ShortText"],
  ["path",   "ShortText"],
  ["type",   "ShortText"],
  ["flags",  "ShortText"],
  ["domain", "ShortText"],
  ["range",  "ShortText"],
  ["source", "ShortText"]
  ["generator", "ShortText"]
]
以下のことを意味します。
- COLUMN_INFORMATION の1番目の要素は - idの値で、その値の型は- UInt32です。
- COLUMN_INFORMATION の2番目の要素は - nameの値で、その値の型は- ShortTextです。
- COLUMN_INFORMATION の3番目の要素は... 
このフィールドはカラムの情報のメタデータを提供します。したがって、このフィールドは人ではなくプログラムに有用です。
7.3.14.5.3. COLUMN_INFORMATION#
各 COLUMN_INFORMATION は次の形式を使います。:
[
  ID,
  NAME,
  PATH,
  TYPE,
  FLAGS,
  DOMAIN,
  RANGE,
  SOURCES,
  GENERATOR
]
7.3.14.5.3.1. ID#
このカラムのGroongaデータベース内でのIDです。通常、それを気にする必要はありません。
7.3.14.5.3.2. NAME#
カラム名。
7.3.14.5.3.3. PATH#
カラムのデータを保存しているパス。
7.3.14.5.3.4. TYPE#
カラムの型。次のうちのどれかです。
| 値 | 説明 | 
|---|---|
| 
 | このカラムは、固定長カラムです。固定長型のスカラーカラムは、固定長カラムです。 | 
| 
 | このカラムは、可変長カラムです。ベクターカラムまたは可変長型のスカラーカラムは、可変長カラムです。 | 
| 
 | このカラムはインデックスカラムです。 | 
7.3.14.5.3.5. FLAGS#
カラムのフラグです。各フラグは、COLUMN_VECTOR|WITH_WEIGHT のように | で分けられています。 FLAGS は、COLUMN_SCALAR , COLUMN_VECTOR , COLUMN_INDEX のいずれか1つを含まなければいけません。他のフラグは省略可能です。
有効なフラグは以下の通りです。
| フラグ | 説明 | 
|---|---|
| 
 | このカラムはスカラーカラムです。 | 
| 
 | このカラムはベクターカラムです。 | 
| 
 | このカラムはインデックスカラムです。 | 
| 
 | このカラムは、重みを持つことができます。  | 
| 
 | このカラムはセクション(段落)情報を持つことができます。  マルチカラムインデックスはこのフラグを持ちます。 | 
| 
 | このカラムは出現位置情報を持つことができます。  全文検索インデックスはこのフラグを持つべきです。 | 
| 
 | このカラムは永続カラムです。それは 擬似カラム ではないことを意味します。 | 
7.3.14.5.3.6. DOMAIN#
カラムを持っているテーブルの名前です。
7.3.14.5.3.7. RANGE#
カラムの型名です。型名かテーブル名です。
7.3.14.5.3.8. SOURCES#
インデックスカラムまたは自動生成カラムがソースとして使うカラム名の配列です。
インデックスカラムがマルチカラムインデックスの場合、この配列には2つ以上のソースカラム名が入っています。
7.3.14.5.3.9. GENERATOR#
Added in version 14.1.0.
スクリプト構文 の生成式です。
このカラムが 生成カラム でないときだけ、1文字以上の文字列になります。それ以外の場合は空文字列になります。
