7.3.11. column_create

7.3.11.1. 概要

column_create - カラムの追加

Groonga組込コマンドの一つであるcolumn_createについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

column_createは、使用しているデータベースのテーブルに対してカラムを追加します。

7.3.11.2. 構文

column_create table name flags type [source]

7.3.11.3. 使い方

テーブルEntryに、ShortText型の値を格納するカラム、bodyを作成します。:

column_create Entry body --type ShortText
[true]

テーブルTermに、Entryテーブルのbodyカラムの値を対象とする完全転置インデックス型カラム、entry_bodyを作成します。:

column_create Term entry_body COLUMN_INDEX|WITH_POSITION Entry body
[true]

7.3.11.4. 引数

table

カラムを追加するテーブルの名前を指定します。

name

作成するカラムの名前を指定します。カラム名は、テーブルの中で一意でなければなりません。

ピリオド('.'), コロン(':')を含む名前のカラムは作成できません。また、アンダースコア('_')で始まる名前は予約済みであり、使用できません。

flags

カラムの属性を表す以下の数値か、パイプ('|')で組み合わせたシンボル名を指定します。

0, COLUMN_SCALAR
単一の値が格納できるカラムを作成します。
1, COLUMN_VECTOR
複数の値の配列を格納できるカラムを作成します。
2, COLUMN_INDEX
インデックス型のカラムを作成します。

カラムの値を圧縮するためのフラグが2つあります。ただしそれらのフラグを指定することは今のところできません。これはカラムの値を参照するときにメモリリークする問題 GitHub#6 があるためです。 この問題はzlib、lzoいずれでも発生します。

16, COMPRESS_ZLIB

zlibを使ってカラムの値を圧縮します。このフラグはGroongaを --with-zlib つきでビルドすると有効になります。

32, COMPRESS_LZO

lzoを使ってカラムの値を圧縮します。このフラグはGroongaを --with-lzo つきでビルドすると有効になります。

インデックス型のカラムについては、flagsの値に以下の値を加えることによって、追加の属 性を指定することができます。

128, WITH_SECTION
段落情報を格納するインデックスを作成します。
256, WITH_WEIGHT
ウェイト情報を格納するインデックスを作成します。
512, WITH_POSITION
位置情報を格納するインデックス(完全転置インデックス)を作成します。

type

値の型を指定します。Groongaの組込型か、同一データベースに定義済みのユーザ定義型、定義済みのテーブルを指定することができます。

source

インデックス型のカラムを作成した場合は、インデックス対象となるカラムをsource引数に指定します。

7.3.11.5. 戻り値

[HEADER, SUCCEEDED]

HEADER

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

SUCCEEDED

コマンドの実行が成功するとtrueを返します。失敗するとエラーとしてfalseを返します。