.. -*- rst -*- .. highlightlang:: none データ型 ======== 名前 ---- groonga データ型 説明 ---- groonga は、格納するデータの型を区別します。 groongaのデータベースでは、テーブルの主キーや、カラムの値はいずれも何らかの型に属します。また通常は、一つのテーブルの中の全てのレコードについて、カラムの値は共通となります。 主キーの型とカラムの型には、groongaで予め定義済みの型か、ユーザが定義する型、またはユーザが定義したテーブルを指定することができます。 主キーの型に他のテーブルを指定する場合は、そのテーブルは、主キーの型となるテーブルのサブセットとなります。 カラムの型に他のテーブルを指定する場合は、そのカラムは、カラムの型となるテーブルの参照キーとなります。 組込型 ------ 以下の型が組込型としてあらかじめ定義されています。 ``Object`` 任意のテーブルに属する全てのレコード [#]_ ``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という計算式で変換した値を代入します。 型に関する制限事項 ------------------ テーブルの主キーに指定できない型 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Text型とLongText型については、テーブルの主キーに指定することはできません。 ベクトルとして格納できない型 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ groongaのカラムは、ある型のベクトルを保存することができます。しかし、ShortText, Text, LongTextの3つの型についてはベクトルとして保存することはできません。 テーブル型は、ベクトルとして格納することができます。よって、ShortTextのベクトルを保存したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。 .. rubric:: 脚注 .. [#] Object型はv1.2でサポートされます。