7.3.12. column_list

7.3.12.1. 概要

column_list コマンドはテーブルにあるカラムの一覧を返します。

7.3.12.2. 構文

このコマンドの引数は1つで必須です:

column_list table

7.3.12.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"
#       ]
#     ],
#     [
#       256,
#       "_key",
#       "",
#       "",
#       "COLUMN_SCALAR",
#       "Users",
#       "ShortText",
#       []
#     ],
#     [
#       257,
#       "age",
#       "/tmp/groonga-databases/commands_column_list.0000101",
#       "fix",
#       "COLUMN_SCALAR|PERSISTENT",
#       "Users",
#       "UInt8",
#       []
#     ],
#     [
#       258,
#       "tags",
#       "/tmp/groonga-databases/commands_column_list.0000102",
#       "var",
#       "COLUMN_VECTOR|PERSISTENT",
#       "Users",
#       "ShortText",
#       []
#     ]
#   ]
# ]

7.3.12.4. 引数

このセクションでは column_list の引数について説明します。

7.3.12.4.1. 必須引数

すべての引数は必須です。

7.3.12.4.1.1. table

カラムの一覧を取得するテーブルの名前を指定します。

7.3.12.5. 戻り値

column_list はテーブルのカラム一覧を返します。

[
  HEADER,
  [
    COLUMN_LIST_HEADER,
    COLUMN_INFORMATION1,
    COLUMN_INFORMATION2,
    ...
  ]
]

HEADER

HEADER については 出力形式 を参照してください。

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"]
]

以下のことを意味します。

  • COLUMN_INFORMATION の1番目の要素は id の値で、その値の型は UInt32 です。
  • COLUMN_INFORMATION の2番目の要素は name の値で、その値の型は ShortText です。
  • COLUMN_INFORMATION の3番目の要素は…

詳細については、次の COLUMN_INFORMATION の説明を参照して下さい。

このフィールドはカラムの情報のメタデータを提供します。したがって、このフィールドは人ではなくプログラムに有用です。

COLUMN_INFORMATION

COLUMN_INFORMATION は以下の形式です:

[
  ID,
  NAME,
  PATH,
  TYPE,
  FLAGS,
  DOMAIN,
  RANGE,
  SOURCES
]

ID

GroongaデータベースのカラムIDです。通常、それを気にする必要はありません。

NAME

カラム名。

PATH

カラムのデータを保存しているパス。

TYPE

カラムの型。次のうちのどれかです。

Value 説明
fix このカラムは、固定長カラムです。固定長型のスカラーカラムは、固定長カラムです。
var このカラムは、可変長カラムです。ベクターカラムまたは可変長型のスカラーカラムは、可変長カラムです。
index このカラムはインデックスカラムです。

FLAGS

カラムのフラグです。各フラグは、COLUMN_VECTOR|WITH_WEIGHT のように | で分けられています。 FLAGS は、COLUMN_SCALAR , COLUMN_VECTOR , COLUMN_INDEX のいずれか1つを含まなければいけません。他のフラグは省略可能です。

有効なフラグは以下の通りです。

フラグ 説明
COLUMN_SCALAR このカラムはスカラーカラムです。
COLUMN_VECTOR このカラムはベクターカラムです。
COLUMN_INDEX このカラムはインデックスカラムです。
WITH_WEIGHT このカラムは、重みを持つことができます。 COLUMN_VECTORCOLUMN_INDEX は重みを持てます。 COLUMN_SCALAR は、重みを持ちません。
WITH_SECTION

このカラムはセクション(段落)情報を持つことができます。 COLUMN_INDEX はセクション(段落)情報を持てます。 COLUMN_SCALARCOLUMN_VECTOR はセクション(段落)情報を持ちません。

マルチカラムインデックスはこのフラグを持ちます。

WITH_POSITION

このカラムは出現位置情報を持つことができます。 COLUMN_INDEX は出現位置情報を持てます。 COLUMN_SCALARCOLUMN_VECTOR は出現位置情報を持ちません。

全文検索インデックスはこのフラグを持つべきです。

PERSISTENT このカラムは永続カラムです。それは 擬似カラム ではないことを意味します。

DOMAIN

カラムを持っているテーブルの名前です。

RANGE

カラムの型名です。型名かテーブル名です。

SOURCES

インデックスのソースカラム名の配列です。インデックスカラムがマルチカラムインデックスの場合、配列は2つまたはそれ以上のソースカラム名を有します。

COLUMN_SCALARCOLUMN_VECTOR では常に空の配列です。

7.3.12.6. 参考