4.3. データ型

4.3.1. 名前

groonga データ型

4.3.2. 説明

groonga は、格納するデータの型を区別します。

groongaのデータベースでは、テーブルの主キーや、カラムの値はいずれも何らかの型に属します。また通常は、一つのテーブルの中の全てのレコードについて、カラムの値は共通となります。

主キーの型とカラムの型には、groongaで予め定義済みの型か、ユーザが定義する型、またはユーザが定義したテーブルを指定することができます。

主キーの型に他のテーブルを指定する場合は、そのテーブルは、主キーの型となるテーブルのサブセットとなります。

カラムの型に他のテーブルを指定する場合は、そのカラムは、カラムの型となるテーブルの参照キーとなります。

4.3.3. 組込型

以下の型が組込型としてあらかじめ定義されています。

Object

任意のテーブルに属する全てのレコード [1]

Bool

bool型。trueとfalse。

Int8

8bit符号付き整数。

UInt8

8bit符号なし整数。

Int16

16bit符号付き整数。

UInt16

16bit符号なし整数。

Int32

32bit符号付き整数。

UInt32

32bit符号なし整数。

Int64

64bit符号付き整数。

UInt64

64bit符号なし整数。

Float

ieee754形式の64bit浮動小数点数。

Time

1970年1月1日0時0分0秒からの経過マイクロ秒数を64bit符号付き整数で表現した値。

ShortText

4Kbyte以下の文字列。

Text

64Kbyte以下の文字列。

LongText

2Gbyte以下の文字列。

TokyoGeoPoint

日本測地系緯度経度座標。緯度と経度はミリ秒単位での整数。 “経度のミリ秒x緯度のミリ秒”という文字列表現を持つ。 度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。

WGS84GeoPoint

世界測地系緯度経度座標。緯度と経度はミリ秒単位での整数。 “経度のミリ秒x緯度のミリ秒”という文字列表現を持つ。 度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。

4.3.4. 型に関する制限事項

4.3.4.1. テーブルの主キーに指定できない型

Text型とLongText型については、テーブルの主キーに指定することはできません。

4.3.4.2. ベクトルとして格納できない型

groongaのカラムは、ある型のベクトルを保存することができます。しかし、ShortText, Text, LongTextの3つの型についてはベクトルとして保存することはできません。

テーブル型は、ベクトルとして格納することができます。よって、ShortTextのベクトルを保存したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。

脚注

[1]Object型はv1.2でサポートされます。