7.3.12. column_list¶
7.3.12.1. 概要¶
column_list コマンドはテーブルにあるカラムの一覧を返します。
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.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 ]
IDGroongaデータベースのカラムIDです。通常、それを気にする必要はありません。
NAMEカラム名。
PATHカラムのデータを保存しているパス。
TYPEカラムの型。次のうちのどれかです。
値
説明
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_VECTORとCOLUMN_INDEXは重みを持てます。COLUMN_SCALARは、重みを持ちません。
WITH_SECTIONこのカラムはセクション(段落)情報を持つことができます。
COLUMN_INDEXはセクション(段落)情報を持てます。COLUMN_SCALARとCOLUMN_VECTORはセクション(段落)情報を持ちません。マルチカラムインデックスはこのフラグを持ちます。
WITH_POSITIONこのカラムは出現位置情報を持つことができます。
COLUMN_INDEXは出現位置情報を持てます。COLUMN_SCALARとCOLUMN_VECTORは出現位置情報を持ちません。全文検索インデックスはこのフラグを持つべきです。
PERSISTENTこのカラムは永続カラムです。それは 擬似カラム ではないことを意味します。
DOMAINカラムを持っているテーブルの名前です。
RANGEカラムの型名です。型名かテーブル名です。
SOURCESインデックスのソースカラム名の配列です。インデックスカラムがマルチカラムインデックスの場合、配列は2つまたはそれ以上のソースカラム名を有します。
COLUMN_SCALARとCOLUMN_VECTORでは常に空の配列です。