GridDB APIリファレンス
Table of Contents
1 はじめに
このマニュアルでは、分散大容量DB、GridDBプログラミングに必要となる、APIやクエリ言語の使用方法を説明します。
GridDBにおける管理操作や基本的なデータ取り出しには、JavaまたはC言語によるAPIを使用します。より複雑な条件を記述する場合は、専用のクエリ言語TQLを使用します。
※次の機能はStandard/Advanced Editionでのみ提供されます
- 空間データ型および空間索引
- 時系列コンテナデータ圧縮機能
2 概要
2.1 用語
主な用語を説明します。
- 
ノード
- GridDBでデータ管理を行う個々のサーバプロセスを指します。
 
- 
ロウ
- GridDBで管理する1件分のデータを指します。1つ以上の値を持つひとまとまりのデータです。
 
- 
コンテナ
- ロウの集合を管理する入れ物です。コレクションと時系列の2種類が存在します。
- ロウはカラムごとに1つのフィールドを持ちます。それぞれのフィールドは常に1つの値を持ちます。フィールドの値としてNULLを設定することができます。
- コンテナ名ならびにカラム名は、1文字以上のASCII英数字ならびにアンダースコア「_」の列で構成されます。ただし、先頭の文字には数字を指定できません。また、大文字・小文字は区別されません。
 
- 
コレクション
- ロウを管理するコンテナの一種です。ロウに対しキーを持たせることも、持たせないこともできます。キーとして使用できる型は単一の文字列(STRING)型、INTEGER型、LONG型、または時刻(TIMESTAMP)型です。キーにはNULLを設定できません。
 
- 
時系列
- 時刻(TIMESTAMP)型のキーを持つロウを管理するコンテナの一種です。時系列データを扱う専用の機能を持ちます。キーが時系列ロウの時刻に相当します。キーにはNULLを設定できません。
 
2.2 型
フィールドならびにクエリ演算で用いる値の制約を示す、型について定義します。
2.2.1 基本型
他の型の組み合わせで表現できない、基本的な型を定義します。
- ブール(BOOL)型 
 真または偽のいずれかの値を表します。
- 文字列(STRING)型 
 Unicodeコードポイントを文字とする、任意個数の文字の列より構成されます。ただし、NULL文字(U+0000)は扱いません。上限サイズについてはGridDBテクニカルリファレンスを参照してください。
- 整数型 
 それぞれ次の範囲の整数値を表します。- BYTE型: -27から27-1 (8ビット)
- SHORT型: -215から215-1 (16ビット)
- INTEGER型: -231から231-1 (32ビット)
- LONG型: -263から263-1 (64ビット)
 
- 浮動小数点数型 
 IEEE754で定められた浮動小数点数を表します。精度に応じた次の型があります。- FLOAT型: 単精度型(32ビット)
- DOUBLE型: 倍精度型(64ビット)
 ※演算精度は原則IEEE754準拠ですが、実行環境により異なる場合があります。 
- 時刻(TIMESTAMP)型 
 年月日ならびに時分秒からなる時刻を表します。表現範囲については付録の値の範囲を参照してください。
- 空間(GEOMETRY)型 
 空間構造を表します。上限サイズについてはGridDBテクニカルリファレンスを参照してください。各構造の表す座標の数値として非数(NAN)や正負の無限大(INF、-INF)は扱いません。 また、SRID (Spatial Reference System Identifier)を整数型の値として格納できますが、SRIDの表す座標系による座標の範囲制限や、SRIDの変換による座標変換については対応していません。
- BLOB型 
 画像や音声などのバイナリデータを表します。上限サイズについてはGridDBテクニカルリファレンスを参照してください。
2.2.2 複合型
基本型の組み合わせで構成される型を定義します。
- 配列型 
 値の列を表します。以下の型について配列型を提供します。長さとは、構成される配列要素の数であり、最小値は0となります。長さの上限についてはGridDBテクニカルリファレンスを参照してください。配列の要素にNULLは設定できません。 - ブール型
- 文字列型
- 整数型
- 浮動小数点数型
- 時刻型
 
3 TQL構文・演算機能
TQLでは、データの取り出し・削除・更新対象の選択のために必要となる、SQLのselect文相当のクエリをサポートします。選択したデータの操作、データ構造管理やトランザクション処理といった、選択操作以外の構文は扱いません。
3.1 基本構文
すべてのクエリは、次の構文により表現されます。
[EXPLAIN [ANALYZE]] SELECT (選択式) [FROM (コレクション・時系列名)] [WHERE (条件式)] [ORDER BY (ソート条件)] [LIMIT (数値) [OFFSET (数値)]]
SELECT構文は、FROM節で指定したコレクション・時系列の各ロウについて、WHERE節の条件式に従い絞り込み、その結果を対象カラムや集計方法などが指定された選択式に基づき加工することを要求します。
クエリ実行対象のコレクション・時系列がすでに確定している場合、FROM節を省略するか、対象と同じ名前をFROM節に指定する必要があります。ただし、大文字・小文字は区別されません。WHERE節を省略した場合、対象コレクション・時系列のすべてのロウが選択されます。
SELECT文の前にEXPLAINまたはEXPLAIN ANALYZEを付けた場合、SELECT文に対する実行プラン情報ならびに実行結果の解析情報を求めます。詳細は後述の節を参照してください。
なお、集計演算などを除き、SQLのように特定カラムだけを取り出すことはできません。また、次に相当する節は記述できません。
- GROUP BY
- HAVING
- DISTINCT
- FOR UPDATE※APIにて指定可能
- JOIN
これらの基本構文のキーワード、ならびに以降の節で定義する関数や演算子・列挙定数名については、ASCIIコードでの大文字部分を小文字のみで表記することもできます。
3.2 条件式構文・演算機能
WHERE節で使用される条件式の構文、ならびに、条件式で利用可能な演算子や関数を定義します。 演算子や関数にNULLが含まれる場合は特に記載がないかぎり、NULLを返します。
3.2.1 値
値は、クエリ内で一定のリテラル、または、評価中のロウにおける指定カラムのフィールドのいずれかにより表現します。
- リテラル値 
 次のいずれかのリテラル値を指定します。- 数値型: 10進数による文字列表現で記述します。浮動小数点数の表記はIEEE754に従います。なお、DOUBLE型の非数、正の無限大、負の無限大は、それぞれNAN、INF、-INFと表記します
- 文字列: シングルクォーテーションで囲んだ文字列を指定します。文字列を構成する文字の一つとしてシングルクォーテーションを表記するためには、シングルクォーテーションを二つ続けて記述します。それ以外の用途でシングルクォーテーションを記述することはできません
- NULL: NULLと記述します。
 
- フィールド値 
 評価中のロウが持つフィールド値を指定するには、対応するカラム名をそのまま記述するか、引用符「"」で囲んだカラム名を記述します。引用符で囲むことにより、「SELECT」や「WHERE」といったキーワードと同名のカラムについても扱うことができます。カラム名についての大文字・小文字表記の違いは区別されません。また、「.」などを用いてコレクション・時系列の名前と組み合わせることはできません。
3.2.2 演算子の優先順位
演算子は、次の優先順で評価されます。同順序の演算子同士の場合、記述した順序通りに評価されます。
- -(単項)
- *, /, %
- -(二項), +
- =, >=, >, <=, <, <>, LIKE, IS, IS NOT
- NOT
- AND
- OR, XOR
なお、式を「(」…「)」で囲むことで、上の演算子よりも優先して該当する式を評価します。
3.2.3 比較演算
- 型の制約 
 両辺の型の組み合わせは、ブール型同士、文字型同士、数値型同士、時刻型同士のいずれかのみです。数値型については、両辺の精度が異なる場合、より表現範囲の大きい型、もしくはより精度の高い型に変換されます。なお、ブール型同士、文字列型同士の場合、大小比較はできません。
- =, >=, >, <=, <, <> 
 それぞれ、等価、以上、大なり、以下、小なり、非等価の比較演算結果をブール型で求めます。但しいずれかの値がNULLの場合NULLを返します。 浮動小数点数の比較結果は基本的にはIEEE754に従いますが、NAN(非数)は他の全ての値より大きいと見なし、 NAN同士は等しいと評価します。
- IS, IS NOT 
 左辺の値がNULLと等価、非等価の比較演算結果をブール型で求めます。右辺はNULLでなければなりません。
3.2.4 論理演算
- NOT, AND, OR, XOR 
 それぞれ、否定、論理積、論理和、排他的論理和を示します。演算対象はブール値またはNULLでなければなりません。- NOT 
 TRUEならばFALSEを、FALSEならTRUEを、NULLならばNULLを返します。
- AND 
 両辺がTRUEならばTRUEを、いずれかがFALSEならFALSEを、それ以外はNULLを返します。
- OR 
 両辺がFALSEならばFALSEを、いずれかがTRUEならTRUEを、それ以外はNULLを返します。
- XOR 
 両辺がFALSEまたは両辺がTRUEならばFALSEを、いずれかがNULLならNULLを、それ以外はTRUEを返します。また、AND, ORの演算では短絡評価(または最小評価)を行います。すなわち、先に記述されている式で評価を確定できる場合、後に記述されている式の評価を行いません。 たとえば、 WHERE A=1 AND B=1 の場合、Aが1であれば、B=1を評価しますが、Aが1でない場合、B=1の評価は行いません。 
 
- NOT 
3.2.5 文字列演算
- CHAR_LENGTH(str) 
 文字列の長さを求めます。
- CONCAT(str1, str2, …) 
 指定の文字列を順に結合し、1つの文字列を生成します。入力にNULLが含まれる場合はNULLを無視して結合されます
- str LIKE pattern [ESCAPE esc] 
 検査対象の文字列全体が指定のパターンと一致するかどうかを判定します。判定の際、大文字・小文字を区別します。判定により一致した場合のみ真を返します。パターン指定では、次のワイルドカード文字を使用できます。 - %: 0文字以上の任意の文字列と一致
- _: 1文字の任意の文字と一致
 たとえば、次の式は「山田」「田中」「山田太郎」に対して真を返しますが、「小山田」に対しては偽を返します。 column LIKE '_田%' ワイルドカード文字は、パターン内の任意の位置に任意の回数だけ使用できます。 空文字列のパターンを指定した場合、常に偽を返します。 ワイルドカード文字そのものを検索する場合には、ESCAPE節を使ってエスケープ文字を指定します。 たとえば、以下の式は「10%」に対しては真を返しますが、「10$%」に対しては偽を返します。 column LIKE '10$%' ESCAPE '$' エスケープ文字の長さは常に1でなければなりません。 検査対象の文字列、パターン、エスケープには、カラム名もしくは文字列リテラルのみを指定できます。 
- SUBSTRING(str, start[, length]) 
 部分文字列を求めます。startには1から始まる文字位置、lengthには取り出す文字列の長さを示す0以上の値を指定します。lengthを省略した場合、指定start位置以降のすべての文字を含めます。start、lengthが範囲外の値を指す場合、空文字列を返します。ただし、startに0以下の値、lengthに0未満の値を指定することはできません。 
- UPPER(str), LOWER(str) 
 文字列中のASCII相当の英字について、それぞれ大文字または小文字に変換します。
3.2.6 数値演算
- +, -(単項), -(二項), *, /, % 
 算術演算を行います。それぞれ、加算、符号反転、減算、乗算、除算、剰余算を表します。ただし浮動小数点数に対する剰余算は行えません。 浮動小数点数において被除数が0以外の数で除数が0の場合は無限大、被除数と除数が共に0の場合は非数になります。 無限大や非数に関する演算はIEEE754に従います。
- ROUND(num)、FLOOR(num)、CEILING(num) 
 それぞれ、元の浮動小数点数に関して、小数の桁を四捨五入した整数値、より小きな整数値のうち最大のもの、より大きな整数値のうち最小のものを求めます。結果はDOUBLE型となります。 丸めの方向はそれぞれ、0から遠い方、負の無限大に近い方、正の無限大に近い方になります。 したがってnumが負の値の場合の計算結果は、numの絶対値abs(num)を用いると、-ROUND(abs(num))、-CEILING(abs(num))、-FLOOR(abs(num))と等しくなります。それぞれの計算例は以下の通りです。 値 ROUND FLOOR CEILING 1.34 1.0 1.0 2.0 3.67 4.0 3.0 4.0 -0.23 0.0 -1.0 -0.0 -3.89 -4.0 -4.0 -3.0 なお、+0.0、-0.0、整数、非数(NAN)、正負の無限大(INF、-INF)に対してこれらの操作を行っても値は変化しません。 
3.2.7 時刻型演算
- NOW() 
 現在時刻を返します。同一のクエリ実行単位内では、常に同一の結果を返します。
- TIMESTAMP(str) 
 時刻の文字列表現を時刻型に変換します。文字列表現として、西暦、UTCでの次の形式のみをサポートします。 YYYY-MM-DDThh:mm:ss.SSSZ 「.SSS」の部分は省略できます。 上の形式のうち、英字の部分は10進数表現の整数値で、それぞれ次の意味を示します。 - YYYY: 年に相当する。最低4桁
- MM: 月に相当する。常に2桁であり、1から12の範囲で指定する
- DD: 日に相当する。常に2桁であり、1から31の範囲で指定する。存在しない日を指定した場合、受け付けない。年や月によって異なる
- hh: 24時間表記での時間に相当する。常に2桁であり、0から23の範囲で指定する
- mm: 分に相当する。常に2桁であり、0から59の範囲で指定する
- ss: 秒に相当する。常に2桁であり、0から59の範囲で指定する
- SSS: ミリ秒に相当する。常に3桁であり、0から999の範囲で指定する
 表現範囲については付録の値の範囲を参照してください。 
- TIMESTAMPADD(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND|MILLISECOND, timestamp, duration) 
 指定の時刻に対し、指定した単位の特定の期間を加算します。期間には数値型の値を指定します。負の値の期間を指定した場合は、元の時刻より過去の時刻が求まります。現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。
- TIMESTAMPDIFF(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND|MILLISECOND, timestamp1, timestamp2) 
 2つの時刻の差について、指定した単位で結果を求めます。結果は数値型の値となります。現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。例) チケット一覧(tickets)の中から、有効期間が3日以上のチケットを選択する SELECT * FROM tickets WHERE TIMESTAMPDIFF(DAY, expired, issued) >= 3 
- TO_TIMESTAMP_MS(num) 
 時刻1970-01-01T00:00:00Zのnumミリ秒後に対応するTIMESTAMPへ変換します。numが浮動小数点数型の値の場合、エラーになります。また、負の値や極端に大きな値など、変換結果が時刻型で表せない場合はエラーになります。そのため、数値型カラムに対して本関数を用いたクエリを発行した場合、カラムの値に変換結果が時刻型で表せない値が含まれているとエラーになります。例えば、以下のクエリはnum=-1となるロウがコンテナ内にある場合エラーになります。SELECT * WHERE TO_TIMESTAMP_MS(num) > TIMESTAMP('2011-01-01T00:00:00Z')このような場合はTO_EPOCH_MS関数を用いて以下のようにして、数値型の値を変換した結果が時刻型の範囲となる値だけを評価するようにして回避してください。 SELECT * WHERE num < TO_EPOCH_MS(TIMESTAMP('9999-12-31T23:59:59.999Z')) AND num >= 0 AND TO_TIMESTAMP_MS(num) > TIMESTAMP('2011-01-01T00:00:00Z')
- TO_EPOCH_MS(timestamp) 
 timestampで指定した時刻型の値について、時刻1970-01-01T00:00:00Zからのミリ秒単位での経過時間を示すLONG型の値へ変換します。時刻型でない値が指定された場合はエラーになります。この関数はTO_TIMESTAMP_MS関数の逆変換です。
3.2.8 配列型演算
- ARRAY_LENGTH(array) 
 配列の長さを求めます。
- ELEMENT(n, array) 
 特定位置の配列要素を取り出します。長さ1以上の配列でなければなりません。 nには0から始まる要素位置を整数で指定します。 nが浮動小数点数や負の値の場合、nがarrayの長さより長い場合、またarrayの長さが0の場合はエラーになります。 そのため、コレクションに長さが異なる配列が格納されている場合、 以下のような配列要素を指定したクエリは配列要素が取得できない場合にエラーになる可能性があります。SELECT * FROM arrays WHERE ELEMENT(1, array) = 1 このようなクエリは以下のようにしてELEMENT関数が評価されるのを回避してください。 SELECT * FROM arrays WHERE ARRAY_LENGTH(array)>= 1 AND ELEMENT(1, array) = 1 
3.2.9 空間型演算
空間型データは、OpenGISなどGISの分野で広く用いられています。 TQLでは、2次元もしくは3次元の空間構造を扱い、生成関数ならびに判定関数を提供します。
- ST_GeomFromText(text) 
 WKT表現の文字列から空間型データを生成します。WKTとは、空間構造を文字列として表現するための規格です。 このうちTQLでは、次の構造のみをサポートします。 - POINT: 2次元または3次元座標により表現される点
- LINESTRING: 2つ以上の点により表現される、2次元または3次元空間上の直線の集合
- POLYGON: 直線の集合により表現される、2次元または3次元空間上の閉じた領域
- POLYHEDRALSURFACE: 指定した領域の集合により表現される、3次元空間上の領域
- QUADRATICSURFACE: 定義式f(X) = <AX, X> + BX + cにより表現される、3次元空間上の2次曲面
 ただし、座標を構成する数値として無限大もしくは非数を含めることはできません。 そのほか、サポート外の空間構造を与えることはできません。 2次元空間上の点(0, 0)、(10, 10)を対角線とする矩形の場合、次のように表記します。 POLYGON((0 0,10 0,10 10,0 10,0 0)) また、各種別の空間構造データ型について、空ジオメトリと呼ばれる、特定の空間範囲と対応しない値を表現できます。次の例のように、座標値の代わりに「EMPTY」と記述します。 LINESTRING(EMPTY) また、「;」の後ろに整数を記述することにより、SRIDを指定できます。 次の例では、矩形がSRID:4326の座標系にあることを示します。 POLYGON((0 0,10 0,10 10,0 10,0 0);4326) ただし、このSRIDの表す座標系による座標の範囲制限や、SRIDの変更による座標変換には対応していません。 SRIDを指定しない場合、無効なSRIDとして-1が設定されます。 
- ST_MakeRect(p1, p2) 
 2次元空間の点p1、p2を対角線とする矩形を生成します。p1, p2が同一の点の場合、またはp1, p2のx座標、y座標のいずれかが等しい場合は矩形を形成できないためエラーになります。
- ST_MakeRect(x1, y1, x2, y2) 
 2次元空間の点(x1, y1)、(x2, y2)を対角線とする矩形を生成します。x1がx2と等しい場合、もしくはy1がy2と等しい場合は矩形を形成できないためエラーになります。
- ST_MakeBox(p1, p2) 
 3次元空間の点p1、p2を対角線とする直方体を生成します。 p1, p2が同一の点の場合、またはp1, p2のx座標、y座標、z座標のいずれかが等しい場合は直方体を形成できないためエラーになります。
- ST_MakeBox(x1, y1, z1, x2, y2, z2) 
 3次元空間の点(x1, y1, z1)、(x2, y2, z2)を対角線とする直方体を生成します。 x1がx2と等しい場合、y1がy2と等しい場合、z1がz2と等しい場合は直方体を形成できないためエラーになります。
- ST_MakePlane(p0x, p0y, p0z, vx, vy, vz) 
 3次元空間の点p0、法線ベクトルvから平面を作成します。 vの長さが0の場合、未定義の平面を作成します。この未定義の平面はどのような空間構造とも交差しません。
- ST_MakeCone(p0x, p0y, p0z, vx, vy, vz, deg) 
 3次元空間の点p0、軸のベクトルv、軸と母線の角度degから円錐を作成します。 角度degの単位は度です。vの長さが0の場合、エラーになります。 degが0~90の範囲にない場合でも、degの360で割った余りを用いて、軸の逆ベクトルを考慮して円錐を作成します。
- ST_MakeSphere(p0x, p0y, p0z, r) 
 3次元空間の点p0と半径rから球を生成します。 rが0または負の値の場合、エラーになります。
- ST_MakeCylinder(p0x, p0y, p0z, vx, vy, vz, r) 
 3次元空間の点p0、軸のベクトルv、半径rから円柱を生成します。 vの長さが0の場合はエラーになります。 rが0の場合は直線になります。rが負の値の場合は、-rを指定した場合と同一です。
- ST_MakeQSF(A00, A01, A02, A10, A11, A12, A20, A21, A22, B0, B1, B2, c) 
 定義式f(X) = <AX, X> + BX + cで表現される、3次元空間上の2次曲面を生成します。 定義式が2次曲面として成立しているかどうかは判定しません。
- ST_MBRIntersects(g1, g2) 
 双方の空間範囲の外接直方体(Minimum Bounding Box)が交差するかどうかを判定します。 交差する場合のみ、真を返します。 「交差する」とは「2つの領域に共通する領域がある」ことを意味します。g1、g2のいずれについても、2次曲面(QUADRATICSURFACE)は指定できません。 また、POLYHEDRALSURFACEについて、直方体以外の形状、互いに辺を共有しないPOLYGONの組み合わせ、もしくは空間構造として閉じていない形状を指定した場合、結果は未定義となります。 一方がx、y座標からなる2次元空間構造、他方がx、y、z座標からなる3次元空間構造の場合、z座標を除いたx、y座標のみを判定対象とします。 たとえば、POINT(x0 y0)とLINESTRING(x1 y1 z1, x2 y2 z2)についての交差判定の結果は、x1 <= x0 <= x2かつy1 <= y0 <= y2が成立する場合のみ真となります。 一方または双方が空ジオメトリの場合、偽を返します。 外接直方体は、構造の種類に応じて以下のように定義されます。 - POINT: 全ての頂点が同一であり、各辺の長さが0の直方体。構造が2次元の場合、直方体のz座標の範囲は(-∞,∞)として扱います。
- LINESTRING、POLYGON、POLYHEDRALSURFACE: 構造を構成する点のx、y、z座標の最小値と最大値で構成される直方体。構造が2次元の場合、直方体のz座標の範囲は(-∞,∞)として扱います。
 例) カラムgeom上の空間型データと指定の矩形範囲とが交差するようなロウを選択する SELECT * WHERE ST_MBRIntersects(geom, ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))'))
- ST_QSFMBRIntersects(q, g) 
 2次曲面qと、2次曲面以外の空間構造gの外接直方体とが交差するかどうかを判定します。交差する場合のみ、真を返します。 qに2次曲面以外、gに2次曲面を与えることはできません。 また、gに2次元空間構造を与えることはできません。 そのほかの交差判定の条件は、ST_MBRIntersectsと同様です。
- ST_GetSrId(g) 
 空間構造gのSRIDを取得します。gがSRIDを持たない場合、無効なSRID (-1)が返ります。
3.3 選択式
3.3.1 基本構文
対象カラムや集計方法などを記述する、選択式の構文を定義します。処理対象となるロウは、FROM節、WHERE節の条件に合致したものに限定されます。
- *(アスタリスク) 
 条件に合致したすべてのロウをそのまま選択します。ORDER BY節(後述)を指定することでカラムの値によって並べ替えることができます。
- (演算関数) 
 後述の演算関数のうちいずれか1つの関数により、集計・選択などの演算を行います。演算の内部処理にてオーバーフローが発生した場合、浮動小数点数型では負または正の無限大、整数型では未定義の値が求まります。また、浮動小数点数型にて演算対象に非数(NAN)が含まれていた場合、非数が求まります。 
3.3.2 集計演算 ― 一般
任意のロウ集合に対して、集計演算を行います。
集計対象となるロウが1つも存在しない場合、COUNT関数を除き結果件数は0件となります。それ以外の場合、結果件数は1件となります。 集計演算では特に記載がないかぎり、指定したカラムの値がNULLの場合は評価対象から外れます。
- MAX(column) 
 指定カラムの値の最大値を求めます。数値型または時刻型のカラムのみ指定できます。演算結果の型は、指定カラムと同一の型となります。
- MIN(column) 
 指定カラムの値の最小値を求めます。数値型または時刻型のカラムのみ指定できます。演算結果の型は、指定カラムと同一の型となります。
- COUNT(*) 
 集計対象のロウの個数を求めます。カラムは指定できません。演算結果の型は常にLONGとなります。対象となるロウが1つも存在しない場合、演算結果の値は0となります。 COUNT(*)はNULLを含むロウも評価対象になります。
- SUM(column) 
 指定のカラムの値の合計値を求めます。数値型のカラムのみ指定できます。演算結果の型は、対象のカラムが整数型の場合LONG、浮動小数点型の場合DOUBLEとなります。
- AVG(column) 
 指定のカラムの値の平均を求めます。数値型のカラムのみ指定できます。演算結果の型は常にDOUBLEとなります。
- VARIANCE(column) 
 指定のカラムの値の分散値を求めます。数値型のカラムのみ指定できます。演算結果の型は常にDOUBLEとなります。
- STDDEV(column) 
 指定のカラムの値の標準偏差を求めます。数値型のカラムのみ指定できます。演算結果の型は常にDOUBLEとなります。
3.3.3 集計演算 ― 時系列
時系列のロウ集合に対して、集計演算を行います。
ロウの時刻に基づき重み付けを行う集計演算では、条件に合致した各ロウについて、前後それぞれの時刻のロウとの中間時刻間の期間を特定の単位で換算したものを、重み付け値として使用します。ただし、前後いずれかの時刻のロウのみが存在しない場合は、存在しないロウの代わりに重み付け対象のロウを用いて求めた重み付け値を使用します。前後いずれの時刻のロウも存在しない場合は、重み付け値として1(単位は前後いずれかのロウが存在する場合と同一)を使用します。 集計演算では特に記載がないかぎり、指定したカラムの値がNULLの場合は評価対象から外れます。
- TIME_AVG(column) 
 指定のカラムの値について、ロウの時刻に基づく重み付き平均を求めます。演算結果の型は常にDOUBLEとなります。各標本値と重み付け値との積の合計を、各重み付け値の合計で割ることにより求めます。数値型のカラムのみ指定できます。重み付け値の計算方法は、前節の通りです。 例) プラント1、ポイント103における、2011年7月の平均電圧について、時刻による重み付きで求める SELECT TIME_AVG(voltage103) FROM plant1 WHERE TIMESTAMP('2011-07-01T00:00:00Z') <= timestamp AND timestamp < TIMESTAMP('2011-08-01T00:00:00Z')ここで、次のような時系列の場合の、重み付き平均値の計算手順の一例を紹介します。 キー(2011年7月1日0時0分の秒の位) 集計対象カラム 0秒 4 10秒 3 20秒 2 40秒 1 この時系列を次の表のように拡張し、左の列から順に、前後時刻のロウとの中間時刻、重み付け値、標本値(カラムの値)と重みとの積を順に求めます。 キー 集計対象カラム 中間時刻(秒の位) 中間時刻(前)との差 中間時刻(後)との差 重み付け値 標本値と重みとの積 0秒 4 - - 5 (=5-0) 5 20 (=4*5) (中間) - 5秒(=(0+10)/2) - - - - 10秒 3 - 5 (=10-5) 5 (=15-10) 10 (=5+5) 30 (=3*10) (中間) - 15秒(=(10+20)/2) - - - - 20秒 2 - 5 (=20-15) 10 (=30-20) 15 (=5+10) 30 (=2*15) (中間) - 30秒(=(20+40)/2) - - - - 40秒 1 - 10 (=40-30) - 10 10 (=1*10) 最後に、標本値と重みとの積、重み付け値をそれぞれ合計し、商を求めます。この時系列の場合、(20+30+30+10)/(5+10+15+10)=90/40=2.25となります。以上の手順は、必ずしもGridDB内部の演算手順と同一であるとは限りません。 なお、通常の重みなし平均値の場合、(4+3+2+1)/4=10/4=2.5となります。 
3.3.4 時系列データ選択・補間演算
- TIME_NEXT(*, timestamp) 
 指定の時刻と同一またはその直後の時刻を持つ1つの時系列ロウを選択します。例) プラント1における、2011年7月初めの時点の温度を求める SELECT TIME_NEXT(*, TIMESTAMP('2011-07-01T00:00:00Z')) FROM plant1
- TIME_NEXT_ONLY(*, timestamp) 
 指定の時刻の直後の時刻を持つ1つの時系列ロウを選択します。
- TIME_PREV(*, timestamp) 
 指定の時刻と同一またはその直前の時刻を持つ1つの時系列ロウを選択します。
- TIME_PREV_ONLY(*, timestamp) 
 指定の時刻の直前の時刻を持つ1つの時系列ロウを選択します。
- TIME_INTERPOLATED(column, timestamp) 
 指定の時刻に関して、一致する時系列ロウの指定のカラムの値、もしくは、前後時刻のロウの指定カラムの値を線形補間して得られた値を求めます。前後時刻のロウの指定カラムのいずれか一方がNULLの場合はNULLが設定されます。 前後時刻のロウの少なくともいずれか、もしくは、一致するロウが存在しない場合、目的のロウは生成されず、結果件数は0件となります。数値型のカラムのみ指定できます。指定のカラムならびにキー以外のフィールドには、指定時刻と同一またはより前の時刻のロウのうち、最も新しい時刻を持つロウのフィールドの値が設定されます。
- TIME_SAMPLING(*|column, timestamp_start, timestamp_end, interval, DAY|HOUR|MINUTE|SECOND|MILLISECOND) 
 開始・終了時刻を指定して、特定範囲のロウ集合をサンプリングします。サンプリング位置の時刻は、開始時刻に対し非負整数倍のサンプリング間隔を加えた時刻のうち、終了時刻と同じかそれ以前のもののみです。 各サンプリング位置の時刻と一致するロウが存在する場合は該当ロウの値を使用します。存在しない場合は補間された値を使用します。補間対象のロウフィールドのうち指定のカラムのものは、サンプリング時刻の前後時刻のロウの値より線形補間して求めた値を使用します。前後時刻のロウの指定カラムのいずれか一方がNULLの場合はNULLが設定されます。それ以外のフィールドには、対象地点の時刻より前の時刻のロウのうち、最も新しい時刻を持つロウの値を補間値として使用します。線形補間対象のカラムの型は、すべて数値型でなければなりません。カラムを具体的に指定せず、「*」を指定した場合、すべてのフィールドについて後者の補間方法により値を求めます。 補間のために参照する必要のあるロウが存在しない場合、該当するサンプリング時刻のロウは生成されず、該当箇所の数だけ結果件数が減少します。サンプリング間隔をより短く設定すると、線形補間対象外のカラムについては、異なるサンプリング時刻であっても同一のロウの内容が使用される可能性が高まります。サンプリング間隔に対応する引数intervalには正の値のみ指定できます。 例) プラント1、ポイント103における、2011年7月1日の毎時ごとの電圧を求める SELECT TIME_SAMPLING( voltage103, TIMESTAMP('2011-07-01T00:00:00Z'), TIMESTAMP('2011-07-02T00:00:00Z'), 1, HOUR) FROM plant1また、このサンプリング結果についてORDER BY節(後述)を記述してカラム順に並べ替えることができます。 例) プラント1、ポイント103における、2011年7月1日の毎時ごとの電圧を求め、電圧順に並び替える SELECT TIME_SAMPLING( voltage103, TIMESTAMP('2011-07-01T00:00:00Z'), TIMESTAMP('2011-07-02T00:00:00Z'), 1, HOUR) FROM plant1 ORDER BY voltage103
3.3.5 最大値・最小値のロウ集合選択演算
任意のロウ集合に対して、指定カラムの値で最大値もしくは最小値をもつロウ集合を返します。 集計演算では特に記載がないかぎり、指定したカラムの値がNULLの場合は評価対象から外れます。
- MAX_ROWS(column) 
 指定カラムの値で最大値をもつロウ集合を求めます。数値型または時刻型のカラムのみ指定できます。
- MIN_ROWS(column) 
 指定カラムの値で最小値をもつロウ集合を求めます。数値型または時刻型のカラムのみ指定できます。
3.4 検索結果の並び替え(ORDER BY)
ORDER BY節を記述することで、検索結果の並び替えの順序を指定することができます。 ORDER BY節の記述は以下のように定義されます。
ORDER BY (カラム名) [ASC|DESC] [, (カラム名) [ASC|DESC]]*
ただし'*'は前要素の0回以上の繰り返しとします。
ASCは昇順指定を表しており、DESCは降順指定を表します。指定を省略すると昇順を指定したものとみなします。 複数ソート条件が記述された場合、先頭の条件から順に優先されます。 NULLは最も大きな値としてソートされます。
例) aの降順を第一ソート条件、bの昇順を第二ソート条件, cの昇順を第三ソート条件として検索する
SELECT * ORDER BY a DESC, b ASC, c
SQLとは異なり、ソート条件に計算式や関数を指定することはできません。
3.5 検索結果の取得件数、相対位置指定(LIMIT, OFFSET)
LIMIT節を記述することで、検索結果の取得個数を制限できます。 また、OFFSETを指定することで、検索結果の取得の開始位置を指定できます。 LIMIT, OFFSET指定の文法は以下の通り定義されます。
LIMIT (数値) [OFFSET (数値)]
OFFSETは必ずLIMITと共に使用されます。省略するとOFFSET 0と同義です。 LIMIT, OFFSETの数値に負の値や浮動小数点数を指定することはできません。
LIMIT, OFFSETの数値に計算式や関数を指定することはできません。
3.6 実行プラン情報の取得・実行結果の解析
SELECT文の前にEXPLAINまたはEXPLAIN ANALYZEを付けることで、実行プラン情報ならびに実行結果の解析情報が求まります。
取得結果は、ロウと同様の構造からなる、次のエントリの列により構成されます。
| 名称 | 型 | 説明 | 
|---|---|---|
| ID | INTEGER型 | 一連のエントリ列における、このエントリの位置を示すIDです。 | 
| DEPTH | INTEGER型 | 他のエントリとの関係を表すための、深さを表します。このエントリより小さな値のIDを順にたどり、このエントリの深さより1だけ浅いエントリが存在した場合、このエントリは、該当するエントリの内容をより詳しく説明するためのものであることを意味します。 | 
| TYPE | 文字列型 | このエントリが示す情報の種別を表します。実行時間といった解析結果の種別、クエリプランの構成要素の種別などを表します。 | 
| VALUE_TYPE | 文字列型 | このエントリが示す情報に対応付けられた値の型を表します。実行時間といった解析結果などに対応する値の型を返します。型の名称は、TQLで定義された基本型のものと同一です。値が対応づけられていない場合は空文字列が設定されます。 | 
| VALUE | 文字列型 | このエントリが示す情報に対応付けられた値の文字列表現を表します。値が対応づけられていない場合は空文字列が設定されます。 | 
| STATEMENT | 文字列型 | このエントリが示す情報に対応するTQL文の一部を返します。対応関係を持たない場合は空文字列が設定されます。 | 
3.6.1 EXPLAIN
後続のSELECT文に関する実行プラン情報を求めます。SELECT文自体は実行しません。
同一のクエリ文であっても、索引設定などにより結果が異なる場合があります。
3.6.2 EXPLAIN ANALYZE
後続のSELECT文に関する実行プラン情報を取得するとともに、SELECT文を実行し、実行時間などの解析情報を求めます。
4 トリガ機能
トリガが設定されたコンテナに対して更新操作(ロウの登録/更新、削除)がなされた時、Java Messaging Service(JMS)またはRESTを用いて通知を行なうことができます。 前者をJMS通知、後者をREST通知と呼びます。
4.1 機能概要
- 
API操作
- APIで操作できる機能は、トリガ設定、トリガ解除、トリガ情報取得の3つです。
 
- 
通知タイミング
- ロウの新規作成または更新、削除が行われたタイミングで通知を行ないます。
- レプリケーション完了までは待ちません。また、自動コミットモードでない場合は、未コミットの状態で通知を行ないます。
 
- 
通知内容
- コンテナ名、操作の種類(ロウの新規作成または更新、削除)、を通知します。
- 通知対象カラムの指定がある場合、操作が行われたロウの指定されたカラムの値も併せて通知します。
 
- 
エラー発生時の処理
- 通知時にエラーが発生した場合はイベントログにエラー情報を記録します。再送は行いません。
 
- 
その他
- 複数のロウを一括して新規作成・更新する操作を行った場合、個別のロウ単位で通知を行ないます。この操作は、Java APIの場合Container#put(java.util.Collection)もしくはGridStore#multiPut(Map)の呼び出しに相当します。
- トリガが設定されたコンテナのスキーマを変更した場合、トリガは変更後のコンテナに引き継がれますが、変更後のスキーマに含まれないカラムは通知対象カラム名集合から自動的に削除されます。
- 同一のコンテナに対しJMS通知とREST通知の両方を設定することは可能ですが、トリガ名は別にする必要があります。
 
4.2 API概要
- 
トリガ設定
- void Container#createTrigger(TriggerInfo info)
- コンテナにトリガを設定します。
- JMS通知・REST通知共通の設定内容として、トリガ名、通知方法、監視対象操作(ロウの新規作成または更新、削除)、通知対象カラム、通知先URI、があります。また、JMS通知だけの設定内容として、ディスティネーション名、ユーザ名、パスワード、があります。これらの情報はTriggerInfoオブジェクト経由で設定します。
- トリガ名はコンテナごとにユニークでなければなりません。
- 既に設定済のトリガ名を指定して設定した場合、設定内容を上書きします。
- トリガ設定時に通知先URI、デスティネーション名、ユーザ名、パスワードの有効性は確認しません。
- 
JMS通知について
- ユーザ名、パスワードが未設定の場合はユーザ名、パスワードを使用せずに接続を行ないます。
- 
通知モードはSession#AUTO_ACKNOWLEDGE、配信モードはDeliveryMode#PERSISTENTとします。
JMS通知 REST通知 トリガ名 ○ ○ 通知方法 ○ ○ 監視対象更新操作 ○ ○ 通知対象カラム ○ ○ 通知先URL ○ ○ デスティネーション種別 ○ × デスティネーション名 ○ × ユーザ名 ○ × パスワード ○ × 
 
 
- 
トリガ解除
- void Container#dropTrigger(String name)
- コンテナに設定されていたトリガを解除します。
 
- 
トリガ情報取得
- List<TriggerInfo> ContainerInfo#getTriggerInfoList()
- トリガの設定情報を取得します。Containerオブジェクトに対してgetContainerInfo()を実行して得られるContainerInfoオブジェクトを用います。
 
4.3 メッセージフォーマット
- 
JMS通知
- 
送信側
- プロパティにコンテナ名、更新操作の種類、ロウデータを設定します。ボディには何も設定されません。
 
- 
受信側
- メッセージの種類、ロウデータのスキーマを知っていることを前提とします。
- JMSのTextMessageを使用して通知内容を取得します。プロパティ名の一覧はTextMessage#getPropetyNames()で得られます。
- 
コンテナ名
- プロパティ名は@containerです。ロウデータのカラム名と重複しないように先頭に@を付けます。
- TextMessage#getStringProperty()で取得します。例: getStringProperty("@container")
 
- 
更新操作の種類
- プロパティ名は@eventです。ロウデータのカラム名と重複しないように先頭に@を付けます。更新操作の種類は"put"・"delete"の2種類です。
- TextMessage#getStringProperty()で取得します。例: getStringProperty("@event")
 
- 
ロウデータ
- ブール型、整数型、浮動小数点型は型に対応するTextMessage#getXXXProperty()で取得します。例: FLOAT型はgetFloatProperty("カラム名")
- 時刻型は送信側で時刻1970-01-01T00:00:00Zからの経過時間(LONG型)に変換した値を設定します。そのため、受信側ではTextMessage#getLongProperty()で取得した値を時刻型に戻してください。
- 空間型・BLOB型・配列型は、TextMessage#getStringProperty()で取得します。送信側で空文字列を設定するため、必ず空文字列となります。
 
 
 
- 
送信側
- 
REST通知
- 
送信側
- 以下のJSON文字列をHTTPリクエストのボディに設定してPOSTします。
- "row"の値は指定された通知対象カラムのみを設定します。指定がない場合は"row"自体を設定しません。
- 
"row"の各カラムの値は以下の値とします。
- ブール型: "true"(真)もしくは"false"(偽)
- 整数型・時刻型: 整数
- 浮動小数点型: 浮動小数点
- 文字列型: 文字列
- 空間型・BLOB型・配列型: 空文字列
 
- 通知対象カラムの値がNULLの場合は"row"自体を設定しません。
 
 
- 
送信側
※JSON文字列
{
  "container":"(コンテナ名)",
  "event":"(更新操作の種類)",
  "row":{
    "(カラム名0)":"(カラム名0の値)",
    "(カラム名1)":"(カラム名1の値)",
    "(カラム名2)":"(カラム名2の値)",
    ...
  }
}
4.4 注意事項
- 
トリガ設定と更新性能に関する注意
- トリガが発火するコンテナ数、及び発火するトリガ数に応じて更新性能が低下します。トリガが必要なコンテナだけに最小限のトリガ付与を行うようにしてください。
 
- 
トリガ通知先サーバの処理性能に関する注意
- GridDBの更新処理のスループットに比べて通知先サーバのスループットが極端に低い場合、トリガ処理に失敗しイベントログにエラーメッセージが記録されることがあります。トリガ設定されているコンテナを高頻度で更新する場合、通知先サーバの性能も確認、調整してください。
 
5 API (Java)
5.1 API一覧(Java)
- 
Interface Summary Interface Description AggregationResult 集計演算の結果を保持します。Collection<K,R> ロウ集合を汎用的に管理するためのコンテナです。Container<K,R> 同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。GridStore 接続したGridDBシステム内のデータベースに属するデータを操作するための機能を提供します。PartitionController パーティション状態の取得や操作のためのコントローラです。Query<R> 特定のContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。Row 任意のスキーマについて汎用的にフィールド操作できるロウです。RowSet<R> クエリ実行より求めたロウの集合を管理します。TimeSeries<R> 時刻をロウキーとする、時系列処理に特化したコンテナです。
- 
Class Summary Class Description ColumnInfo カラムのスキーマに関する情報を表します。ContainerInfo 特定のコンテナに関する情報を表します。Geometry 2次元、もしくは3次元の空間範囲を示すジオメトリデータを管理します。GridStoreFactory GridStoreインスタンスを管理します。IndexInfo 索引の設定内容を表します。QueryAnalysisEntry クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。RowKeyPredicate<K> ロウキーの合致条件を表します。TimeSeriesProperties 時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。TimestampUtils 時刻データを操作するためのユーティリティ機能を提供します。TriggerInfo コンテナの更新を監視するためのトリガ情報を表します。
- 
Enum Summary Enum Description Aggregation ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。CompressionMethod 圧縮方式の種別を表します。ContainerType コンテナの種別を表します。FetchOption クエリ実行結果を取得する際のオプション項目です。GeometryOperator 空間範囲同士の関係性についての制約を定義します。GSType GridDB上のフィールド値の型を表します。IndexType Containerに設定する索引の種別を示します。InterpolationMode ロウの補間方法の種別を表します。QueryOrder クエリにおける要求ロウ順序を表します。TimeOperator TimeSeriesのキー時刻に基づく、ロウの特定方法を表します。TimeUnit 時系列処理で用いる時間の単位を示します。TriggerInfo.EventType トリガで監視対象とする更新操作種別を表します。TriggerInfo.Type トリガの種別を表します。
- 
Exception Summary Exception Description GSException GridDB機能の処理中に発生した例外状態を示します。GSTimeoutException 要求した処理が既定の時間内に終了しなかったことを示す例外です。
- 
Annotation Types Summary Annotation Type Description NotNull NOT NULL制約を持つカラムであることを示します。Nullable NOT NULL制約を持たないカラムであることを示します。RowField Containerの処理におけるマッピング対象のロウフィールドについて、オプションを設定します。RowKey Containerのキーと対応することを示します。TransientRowField Containerの処理において、マッピング対象外のロウフィールドであることを宣言します。
Package com.toshiba.mwcloud.gs Description
- java.lang.Object
- 
- java.lang.Enum<Aggregation>
- 
- com.toshiba.mwcloud.gs.Aggregation
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<Aggregation>
 
 
 public enum Aggregation extends java.lang.Enum<Aggregation> ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。現バージョンでは、 TimeSeriesに対してのみ使用できます。重み付きの演算の場合、キーの値に基づき重み付け値を決定します。 TimeSeriesに対する重み付きの演算の場合、前後それぞれの時刻のロウとの中間時刻間の期間を特定の単位で換算したものを、重み付け値として使用します。ただし、前後いずれかの時刻のロウのみが存在しない場合は、存在しないロウの代わりに重み付け対象のロウを用いて求めた重み付け値を使用します。前後いずれの時刻のロウも存在しない場合は、重み付け値として1(単位は前後いずれかのロウが存在する場合と同一)を使用します。演算の内部処理にてオーバーフローが発生した場合、浮動小数点数型では負または正の無限大、整数型では未定義の値が求まります。また、浮動小数点数型にて演算対象に非数(NaN)が含まれていた場合、非数が求まります。 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description AVERAGE平均を求める演算です。COUNT標本数、すなわち対象ロウの個数を求める演算です。MAXIMUM最大値を求める演算です。MINIMUM最小値を求める演算です。STANDARD_DEVIATION標準偏差を求める演算です。TOTAL合計を求める演算です。VARIANCE分散を求める演算です。WEIGHTED_AVERAGE重み付きで平均を求める演算です。
 - 
Method SummaryMethods Modifier and Type Method and Description static AggregationvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static Aggregation[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
AVERAGEpublic static final Aggregation AVERAGE 平均を求める演算です。数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 - 
COUNTpublic static final Aggregation COUNT 標本数、すなわち対象ロウの個数を求める演算です。任意のカラムに対して使用できます。演算結果の型は常にLONGとなります。対象となるロウが1つも存在しない場合、演算結果の値は 0となります。
 - 
MAXIMUMpublic static final Aggregation MAXIMUM 最大値を求める演算です。大小比較できる型、すなわち数値型や時刻型のカラムに対してのみ使用できます。演算結果の型は、対象のカラムと同一の型となります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 - 
MINIMUMpublic static final Aggregation MINIMUM 最小値を求める演算です。大小比較できる型、すなわち数値型や時刻型のカラムに対してのみ使用できます。演算結果の型は、対象のカラムと同一の型となります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 - 
STANDARD_DEVIATIONpublic static final Aggregation STANDARD_DEVIATION 標準偏差を求める演算です。数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 - 
TOTALpublic static final Aggregation TOTAL 合計を求める演算です。数値型のカラムに対してのみ使用できます。演算結果の型は、対象のカラムが整数型の場合LONG、浮動小数点型の場合DOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 - 
VARIANCEpublic static final Aggregation VARIANCE 分散を求める演算です。数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 - 
WEIGHTED_AVERAGEpublic static final Aggregation WEIGHTED_AVERAGE 重み付きで平均を求める演算です。各標本値と重み付け値との積の合計を、各重み付け値の合計で割ることにより求めます。重み付け値の計算方法は、 Aggregationの説明を参照してください。この演算は、数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。 
 
- 
 - 
Method Detail- 
valueOfpublic static Aggregation valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static Aggregation[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Aggregation c : Aggregation.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- 
 
 public interface AggregationResult集計演算の結果を保持します。集計演算に関するクエリの実行もしくは TimeSeries.aggregate(Date, Date, String, Aggregation)により取得できる、集計演算の結果を保持します。整数型カラムに対する演算結果を浮動小数点型として、また、有効桁数の少ない数値型のカラムに対する演算結果をより桁数の多い数値型として受け取ることができます。保持する型は、集計演算の種別や集計対象のカラムの型によって決定されます。具体的な規則は AggregationまたはTQLの仕様を参照してください。取り出しできる型は、保持されている型によって決まります。保持されている型が数値型の場合はDOUBLE型またはLONG型、TIMESTAMP型の場合はTIMESTAMP型の値としてのみ取り出しできます。 
- 
- 
Method SummaryMethods Modifier and Type Method and Description java.lang.DoublegetDouble()数値型の集計値をDOUBLE型(Double)として取得します。java.lang.LonggetLong()数値型の集計値をLONG型(Long)として取得します。java.util.DategetTimestamp()時刻型の集計値をTIMESTAMP型(Date)で取得します。
 
- 
- 
- 
Method Detail- 
getDoublejava.lang.Double getDouble() 数値型の集計値をDOUBLE型(Double)として取得します。数値型以外の値を保持している場合、 nullを返します。 DOUBLE型以外の数値を保持している場合、DOUBLE型に変換したものを返します。- Returns:
- DOUBLE型(Double)の集計値。結果が数値型以外の場合はnull
 
 - 
getLongjava.lang.Long getLong() 数値型の集計値をLONG型(Long)として取得します。数値型以外の値を保持している場合、 nullを返します。 LONG型以外の数値を保持している場合、LONG型に変換したものを返します。- Returns:
- LONG型(Double)の集計値。結果が数値型以外の場合はnull
 
 - 
getTimestampjava.util.Date getTimestamp() 時刻型の集計値をTIMESTAMP型(Date)で取得します。TIMESTAMP型以外の値を保持している場合、 nullを返します。- Returns:
- TIMESTAMP型(Date)の集計値。結果がTIMESTAMP型以外の場合はnull
 
 
- 
 
- 
- 
- All Superinterfaces:
- java.lang.AutoCloseable, java.io.Closeable, Container<K,R>
 
 
 public interface Collection<K,R> extends Container<K,R> ロウ集合を汎用的に管理するためのコンテナです。ロウキーには次の型が使用できます。 - 文字列型(String)
- INTEGER型(Integer)
- LONG型(Long)
- TIMESTAMP型(Date)
 ロウキーの設定は必須ではありません。 ロウ操作について、コンテナ固有の制限は設けられていません。 Container.query(String)もしくはGridStore.multiGet(java.util.Map)などより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序は不定となります。ロック粒度はロウ単位です。 
- 
- 
Method SummaryMethods Modifier and Type Method and Description Query<R>query(java.lang.String column, Geometry geometryIntersection, Geometry geometryDisjoint)除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。Query<R>query(java.lang.String column, Geometry geometry, GeometryOperator geometryOp)指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。- 
Methods inherited from interface com.toshiba.mwcloud.gs.Containerabort, close, commit, createBlob, createIndex, createIndex, createIndex, createRow, createTrigger, dropIndex, dropIndex, dropIndex, dropTrigger, flush, get, get, getType, put, put, put, query, query, remove, setAutoCommit
 
- 
 
- 
- 
- 
Method Detail- 
queryQuery<R> query(java.lang.String column, Geometry geometryIntersection, Geometry geometryDisjoint) throws GSException 除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。geometryIntersectionと交差し、かつ、geometryDisjointと交差しないカラム値を持つロウ集合を取得します。交差判定の条件は、GeometryOperator.INTERSECTと同一です。Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。現バージョンでは、 GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。カラム名の誤りなどがあった場合、得られたクエリをフェッチする際に例外が送出されます。- Parameters:
- column- 比較対象の空間型カラムの名前。- nullは指定できない
- geometryIntersection- カラム上の値と交差する範囲を示す空間構造。- nullは指定できない
- geometryDisjoint- カラム上の値と交差しない範囲を示す空間構造。- nullは指定できない
- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
queryQuery<R> query(java.lang.String column, Geometry geometry, GeometryOperator geometryOp) throws GSException 指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。現バージョンでは、 GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。カラム名の誤りなどがあった場合、得られたクエリをフェッチする際に例外が送出されます。- Parameters:
- column- 比較対象の空間型カラムの名前。- nullは指定できない
- geometry- 比較対象として与える空間構造。- nullは指定できない
- geometryOp- 比較方法。- nullは指定できない
- Throws:
- GSException- 現バージョンでは送出されない
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.ColumnInfo
 
- 
 
 public class ColumnInfo extends java.lang.Objectカラムのスキーマに関する情報を表します。カラム名の表記、もしくは、カラムの型と索引種別の対応関係などの内容の妥当性について、必ずしも検査するとは限りません。 
- 
- 
Constructor SummaryConstructors Constructor and Description ColumnInfo(java.lang.String name, GSType type)カラム名、型を指定してカラム情報を作成します。ColumnInfo(java.lang.String name, GSType type, java.lang.Boolean nullable, java.lang.Boolean defaultValueNull, java.util.Set<IndexType> indexTypes)カラム名、型、NOT NULL制約の状態、初期値でのNULL使用有無、索引種別の集合を指定してカラム情報を作成します。ColumnInfo(java.lang.String name, GSType type, java.lang.Boolean nullable, java.util.Set<IndexType> indexTypes)カラム名、型、NOT NULL制約の状態、索引種別の集合を指定してカラム情報を作成します。ColumnInfo(java.lang.String name, GSType type, java.util.Set<IndexType> indexTypes)カラム名、型、索引種別の集合を指定してカラム情報を作成します。
 - 
Method SummaryMethods Modifier and Type Method and Description java.lang.BooleangetDefaultValueNull()カラムの初期値としてNULLを使用するかどうかを取得します。java.util.Set<IndexType>getIndexTypes()このカラムのすべての索引種別を取得します。java.lang.StringgetName()カラム名を取得します。java.lang.BooleangetNullable()カラムにNOT NULL制約が設定されていないかどうかを取得します。GSTypegetType()カラムの型、すなわち、カラムに対応する各フィールド値の型を取得します。
 
- 
- 
- 
Constructor Detail- 
ColumnInfopublic ColumnInfo(java.lang.String name, GSType type)カラム名、型を指定してカラム情報を作成します。- Parameters:
- name- カラム名。- nullを指定すると未設定状態となる
- type- カラムの型。- nullも指定すると未設定状態となる
- Since:
- 1.5
 
 - 
ColumnInfopublic ColumnInfo(java.lang.String name, GSType type, java.lang.Boolean nullable, java.lang.Boolean defaultValueNull, java.util.Set<IndexType> indexTypes)カラム名、型、NOT NULL制約の状態、初期値でのNULL使用有無、索引種別の集合を指定してカラム情報を作成します。空ではない索引種別の集合が指定された場合、内容が複製されます。 - Parameters:
- name- カラム名。- nullを指定すると未設定状態となる
- type- カラムの型。- nullを指定すると未設定状態となる
- nullable- NOT NULL制約が設定されていない場合は- true、設定されている場合は- false。- nullを指定すると未設定状態となる
- defaultValueNull- 初期値としてNULLを使用する場合は- true、使用しない場合は- false。- nullを指定すると未設定状態となる
- indexTypes- 索引種別の集合。- nullを指定すると未設定状態となる。空の場合は索引の設定が一つもないとみなされる
- Since:
- 4.1
 
 - 
ColumnInfopublic ColumnInfo(java.lang.String name, GSType type, java.lang.Boolean nullable, java.util.Set<IndexType> indexTypes)カラム名、型、NOT NULL制約の状態、索引種別の集合を指定してカラム情報を作成します。空ではない索引種別の集合が指定された場合、内容が複製されます。 - Parameters:
- name- カラム名。- nullを指定すると未設定状態となる
- type- カラムの型。- nullを指定すると未設定状態となる
- nullable- NOT NULL制約が設定されていない場合は- true、設定されている場合は- false。- nullを指定すると未設定状態となる
- indexTypes- 索引種別の集合。- nullを指定すると未設定状態となる。空の場合は索引の設定が一つもないとみなされる
- Since:
- 3.5
 
 - 
ColumnInfopublic ColumnInfo(java.lang.String name, GSType type, java.util.Set<IndexType> indexTypes)カラム名、型、索引種別の集合を指定してカラム情報を作成します。空ではない索引種別の集合が指定された場合、内容が複製されます。 - Parameters:
- name- カラム名。- nullを指定すると未設定状態となる
- type- カラムの型。- nullを指定すると未設定状態となる
- indexTypes- 索引種別の集合。- nullを指定すると未設定状態となる。空の場合は索引の設定が一つもないとみなされる
- Since:
- 1.5
 
 
- 
 - 
Method Detail- 
getDefaultValueNullpublic java.lang.Boolean getDefaultValueNull() カラムの初期値としてNULLを使用するかどうかを取得します。- Returns:
- NULLを使用する場合はtrue、NULL以外の値を使用する場合はfalse、未設定の場合はnull
- Since:
- 4.1
 
 - 
getIndexTypespublic java.util.Set<IndexType> getIndexTypes() このカラムのすべての索引種別を取得します。返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。- Returns:
- 索引種別の集合。未設定の場合はnull
- Since:
- 1.5
 
 - 
getNamepublic java.lang.String getName() カラム名を取得します。- Returns:
- カラム名。未設定の場合はnull
 
 - 
getNullablepublic java.lang.Boolean getNullable() カラムにNOT NULL制約が設定されていないかどうかを取得します。- Returns:
- NOT NULL制約が設定されていない場合はtrue、設定されている場合はfalse、未設定の場合はnull
- Since:
- 3.5
 
 - 
getTypepublic GSType getType() カラムの型、すなわち、カラムに対応する各フィールド値の型を取得します。- Returns:
- カラムの型。未設定の場合はnull
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<CompressionMethod>
- 
- com.toshiba.mwcloud.gs.CompressionMethod
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<CompressionMethod>
 
 
 public enum CompressionMethod extends java.lang.Enum<CompressionMethod> 圧縮方式の種別を表します。時系列圧縮設定を行う際に使用します。 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description HI誤差あり間引き圧縮方式であることを示します。NO無圧縮であることを示します。SS誤差なし間引き圧縮方式であることを示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static CompressionMethodvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static CompressionMethod[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
HIpublic static final CompressionMethod HI 誤差あり間引き圧縮方式であることを示します。誤差あり間引き圧縮では、前回まで及び直後に登録したデータと同じ傾斜を表すロウは省かれます。同じ傾斜かを判定する条件はユーザが指定できます。指定されたカラムが条件を満たし、それ以外のカラムの値が前回のデータと同じ場合のみ省かれます。省かれたデータはinterpolateやsample処理の際に、指定された誤差の範囲内で復元されます。 
 - 
NOpublic static final CompressionMethod NO 無圧縮であることを示します。
 - 
SSpublic static final CompressionMethod SS 誤差なし間引き圧縮方式であることを示します。誤差なし間引き圧縮では、直前及び直後に登録したロウと同じデータを持つロウは省かれます。省かれたデータはinterpolateやsample処理の際に、誤差を発生することなく復元されます。 
 
- 
 - 
Method Detail- 
valueOfpublic static CompressionMethod valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static CompressionMethod[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (CompressionMethod c : CompressionMethod.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- 
- Type Parameters:
- K- ロウキーの型。ロウキーが存在しない場合は- Voidを指定
- R- マッピングに用いるロウオブジェクトの型
 - All Superinterfaces:
- java.lang.AutoCloseable, java.io.Closeable
 - All Known Subinterfaces:
- Collection<K,R>, TimeSeries<R>
 
 
 public interface Container<K,R> extends java.io.Closeable同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。ロウオブジェクトを入出力の基本単位として、各種管理機能を提供します。ロウオブジェクトとGridDB上のロウは、指定のロウオブジェクト型とGridDB上のスキーマとの対応関係に基づいて、相互にマッピングされます。 GridDB上のスキーマを構成する各カラムは、ロウオブジェクト内のフィールドやメソッド定義と対応関係を持ちます。 1つのコンテナは1つ以上のカラムにより構成されます。各カラムとの対応関係は、指定の型のpublic・protected・デフォルトアクセスのフィールドまたはgetter・setterメソッドに基づき決定されます。ただし、 TransientRowFieldが指定されたフィールドやメソッド、 transientフィールドは対象外です。また、ロウオブジェクトを動的に生成するために、public・protected・デフォルトアクセスのデフォルトコンストラクタを持つ必要があります。内部クラスの場合、静的内部クラスである必要があります。getterは、 boolean値を返す場合「is」または「get」、それ以外の型の値を返す場合「get」から始まる名前を持つ、引数なしのメソッドです。 setterは、「set」から始まる名前を持ち、設定対象の値1つのみを引数とするメソッドです。 GridDB上のカラム名は、特に指定のない限り、フィールド名、もしくは、getter・ setterのメソッド名から「get」などの固定の接頭辞を除いたものと対応します。別のカラム名と対応付けるには、RowField.name()を使用します。 getter・setterの一方しか存在しないものは無視されます。同名のフィールドと getter・setterの両方が存在する場合は、getter・setterを使用します。 getter・setter名の大文字・小文字表記が異なる場合、getterのものが優先されます。カラムがロウキーを持つ場合は、対応するフィールドまたはメソッドにRowKeyを設定します。1つのコンテナのカラム間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、コンテナ定義におけるカラム名の文字種や長さ、カラム数には制限があります。具体的には、 GridDBテクニカルリファレンスを参照してください。特に記載のない限り、カラム名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。 カラムの型と、ロウオブジェクト内の各値の型との対応は、それぞれ次の通りです。 カラム型 ロウオブジェクト内の各値の型 STRING StringBOOL BooleanまたはbooleanBYTE ByteまたはbyteSHORT ShortまたはshortINTEGER IntegerまたはintLONG LongまたはlongFLOAT FloatまたはfloatDOUBLE DoubleまたはdoubleTIMESTAMP DateGEOMETRY GeometryBLOB Blobを実装したクラスSTRING配列 String[]BOOL配列 boolean[]BYTE配列 byte[]SHORT配列 short[]INTEGER配列 int[]LONG配列 long[]FLOAT配列 float[]DOUBLE配列 double[]TIMESTAMP配列 java.util.Date[]フィールドの値の表現範囲やサイズには制限があります。具体的には、付録の章の値の範囲の説明、ならびに、GridDBテクニカルリファレンスを参照してください。制限に反する値をコンテナに格納することはできません。 ロウキーとして許可されている型や、ロウキーに対応するカラムの有無、ロウ操作の可否といった制約は、このコンテナのサブインタフェースの定義によって異なります。 GridDB上のロウにおけるNULLは、NOT NULL制約が設定されていない限り保持することができます。ロウオブジェクトのフィールドまたはgetter・setter メソッドが参照型の値を入出力できる場合、GridDB上のロウにおけるNULLは nullとして入出力できます。それ以外の場合、NULLはロウオブジェクトにおいて後述の空の値にマッピングされます。ロウオブジェクト型におけるNOT NULL制約は、 NotNullならびにNullableにより明示的に指定できます。NOT NULL制約がいずれの指定対象にも指定されていない場合、ロウキー以外のカラムはNOT NULL 制約なしであるとみなされます。ロウキーは暗黙的にNOT NULL制約が設定された状態となっており、この制約を外すような指定はできません。また、同一の指定対象や、getter、setterメソッド間での矛盾したNOT NULL制約は指定できません。たとえば、ロウオブジェクト型にNotNullとNullableが同時に指定された場合、矛盾したNOT NULL制約が指定されたとみなされます。NOT NULL制約の有無に関する指定対象別の優先順位は、次の通りです。- ロウオブジェクトのフィールドまたはgetter・setterメソッド
- ロウオブジェクトの型
- ロウオブジェクトのエンクロージング型(例:ロウオブジェクトのクラスを内部クラスとして取り囲むインタフェース)、または、その型から再帰的に求まるエンクロージング型。再帰的に求まるエンクロージング型のうち、制約の指定があり、かつ、最初に見つかった型を優先。
- ロウオブジェクトの型が属するパッケージ
 空の値は、 Rowの作成など各種操作の初期値などとして用いられることのある、フィールド値の一種です。以下のように、カラム型ごとに値が定義されています。カラム型 空の値 STRING ""(長さ0の文字列)BOOL 偽( false)数値型 0TIMESTAMP 1970-01-01T00:00:00ZGEOMETRY POINT(EMPTY)BLOB 長さ0のBLOBデータ 配列型 要素数0の配列 トランザクション処理では、デフォルトで自動コミットモードが有効になっています。自動コミットモードでは、変更操作は逐次確定し、明示的に取り消すことができません。手動コミットモードにおいて、このオブジェクトを介した操作によりクラスタノード上でエラーが検出され GSExceptionが送出された場合、コミット前の更新操作はすべて取り消されます。トランザクション分離レベルはREAD COMMITTEDのみをサポートします。ロック粒度は、コンテナの種別によって異なります。この Containerの生成後またはトランザクション終了後、最初にロウの更新・追加・削除、ならびに更新用ロック獲得が行われた時点で、新たなトランザクションが開始されます。自動コミットモードでは、トランザクションを開始したロウ操作が完了するとトランザクションは自動的にコミットされ終了します。手動コミットモードでは、明示的にトランザクションを制御するか有効期限に到達するまでトランザクションは終了しません。トランザクションをコミットするにはcommit()、アボートするにはabort()を使用します。このContainerまたはその生成元のGridStoreがクローズされた場合もトランザクションはアボートされ終了します。また、トランザクションを開始させた操作を行った時刻を起点として、GridDB上で定められている期間だけ経過すると有効期限に到達します。有効期限到達後にアボートすることなく、続けてロウ操作やトランザクションコミットを行おうとすると、GSExceptionが送出されるようになります。あるコンテナへの操作要求に対するクラスタノード上での処理が開始され、終了するまでの間、同一のコンテナに対する操作が待機させられる場合があります。ここでの操作には、コンテナのスキーマや索引などの定義変更、コンテナ情報の参照、ロウ操作などが含まれます。一貫性レベルが IMMEDIATEのGridStoreインスタンスを通じてコンテナを操作する場合、同一のコンテナに対するIMMEDIATE設定での他の操作処理の途中、原則としては待機させられます。また、コンテナに対する他の操作処理の途中の状態に基づいて処理が行われることは、原則としてはありません。例外事項については、個別の操作ごとの説明を参照してください。
- 
- 
Method SummaryMethods Modifier and Type Method and Description voidabort()手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、トランザクションを終了します。voidclose()GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。voidcommit()手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、トランザクションを終了します。java.sql.BlobcreateBlob()このContainerに対して巨大なバイナリデータを格納するためのBlobを作成します。voidcreateIndex(IndexInfo info)IndexInfoで設定されている内容に従い、索引を作成します。voidcreateIndex(java.lang.String columnName)指定された名前のカラムに対し、デフォルトの種別で名前のない索引を作成します。voidcreateIndex(java.lang.String columnName, IndexType type)指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。RcreateRow()このコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。voidcreateTrigger(TriggerInfo info)トリガを設定します。voiddropIndex(IndexInfo info)IndexInfoで設定されている内容に一致する、すべての索引を削除します。voiddropIndex(java.lang.String columnName)指定された名前のカラムのうち、デフォルトの種別の索引のみを削除します。voiddropIndex(java.lang.String columnName, IndexType type)指定された名前のカラムのうち、指定された種別の索引のみを削除します。voiddropTrigger(java.lang.String name)トリガを削除します。voidflush()これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。Rget(K key)指定のロウキーに対応するロウの内容を取得します。Rget(K key, boolean forUpdate)指定のオプションに従い、ロウキーに対応するロウの内容を取得します。ContainerTypegetType()このコンテナの種別を取得します。booleanput(java.util.Collection<R> rowCollection)指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。booleanput(K key, R row)必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。booleanput(R row)常にロウオブジェクトのみを指定して、ロウを新規作成または更新します。Query<R>query(java.lang.String tql)指定のTQL文を実行するためのクエリを作成します。<S> Query<S>query(java.lang.String tql, java.lang.Class<S> rowType)指定のTQL文・対応付け用クラスを使用する、クエリオブジェクトを作成します。booleanremove(K key)指定のロウキーに対応するロウを削除します。voidsetAutoCommit(boolean enabled)コミットモードの設定を変更します。
 
- 
- 
- 
Method Detail- 
abortvoid abort() throws GSException手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、トランザクションを終了します。- Throws:
- GSException- 自動コミットモードのときに呼び出された場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
 
 - 
closevoid close() throws GSExceptionGridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。トランザクションを保持している場合、未コミットの更新内容はすべて元に戻されます。 GSExceptionが送出された場合であっても、接続状態の解除やローカルのリソース解放処理は適宜実施されます。ただし、GridDB上のトランザクション状態などは残る可能性があります。すでにクローズ済みの場合、このメソッドを呼び出しても解放処理は行われません。- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.io.Closeable
- Throws:
- GSException- 接続障害が発生した場合
 
 - 
commitvoid commit() throws GSException手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、トランザクションを終了します。- Throws:
- GSException- 自動コミットモードのときに呼び出された場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
 
 - 
createBlobjava.sql.Blob createBlob() throws GSExceptionこのContainerに対して巨大なバイナリデータを格納するためのBlobを作成します。作成された Blobは、ロウのフィールドとして利用できます。まず、Blob.setBinaryStream(long)などを用いてバイナリデータをセットし、続いてput(Object)などを用いてContainerに格納します。このメソッドにより得られた Blobに対し、少なくとも次のメソッドを呼び出すことができます。- Blob.length()
- Blob.setBinaryStream(long)
- Blob.setBytes(long, byte[])
- Blob.setBytes(long, byte[], int, int)
- Blob.free()
 ロウオブジェクトに設定するBLOBは、必ずしもこのメソッドで作成した Blobを使う必要はありません。SerialBlobなど、Blobを実装した他のクラスのインスタンスを設定することもできます。また、作成されたBlobに有効期間はありません。現バージョンでは、ロウ全体をクライアントのメモリ上にキャッシュするため、このVMのメモリ使用量の制限を超えるような巨大なデータは登録できない可能性があります。 現バージョンでは、 GSExceptionが送出されることはありません。- Throws:
- GSException
 
 - 
createIndexvoid createIndex(IndexInfo info) throws GSException IndexInfoで設定されている内容に従い、索引を作成します。作成対象の索引のカラムについては、カラム名またはカラム番号の少なくとも一方が設定されており、かつ、対応するコンテナにおいて実在するものが設定されている必要があります。カラム名とカラム番号が共に設定されている場合、対応するカラムが互いに一致している必要があります。 索引種別が設定されていないか IndexType.DEFAULTが設定されていた場合、後述の基準に従い、デフォルト種別の索引が選択されます。1つのコンテナの索引間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、索引の定義において使用できる索引名の文字種や長さには制限があります。具体的には、 GridDBテクニカルリファレンスを参照してください。特に記載のない限り、索引名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。 既存の同名の索引が存在した場合、後述の条件を満たす同一設定の IndexInfoを指定しなければならず、その場合新たな索引は作成されません。一方、既存の異なる名前の索引または名前のない索引と同一設定のIndexInfoを指定することはできません。索引名が設定されていない場合は、名前のない索引の作成が要求されたものとみなされます。名前を除いて同一設定の索引がすでに存在していた場合、名前のない索引でなければならず、その場合新たな索引は作成されません。 現バージョンでは、少なくとも Containerを通じて作成された索引において、次の条件を満たす場合に索引名を除いて同一設定の索引であるとみなされます。- 索引対象のカラムが一致すること。カラム名、カラム番号といった、カラムの指定方法の違いは無視される
- 索引種別が一致すること。デフォルト指定の有無といった索引種別の指定方法の違いは無視される
 現バージョンにおける、 GridStoreFactory.getInstance()を基に生成されたContainerインスタンスでは、コンテナの種別、対応するカラムの型などに基づき、次の索引種別がデフォルトとして選択されます。カラムの型 コレクション 時系列 STRING IndexType.TREEIndexType.TREEBOOL IndexType.TREEIndexType.TREE数値型 IndexType.TREEIndexType.TREETIMESTAMP IndexType.TREEIndexType.TREE※制限ありGEOMETRY IndexType.SPATIAL(なし) BLOB (なし) (なし) 配列型 (なし) (なし) 時系列のロウキー(TIMESTAMP型)には索引を設定できません。 この Containerインスタンスが未コミットのトランザクションを保持していた場合、コミットしてから作成を行います。処理対象のコンテナにおいて実行中の他のトランザクションが存在する場合、それらの終了を待機してから作成を行います。すでに索引が存在しており新たな索引が作成されなかった場合、他のトランザクションによって待機するかどうかは未定義です。またこの場合、このContainerインスタンスが保持している未コミットのトランザクションが常にコミットされるかどうかは未定義です。現バージョンでは、コンテナの規模など諸条件を満たした場合、索引の作成開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、一部の索引操作、トリガ操作、ロウ操作(更新含む)を行える場合があります。それ以外の操作は、 Containerでの定義通り待機させる場合があります。索引の作成途中に別の操作が行われる場合は、作成途中の索引に関する情報はコンテナ情報には含まれません。- Throws:
- GSException- 作成対象のカラム、索引名が上記の規則に合致しない場合
- GSException- この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
- GSException- 指定のカラムにおいてサポートされていない索引種別が指定された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 3.5
 
 - 
createIndexvoid createIndex(java.lang.String columnName) throws GSException指定された名前のカラムに対し、デフォルトの種別で名前のない索引を作成します。カラム名のみが設定された IndexInfoを指定してcreateIndex(IndexInfo)を呼び出した場合と同様に振る舞います。- Throws:
- GSException- 指定のカラム名が- createIndex(IndexInfo)の規則に合致しない場合
- GSException- この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
- GSException- 索引設定がサポートされていないカラムが指定された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
createIndexvoid createIndex(java.lang.String columnName, IndexType type) throws GSException指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。カラム名と種別のみが設定された IndexInfoを指定してcreateIndex(IndexInfo)を呼び出した場合と同様に振る舞います。- Throws:
- GSException- 指定のカラム名と種別が- createIndex(IndexInfo)の規則に合致しない場合
- GSException- この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
- GSException- 指定のカラムにおいてサポートされていない索引種別が指定された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
createRowR createRow() throws GSException このコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。コンテナのロウオブジェクトの型が Rowの場合、作成されるRowの各フィールドにはGridStore.createRow(ContainerInfo)により作成した場合と同様に既定の初期値が設定されます。またこの場合、作成されたRowに対する操作は、このContainerオブジェクトのクローズ有無に影響しません。- Throws:
- GSException- ユーザ定義型のロウオブジェクトを作成する場合に例外が送出された場合
- GSException- クローズ後に呼び出された場合
- Since:
- 1.5
 
 - 
createTriggervoid createTrigger(TriggerInfo info) throws GSException トリガを設定します。このコンテナに対して特定の種別の更新操作が行われた場合に、指定のURIに通知が送信されるようになります。指定されたトリガと同名のトリガが存在した場合、設定内容が上書きされます。 トリガ設定内容の詳細は、 トリガ名TriggerInfoの定義を参照してください。トリガ名、トリガ種別、通知条件、通知先URI、通知内容の詳細は以下の通りです。トリガ種別や通知条件などの違いによらず、1つのコンテナのトリガ間で、 ASCIIの大文字・小文字表記を含め同一の名前のものを複数定義することはできません。その他、トリガの定義において使用できるトリガ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、トリガ名を指定する操作では、 ASCIIの大文字・小文字表記の違いが区別されます。 トリガ種別次のトリガ種別をサポートします。 
 通知条件名称 説明 REST コンテナに指定された種別の更新操作が行われた際に、指定されたURIにREST(HTTP POSTメソッド)で通知するトリガです。 Java Message Service(JMS) コンテナに指定された種別の更新操作が行われた際に、指定されたURIのJMSサーバへJMSメッセージを通知するトリガです。 JMSプロバイダとしてApache ActiveMQを使用します。 このコンテナに対するロウ新規作成/更新 ( put(Object)、put(Object, Object)、put(java.util.Collection)、GridStore.multiPut(java.util.Map)、RowSet.update(Object))・削除(remove(Object)、RowSet.remove()) 操作命令の実行直後に通知を行います。監視対象として複数の操作が指定された場合は、そのうちのいずれかが実行された際に通知を行います。通知を行った時点でのレプリケーションの完了は保証されません。自動コミットモード無効で実行されたロウ新規作成/更新・削除命令に対応する通知については、通知を行った時点でトランザクションが未コミットであったり、通知後にトランザクションがアボートされたりした場合、通知を受けた時点で通知に含まれるデータが取得できないことがあります。 複数ロウ一括操作の場合、1件のロウ操作ごとに通知を行います。指定されたURIに通知を行っても一定時間以内に応答がない場合、タイムアウトし再送は行いません。 GridDBクラスタに障害が発生した場合、ある更新操作に対応する通知が行われないことのほか、複数回通知されることがあります。 通知先URI通知先URIは次の書式で記述します。 (メソッド名)://(ホスト名):(ポート番号)/(パス) ただし、トリガ種別がRESTの場合、メソッド名にはhttpのみ指定できます。 通知内容更新が行われたコンテナ名、更新操作名、更新されたロウデータの指定したカラムの値を通知します。更新操作名は、ロウ新規作成/更新では "put"、削除では"delete"となります。通知する値は、ロウ新規作成では新規作成直後、更新では更新後、削除では削除前のロウデータについての、指定カラムの値となります。カラムの型がTIMESTAMPの場合、 通知方法―RESTの場合1970-01-01T00:00:00Zからの経過ミリ秒を示す整数が値として設定されます。カラムの型がBLOB型、GEOMETRY型、配列型の場合、空文字列が値として設定されます。以下のようなJSON文字列を、MIMEタイプapplication/jsonで送信します。 { "container" : "(コンテナ名)", "event" : "(更新操作名)", "row" : { "(カラム名)" : (カラムデータ), "(カラム名)" : (カラムデータ), ... } }通知方法―JMSの場合javax.jms.TextMessageを、指定されたデスティネーション種別・デスティネーション名で送信します。 コンテナ名は、 javax.jms.Message#setStringProperty("@container", "(コンテナ名)")で設定されます。更新操作名は、javax.jms.Message#setStringProperty("@event", "(更新操作名)")で設定されます。カラムの値は、カラムの型に応じた javax.jms.Message#setXXXProperty("(カラム名)", (カラムデータ))で設定されます。トリガが設定されているコンテナに対して GridStore.putCollection(String, Class, boolean)、GridStore.putTimeSeries(String, Class, TimeSeriesProperties, boolean)などによりカラムレイアウトが変更された際に、トリガの通知対象となっているカラムの削除または名称変更があった場合、該当するカラムはトリガの通知対象から削除されます。GridDBからの通知の際に、設定されている通知先URIへのリクエストに対応するサーバが応答しなかった場合、タイムアウト時刻までの待機処理が発生します。この待機処理は、このコンテナならびに他の一部のコンテナの更新に対する通知が遅れる要因となります。したがって、無効となった通知先URIを持つトリガは dropTrigger(String)により削除することが推奨されます。一つのコンテナに対して設定できるトリガの最大数、ならびに、トリガの各種設定値の上限については、GridDBテクニカルリファレンスを参照してください。 - Parameters:
- info- 設定対象のトリガ情報
- Throws:
- GSException- トリガ名が- null、空、またはその他の規則に合致しない場合
- GSException- 監視対象更新操作の指定がない場合
- GSException- 通知先URIが規定の構文に合致しない場合
- GSException- トリガ種別でJMSが指定され、かつJMSデスティネーション種別が- null、または空、または指定の書式に合致しない場合
- GSException- トリガ種別でJMSが指定され、かつJMSデスティネーション名が- null、または空の場合
- GSException- この処理のタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
 
 - 
dropIndexvoid dropIndex(IndexInfo info) throws GSException IndexInfoで設定されている内容に一致する、すべての索引を削除します。IndexInfoの設定内容は、削除対象の索引を絞り込む条件として使用されます。絞り込み条件は、カラム、索引種別、索引名の3つに分類されます。それぞれ設定するかどうかは任意です。いずれも設定されていない場合は、作成済みのすべての索引が削除されます。カラム名またはカラム番号が設定されている場合、対応するコンテナにおいて実在するものである必要があります。カラム名とカラム番号が共に設定されている場合、対応するカラムが互いに一致している必要があります。カラム名ならびにカラム番号が共に設定されていない場合、他の絞り込み条件(索引種別、索引名)を満たす任意のカラムに対する索引が削除対象となります。 索引種別が設定されている場合、指定の種別の索引のみが削除対象となります。 IndexType.DEFAULTが設定されている場合、createIndex(IndexInfo)の基準に従い、デフォルト種別の索引が選択されます。索引をサポートしていないカラムや指定の種別の索引をサポートしていないカラムについては、削除対象にはなりません。索引種別が設定されていない場合、他の絞り込み条件(カラム、索引名)を満たす任意の種別の索引が削除対象となります。索引名が設定されている場合、指定の名前の索引のみが削除対象となります。索引名の同一性は、 createIndex(IndexInfo)の基準に従います。索引名が設定されていない場合、他の絞り込み条件(カラム、索引種別)を満たす、任意の名前の索引ならびに名前のない索引が削除対象となります。削除対象となる索引が一つも存在しない場合、索引の削除は行われません。 トランザクションの扱いは、 createIndex(IndexInfo)と同様です。また、複数の索引が削除対象となった場合に、一部の索引のみが削除された状態で他のトランザクションが実行されることがありうるかどうかは未定義です。索引の削除要求の完了直後の状態に関しては、 GridStore.dropContainer(String)と同様です。- Throws:
- GSException- 削除対象のカラム、索引名が上記の規則に合致しない場合
- GSException- この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 3.5
 
 - 
dropIndexvoid dropIndex(java.lang.String columnName) throws GSException指定された名前のカラムのうち、デフォルトの種別の索引のみを削除します。カラム名とデフォルトの種別が設定された IndexInfoを指定してdropIndex(IndexInfo)を呼び出した場合と同様に振る舞います。- Throws:
- GSException- 指定のカラム名が- dropIndex(IndexInfo)の規則に合致しない場合
- GSException- この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
dropIndexvoid dropIndex(java.lang.String columnName, IndexType type) throws GSException指定された名前のカラムのうち、指定された種別の索引のみを削除します。カラム名と種別が設定された IndexInfoを指定してdropIndex(IndexInfo)を呼び出した場合と同様に振る舞います。- Throws:
- GSException- 指定のカラム名が- dropIndex(IndexInfo)の規則に合致しない場合
- GSException- この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
dropTriggervoid dropTrigger(java.lang.String name) throws GSExceptionトリガを削除します。指定された名前のトリガが存在しない場合は何も変更しません。 - Throws:
- GSException- この処理のタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
 
 - 
flushvoid flush() throws GSExceptionこれまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。通常より信頼性が要求される処理のために使用します。ただし、頻繁に実行すると性能低下を引き起こす可能性が高まります。 書き出し対象のクラスタノードの範囲など、挙動の詳細はGridDB上の設定によって変化します。 - Throws:
- GSException- この処理のタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
 
 - 
getR get(K key) throws GSException 指定のロウキーに対応するロウの内容を取得します。更新用ロックを要求せずに get(Object, boolean)を呼び出した場合と同等です。- Throws:
- GSException
- See Also:
- get(Object, boolean)
 
 - 
getR get(K key, boolean forUpdate) throws GSException 指定のオプションに従い、ロウキーに対応するロウの内容を取得します。ロウキーに対応するカラムが存在する場合のみ使用できます。 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。 自動コミットモードの場合、更新用ロックを要求できません。 - Parameters:
- forUpdate- 更新用ロックを要求するかどうか
- Returns:
- 対応するロウオブジェクト。存在しない場合はnull
- Throws:
- GSException- ロウキーに対応するカラムが存在しない場合
- GSException- 自動コミットモードにもかかわらず、更新用ロックを要求しようとした場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして設定されていた場合
- java.lang.ClassCastException- 指定のロウキーがマッピング処理で使用されるロウキーの型と対応しない場合
- java.lang.NullPointerException-- keyに- nullが指定された場合
 
 - 
getTypeContainerType getType() throws GSException このコンテナの種別を取得します。現バージョンでは、インスタンス生成時点で常に種別が確定するため、この操作によりGridDBクラスタに問い合わせを行うことはありません。 - Throws:
- GSException- クローズ後に呼び出された場合
- Since:
- 1.5
 
 - 
putboolean put(java.util.Collection<R> rowCollection) throws GSException 指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。指定のロウオブジェクト集合の各ロウについて、イテレータからの取り出し順序に従って put(Object)を呼び出した場合と同様に新規作成または更新操作を行います。指定のロウオブジェクト集合内に同一のロウキーを持つ複数のロウが存在する場合、ロウオブジェクト集合のイテレータからの取り出し順序を基準として、同一のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。 コンテナの種別ならびに設定によっては、操作できるロウの内容について put(Object)と同様の制限が設けられています。具体的な制限事項は、サブインタフェースの定義を参照してください。手動コミットモードの場合、対象のロウがロックされます。 自動コミットモードのときに、コンテナならびにロウに対する処理の途中で例外が発生した場合、コンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。 - Returns:
- 現バージョンでは、常にfalse
- Throws:
- GSException- 特定コンテナ種別固有の制限に反する操作を行った場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
- java.lang.ClassCastException- 指定の各ロウオブジェクトがマッピング処理で使用されるロウオブジェクトの型と対応しない場合
- java.lang.NullPointerException-- rowCollectionまたはその要素として- nullが指定された場合。また、- put(Object, Object)と同様ロウオブジェクトの特定の箇所に- nullが含まれていた場合
- See Also:
- put(Object)
 
 - 
putboolean put(K key, R row) throws GSException 必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。ロウキーに対応するカラムが存在する場合、ロウキーとコンテナの状態を基に、ロウを新規作成するか、更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクトとは別にロウキーを指定した場合、ロウオブジェクト内のロウキーより優先して使用されます。 ロウキーに対応するカラムを持たない場合、常に新規のロウを作成します。別途指定するロウキーには、常に nullを指定します。コンテナの種別ならびに設定によっては、制限が設けられています。具体的な制限事項は、サブインタフェースの定義を参照してください。 手動コミットモードの場合、対象のロウはロックされます。 - Parameters:
- key- 処理対象のロウキー
- row- 新規作成または更新するロウの内容と対応するロウオブジェクト
- Returns:
- 指定のロウキーと一致するロウが存在したかどうか
- Throws:
- GSException- ロウキーに対応するカラムが存在しないにもかかわらず、キーが指定された場合
- GSException- 特定コンテナ固有の制限に反する操作を行った場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
- java.lang.ClassCastException- 指定のキーもしくはロウオブジェクトと、マッピング処理で使用される型との間で対応しないものがある場合
- java.lang.NullPointerException-- rowに- nullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトについて、NOT NULL制約があるにも関わらず- nullが設定されている場合や、配列型の場合に- nullの要素が含まれている場合
 
 - 
putboolean put(R row) throws GSException 常にロウオブジェクトのみを指定して、ロウを新規作成または更新します。指定のロウオブジェクト内のロウキーを使用する点を除き、 put(Object, Object)と同等です。- Throws:
- GSException
- See Also:
- put(Object, Object)
 
 - 
queryQuery<R> query(java.lang.String tql) throws GSException 指定のTQL文を実行するためのクエリを作成します。選択式に集計演算を含むクエリなど、実行結果の出力形式がこのコンテナのロウの形式と対応しないクエリに対しては、使用できません。代わりに、 query(String, Class)が利用できます。Query.fetch(boolean)を通じてロウ集合を求める際に更新用ロックのオプションを有効できるのは、このコンテナ上に実在しないロウが選択されることのないクエリのみです。たとえば、補間演算を含むクエリに対しては有効にできません。現バージョンでは、TQL文の誤りによる GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。- Parameters:
- tql- TQL文。- nullは指定できない
- Throws:
- GSException- 現バージョンでは送出されない
- See Also:
- query(String, Class)
 
 - 
query<S> Query<S> query(java.lang.String tql, java.lang.Class<S> rowType) throws GSException 指定のTQL文・対応付け用クラスを使用する、クエリオブジェクトを作成します。集計演算のように、このコンテナのロウと異なる型の結果を期待する場合に使用します。 rowTypeには次の型またはnullのみを指定できます。- コンテナのロウの型
- query(String)と同様、このコンテナと対応する型のロウデータを受け取ります。
- AggregationResult
- 集計演算の実行結果を受け取ります。
- QueryAnalysisEntry
- EXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を受け取ります。
- null
- 実行結果に応じた適切な型により結果を受け取ります。
 上記以外の値は指定できません。 Query.fetch(boolean)を通じてロウ集合を求める際に更新用ロックのオプションを有効できるのは、このコンテナ上に実在しないロウが選択されることのないクエリのみです。たとえば、補間演算を含むクエリに対しては有効にできません。現バージョンでは、TQL文の誤りによる GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。- Parameters:
- tql- TQL文。- nullは指定できない
- rowType- 期待するロウオブジェクトの型または- null
- Throws:
- GSException- サポートされない型を- rowTypeに指定した場合
 
 - 
removeboolean remove(K key) throws GSException 指定のロウキーに対応するロウを削除します。ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。 コンテナの種別ならびに設定によっては、制限が設けられています。具体的な制限事項は、サブインタフェースの定義を参照してください。 手動コミットモードの場合、対象のロウはロックされます。 - Returns:
- 対応するロウが存在したかどうか
- Throws:
- GSException- ロウキーに対応するカラムが存在しない場合
- GSException- 特定コンテナ固有の制限に反する操作を行った場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして指定された場合
- java.lang.ClassCastException- 指定のロウキーがマッピング処理で使用されるロウキーの型と対応しない場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setAutoCommitvoid setAutoCommit(boolean enabled) throws GSExceptionコミットモードの設定を変更します。自動コミットモードでは、直接トランザクション状態を制御できず、変更操作が逐次コミットされます。自動コミットモードが有効でない場合、すなわち手動コミットモードの場合は、直接 commit()を呼び出すかトランザクションがタイムアウトしない限り、このコンテナ内で同一のトランザクションが使用され続け、変更操作はコミットされません。自動コミットモードが無効から有効に切り替わる際、未コミットの変更内容は暗黙的にコミットされます。コミットモードに変更がない場合、トランザクション状態は変更されません。この挙動は、 Connection.setAutoCommit(boolean)と同様です。- Throws:
- GSException- モード変更に伴いコミット処理を要求した際に、この処理またはトランザクションのタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.ContainerInfo
 
- 
 
 public class ContainerInfo extends java.lang.Object特定のコンテナに関する情報を表します。コンテナ名の表記、もしくは、コンテナ種別と時系列オプションの有無の対応などの内容の妥当性について、必ずしも検査するとは限りません。 
- 
- 
Constructor SummaryConstructors Constructor and Description ContainerInfo()空のコンテナ情報を作成します。ContainerInfo(ContainerInfo containerInfo)指定のコンテナ情報を複製します。ContainerInfo(java.lang.String name, ContainerType type, java.util.List<ColumnInfo> columnInfoList, boolean rowKeyAssigned)カラムレイアウトに関する情報などを指定してコンテナ情報を作成します。
 - 
Method SummaryMethods Modifier and Type Method and Description intgetColumnCount()カラム数を取得します。ColumnInfogetColumnInfo(int column)指定カラムに関する情報を取得します。java.lang.StringgetDataAffinity()データ配置最適化のために用いられる、コンテナ間の類似性を示す文字列を取得します。java.util.List<IndexInfo>getIndexInfoList()索引情報の一覧を取得します。java.lang.StringgetName()コンテナ名を取得します。TimeSeriesPropertiesgetTimeSeriesProperties()時系列構成オプションを取得します。java.util.List<TriggerInfo>getTriggerInfoList()トリガ情報の一覧を取得します。ContainerTypegetType()コンテナの種別を取得します。booleanisColumnOrderIgnorable()カラム順序が無視できるかどうかを返します。booleanisRowKeyAssigned()ロウキーに対応するカラムの有無を取得します。voidsetColumnInfoList(java.util.List<ColumnInfo> columnInfoList)すべてのカラムの情報をまとめて設定します。voidsetColumnOrderIgnorable(boolean ignorable)カラム順序が無視できるかどうかを設定します。voidsetDataAffinity(java.lang.String dataAffinity)データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列を設定します。voidsetIndexInfoList(java.util.List<IndexInfo> indexInfoList)索引情報の一覧を設定します。voidsetName(java.lang.String name)コンテナ名を設定します。voidsetRowKeyAssigned(boolean assigned)ロウキーに対応するカラムの有無を設定します。voidsetTimeSeriesProperties(TimeSeriesProperties props)時系列構成オプションを設定します。voidsetTriggerInfoList(java.util.List<TriggerInfo> triggerInfoList)トリガ情報の一覧を設定します。voidsetType(ContainerType type)コンテナ種別を設定します。
 
- 
- 
- 
Constructor Detail- 
ContainerInfopublic ContainerInfo() 空のコンテナ情報を作成します。- Since:
- 1.5
 
 - 
ContainerInfopublic ContainerInfo(ContainerInfo containerInfo) 指定のコンテナ情報を複製します。- Parameters:
- containerInfo- 複製元のコンテナ情報。- nullは指定できない
- Throws:
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
 
 - 
ContainerInfopublic ContainerInfo(java.lang.String name, ContainerType type, java.util.List<ColumnInfo> columnInfoList, boolean rowKeyAssigned)カラムレイアウトに関する情報などを指定してコンテナ情報を作成します。- Parameters:
- name- コンテナ名。- nullを指定すると未設定状態となる
- type- コンテナ種別。- nullを指定すると未設定状態となる
- columnInfoList- カラム情報のリスト。- nullは指定できない
- rowKeyAssigned- ロウキーに対応するカラムの有無。ロウキーを持つ場合は- true、持たない場合は- false
- Throws:
- java.lang.NullPointerException-- columnInfoListに- nullが指定された場合
- Since:
- 1.5
 
 
- 
 - 
Method Detail- 
getColumnCountpublic int getColumnCount() カラム数を取得します。- Returns:
- カラム数。カラムレイアウト未設定の場合は0
 
 - 
getColumnInfopublic ColumnInfo getColumnInfo(int column) 指定カラムに関する情報を取得します。- Parameters:
- column- カラムを特定するための番号。- 0以上かつカラム数未満の値
- Returns:
- 指定カラム番号に対応するカラム情報
- Throws:
- java.lang.IllegalArgumentException- 範囲外のカラム番号を指定した場合
- See Also:
- RowField.columnNumber()
 
 - 
getDataAffinitypublic java.lang.String getDataAffinity() データ配置最適化のために用いられる、コンテナ間の類似性を示す文字列を取得します。- Returns:
- 時系列間の類似性を示す文字列。標準設定の場合はnull
- Since:
- 2.1
- See Also:
- setDataAffinity(String)
 
 - 
getIndexInfoListpublic java.util.List<IndexInfo> getIndexInfoList() 索引情報の一覧を取得します。返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。- Returns:
- 索引情報の一覧
- Since:
- 3.5
 
 - 
getNamepublic java.lang.String getName() コンテナ名を取得します。- Returns:
- コンテナ名。未設定の場合はnull
 
 - 
getTimeSeriesPropertiespublic TimeSeriesProperties getTimeSeriesProperties() 時系列構成オプションを取得します。返却されたオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化するかどうかは未定義です。 - Returns:
- 時系列構成オプション。未設定の場合はnull
- Since:
- 1.5
 
 - 
getTriggerInfoListpublic java.util.List<TriggerInfo> getTriggerInfoList() トリガ情報の一覧を取得します。返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。- Returns:
- トリガ情報の一覧
- Since:
- 1.5
 
 - 
getTypepublic ContainerType getType() コンテナの種別を取得します。- Returns:
- コンテナの種別。未設定の場合はnull
- See Also:
- ContainerType
 
 - 
isColumnOrderIgnorablepublic boolean isColumnOrderIgnorable() カラム順序が無視できるかどうかを返します。- Returns:
- カラム順序が無視できるか
- Since:
- 1.5
 
 - 
isRowKeyAssignedpublic boolean isRowKeyAssigned() ロウキーに対応するカラムの有無を取得します。コンテナがロウキーを持つ場合、対応するカラム番号は 0です。- Returns:
- ロウキーの有無
 
 - 
setColumnInfoListpublic void setColumnInfoList(java.util.List<ColumnInfo> columnInfoList) すべてのカラムの情報をまとめて設定します。カラム順序を無視しない場合、指定のカラム情報の並びが実際のコンテナのカラムの並びと対応します。 ロウキーに対応するカラムの有無の設定状態によらず、設定を解除することができます。 指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- columnInfoList- カラム情報のリスト。- nullまたは空のリスト場合、設定が解除される
- Since:
- 1.5
- See Also:
- setColumnOrderIgnorable(boolean)
 
 - 
setColumnOrderIgnorablepublic void setColumnOrderIgnorable(boolean ignorable) カラム順序が無視できるかどうかを設定します。デフォルトでは無視しない( false)状態に設定されています。- Parameters:
- ignorable- カラム順序が無視できるか
- Since:
- 1.5
- See Also:
- GridStore.putContainer(String, ContainerInfo, boolean)
 
 - 
setDataAffinitypublic void setDataAffinity(java.lang.String dataAffinity) データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列を設定します。同一クラスタノード上の同一管理領域内に格納されるコンテナについて、配置先を最適化するために使用されます。 データアフィニティが同一のコンテナの内容は、近接する配置先に格納される可能性が高くなります。また、解放期限が設定され、近接する配置先に格納された時系列について、登録頻度などの変更パターンが類似している場合、解放期限に到達したロウの解放処理が効率的に行われる可能性が高くなります。 コンテナの定義において使用できるデータアフィニティ文字列の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。ただし、文字列を設定した時点で必ずしもすべての制限を検査するとは限りません。特に記載のない限り、データアフィニティ文字列が使用される操作では、ASCIIの大文字・小文字表記の違いが区別されます。 - Parameters:
- dataAffinity- コンテナ間の類似性を示す文字列。- nullが指定された場合は標準設定を優先することを示す。規則に合致しない文字列は指定できない場合がある
- Throws:
- java.lang.IllegalArgumentException- 制限に反する文字列が指定されたことを検知できた場合
- Since:
- 2.1
 
 - 
setIndexInfoListpublic void setIndexInfoList(java.util.List<IndexInfo> indexInfoList) 索引情報の一覧を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- indexInfoList- 索引情報の一覧。- nullまたは空のリスト場合、設定が解除される
- Since:
- 3.5
 
 - 
setNamepublic void setName(java.lang.String name) コンテナ名を設定します。- Parameters:
- name- コンテナ名。- nullの場合、設定が解除される
- Since:
- 1.5
 
 - 
setRowKeyAssignedpublic void setRowKeyAssigned(boolean assigned) ロウキーに対応するカラムの有無を設定します。デフォルトではロウキーなしに設定されています。 カラムレイアウトの設定状態によらず使用できます。 - Parameters:
- assigned- ロウキーに対応するカラムの有無。ロウキーを持つ場合は- true、持たない場合は- false
- Since:
- 1.5
 
 - 
setTimeSeriesPropertiespublic void setTimeSeriesProperties(TimeSeriesProperties props) 時系列構成オプションを設定します。コンテナ種別の設定状態によらず使用できます。 指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- props- 時系列構成オプション。- nullの場合、設定が解除される
- Since:
- 1.5
 
 - 
setTriggerInfoListpublic void setTriggerInfoList(java.util.List<TriggerInfo> triggerInfoList) トリガ情報の一覧を設定します。返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。- Parameters:
- triggerInfoList- トリガ情報のリスト。- nullまたは空のリスト場合、設定が解除される
- Since:
- 1.5
 
 - 
setTypepublic void setType(ContainerType type) コンテナ種別を設定します。- Parameters:
- type- コンテナ種別。- nullの場合、設定が解除される
- Since:
- 1.5
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<ContainerType>
- 
- com.toshiba.mwcloud.gs.ContainerType
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<ContainerType>
 
 
 public enum ContainerType extends java.lang.Enum<ContainerType> コンテナの種別を表します。
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description COLLECTION対象のコンテナがコレクションであることを示します。TIME_SERIES対象のコンテナが時系列であることを示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static ContainerTypevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static ContainerType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
COLLECTIONpublic static final ContainerType COLLECTION 対象のコンテナがコレクションであることを示します。
 - 
TIME_SERIESpublic static final ContainerType TIME_SERIES 対象のコンテナが時系列であることを示します。
 
- 
 - 
Method Detail- 
valueOfpublic static ContainerType valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static ContainerType[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (ContainerType c : ContainerType.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<FetchOption>
- 
- com.toshiba.mwcloud.gs.FetchOption
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<FetchOption>
 
 
 public enum FetchOption extends java.lang.Enum<FetchOption> クエリ実行結果を取得する際のオプション項目です。
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description LIMIT取得するロウの数の最大値を設定するために使用します。PARTIAL_EXECUTION部分実行モードを設定するために使用します。
 - 
Method SummaryMethods Modifier and Type Method and Description static FetchOptionvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static FetchOption[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
LIMITpublic static final FetchOption LIMIT 取得するロウの数の最大値を設定するために使用します。実行結果のロウ数が最大値を超えた場合、 RowSetで得られる順番で先頭から最大値の分だけが取得できます。それ以降のロウは取得できません。サポートされる設定値の型は、 IntegerまたはLongです。負の値は指定できません。設定が省略された場合、上限は設定されません。
 - 
PARTIAL_EXECUTIONpublic static final FetchOption PARTIAL_EXECUTION 部分実行モードを設定するために使用します。部分実行モードでは、クエリの中間処理や結果送受信に用いるバッファのサイズなどがなるべく一定の範囲に収まるよう、必要に応じて実行対象のデータ範囲を分割し、この部分範囲ごとに実行とフェッチをリクエストすることがあります。そのため、 RowSetを取得した時点で一部の範囲の結果が求まっていないことや、結果ロウを順に参照していく段階で、残りの範囲を部分的に実行していくことがあります。部分実行モードは、現バージョンでは次の条件すべてを満たすクエリに使用できます。また、 LIMITオプションと併用することができます。条件を満たさない場合でも、各種フェッチオプションの設定時点ではエラーを検知しない場合があります。- TQL文からなるクエリであること
- TQL文において、選択式が「*」のみからなり、ORDER BY節を含まないこと
- 対応するContainerが個々の部分的なクエリ実行時点において常に自動コミットモードに設定されていること
 部分実行モードでは、対応する Containerのトランザクション分離レベルや状態に基づき、個々の部分的なクエリ実行時点において参照可能なロウが使用されます。ただし、クエリ全体の実行開始時点で存在しないロウは、実行対象から外れる場合があります。部分実行モードを有効にした場合に RowSetに対して使用できない操作や特有の挙動については、個別の定義を参照してください。サポートされる設定値の型は、 Booleanのみです。部分実行モードを有効にするには、Boolean.TRUEと一致する値を指定します。現バージョンでは、未設定の場合には部分実行モードを有効にしません。- Since:
- 4.0
 
 
- 
 - 
Method Detail- 
valueOfpublic static FetchOption valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static FetchOption[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (FetchOption c : FetchOption.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Throwable
- 
- java.lang.Exception
- 
- java.io.IOException
- 
- com.toshiba.mwcloud.gs.GSException
 
 
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable
 - Direct Known Subclasses:
- GSTimeoutException
 
 
 public class GSException extends java.io.IOExceptionGridDB機能の処理中に発生した例外状態を示します。- See Also:
- Serialized Form
 
- 
- 
Constructor SummaryConstructors Constructor and Description GSException()詳細メッセージを持たない例外を構築します。GSException(int errorCode, java.lang.String description)エラー番号および詳細メッセージを指定して、例外を構築します。GSException(int errorCode, java.lang.String errorName, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。GSException(int errorCode, java.lang.String errorName, java.lang.String description, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。GSException(int errorCode, java.lang.String description, java.lang.Throwable cause)エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。GSException(int errorCode, java.lang.Throwable cause)エラー番号および原因を指定して、例外を構築します。GSException(java.lang.String message)詳細メッセージを指定して、例外を構築します。GSException(java.lang.String message, java.lang.Throwable cause)詳細メッセージおよび原因を指定して、例外を構築します。GSException(java.lang.Throwable cause)原因を指定して、例外を構築します。
 - 
Method SummaryMethods Modifier and Type Method and Description intgetErrorCode()エラー番号を取得します。java.lang.StringgetMessage()java.util.Map<java.lang.String,java.lang.String>getParameters()エラーに関するパラメータのマップを取得します。
 
- 
- 
- 
Constructor Detail- 
GSExceptionpublic GSException() 詳細メッセージを持たない例外を構築します。- See Also:
- Exception.Exception()
 
 - 
GSExceptionpublic GSException(int errorCode, java.lang.String description)エラー番号および詳細メッセージを指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- description- 詳細メッセージまたは- null
- See Also:
- Exception.Exception(String)
 
 - 
GSExceptionpublic GSException(int errorCode, java.lang.String errorName, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- errorName- エラー名または- null
- description- 詳細メッセージまたは- null
- parameters- パラメータのマップまたは- null
- cause- 原因または- null
- See Also:
- Exception.Exception(String, Throwable)
 
 - 
GSExceptionpublic GSException(int errorCode, java.lang.String errorName, java.lang.String description, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- errorName- エラー名または- null
- description- 詳細メッセージまたは- null
- cause- 原因または- null
- See Also:
- Exception.Exception(String, Throwable)
 
 - 
GSExceptionpublic GSException(int errorCode, java.lang.String description, java.lang.Throwable cause)エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- description- 詳細メッセージまたは- null
- cause- 原因または- null
- See Also:
- Exception.Exception(String, Throwable)
 
 - 
GSExceptionpublic GSException(int errorCode, java.lang.Throwable cause)エラー番号および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- cause- 原因または- null
- See Also:
- Exception.Exception(Throwable)
 
 - 
GSExceptionpublic GSException(java.lang.String message) 詳細メッセージを指定して、例外を構築します。- Parameters:
- message- 詳細メッセージまたは- null
- See Also:
- Exception.Exception(String)
 
 - 
GSExceptionpublic GSException(java.lang.String message, java.lang.Throwable cause)詳細メッセージおよび原因を指定して、例外を構築します。- Parameters:
- message- 詳細メッセージまたは- null
- cause- 原因または- null
- See Also:
- Exception.Exception(String, Throwable)
 
 - 
GSExceptionpublic GSException(java.lang.Throwable cause) 原因を指定して、例外を構築します。- Parameters:
- cause- 原因または- null
- See Also:
- Exception.Exception(Throwable)
 
 
- 
 - 
Method Detail- 
getErrorCodepublic int getErrorCode() エラー番号を取得します。対応する番号が存在しない場合は 0を返します。
 - 
getMessagepublic java.lang.String getMessage() - Overrides:
- getMessagein class- java.lang.Throwable
 
 - 
getParameterspublic java.util.Map<java.lang.String,java.lang.String> getParameters() エラーに関するパラメータのマップを取得します。エラーに関する内容について、特定の情報だけを取り出すために使用します。返却されるマップは、パラメータ名とパラメータ値の組からなるエントリの集合により構成されます。マップに含まれるパラメータについては、この例外を送出しうる個々のインタフェースまたは関連するインタフェースの定義を参照してください。 返却されるマップに含まれる情報は、 getMessage()より求まる文字列にも原則として含まれます。一方、この文字列から特定の情報だけを一定の文字列解析規則で取り出せるとは限りません。特定のバージョンのある状況下では取り出せたとしても、別の条件では意図しない情報が求まるなどして取り出せない可能性があります。返却されるマップを使用することで、インタフェースの定義で明記された一部の情報については、文字列解析を行わずに取り出せます。返却されるマップの内容だけを記録し、メッセージ文字列などその他の例外の内容を記録しなかった場合、記録された内容からエラーの原因を特定することが困難となる可能性があります。 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Throwable
- 
- java.lang.Exception
- 
- java.io.IOException
- 
- com.toshiba.mwcloud.gs.GSException
- 
- com.toshiba.mwcloud.gs.GSTimeoutException
 
 
 
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable
 
 
 public class GSTimeoutException extends GSException 要求した処理が既定の時間内に終了しなかったことを示す例外です。- Since:
- 1.5
- See Also:
- Serialized Form
 
- 
- 
Constructor SummaryConstructors Constructor and Description GSTimeoutException()詳細メッセージを持たない例外を構築します。GSTimeoutException(int errorCode, java.lang.String description)エラー番号および詳細メッセージを指定して、例外を構築します。GSTimeoutException(int errorCode, java.lang.String errorName, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。GSTimeoutException(int errorCode, java.lang.String errorName, java.lang.String description, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。GSTimeoutException(int errorCode, java.lang.String description, java.lang.Throwable cause)エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。GSTimeoutException(int errorCode, java.lang.Throwable cause)エラー番号および原因を指定して、例外を構築します。GSTimeoutException(java.lang.String message)詳細メッセージを指定して、例外を構築します。GSTimeoutException(java.lang.String message, java.lang.Throwable cause)詳細メッセージおよび原因を指定して、例外を構築します。GSTimeoutException(java.lang.Throwable cause)原因を指定して、例外を構築します。
 - 
Method Summary- 
Methods inherited from class com.toshiba.mwcloud.gs.GSExceptiongetErrorCode, getMessage, getParameters
 
- 
 
- 
- 
- 
Constructor Detail- 
GSTimeoutExceptionpublic GSTimeoutException() 詳細メッセージを持たない例外を構築します。- See Also:
- GSException.GSException()
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(int errorCode, java.lang.String description)エラー番号および詳細メッセージを指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- description- 詳細メッセージまたは- null
- See Also:
- GSException.GSException(int, String)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(int errorCode, java.lang.String errorName, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- errorName- エラー名または- null
- description- 詳細メッセージまたは- null
- parameters- パラメータのマップまたは- null
- cause- 原因または- null
- See Also:
- GSException.GSException(int, String, String, Map, Throwable)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(int errorCode, java.lang.String errorName, java.lang.String description, java.lang.Throwable cause)エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- errorName- エラー名または- null
- description- 詳細メッセージまたは- null
- cause- 原因または- null
- See Also:
- GSException.GSException(int, String, String, Throwable)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(int errorCode, java.lang.String description, java.lang.Throwable cause)エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- description- 詳細メッセージまたは- null
- cause- 原因または- null
- See Also:
- GSException.GSException(int, String, Throwable)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(int errorCode, java.lang.Throwable cause)エラー番号および原因を指定して、例外を構築します。- Parameters:
- errorCode- エラー番号
- cause- 原因または- null
- See Also:
- GSException.GSException(int, Throwable)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(java.lang.String message) 詳細メッセージを指定して、例外を構築します。- Parameters:
- message- 詳細メッセージまたは- null
- See Also:
- GSException.GSException(String)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(java.lang.String message, java.lang.Throwable cause)詳細メッセージおよび原因を指定して、例外を構築します。- Parameters:
- message- 詳細メッセージまたは- null
- cause- 原因または- null
- See Also:
- GSException.GSException(String, Throwable)
 
 - 
GSTimeoutExceptionpublic GSTimeoutException(java.lang.Throwable cause) 原因を指定して、例外を構築します。- Parameters:
- cause- 原因または- null
- See Also:
- GSException.GSException(Throwable)
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<GSType>
- 
- com.toshiba.mwcloud.gs.GSType
 
 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description BLOBBOOLBOOL_ARRAYBYTEBYTE_ARRAYDOUBLEDOUBLE_ARRAYFLOATFLOAT_ARRAYGEOMETRYINTEGERINTEGER_ARRAYLONGLONG_ARRAYSHORTSHORT_ARRAYSTRINGSTRING_ARRAYTIMESTAMPTIMESTAMP_ARRAY
 - 
Method SummaryMethods Modifier and Type Method and Description static GSTypevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static GSType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
BLOBpublic static final GSType BLOB 
 - 
BOOLpublic static final GSType BOOL 
 - 
BOOL_ARRAYpublic static final GSType BOOL_ARRAY 
 - 
BYTEpublic static final GSType BYTE 
 - 
BYTE_ARRAYpublic static final GSType BYTE_ARRAY 
 - 
DOUBLEpublic static final GSType DOUBLE 
 - 
DOUBLE_ARRAYpublic static final GSType DOUBLE_ARRAY 
 - 
FLOATpublic static final GSType FLOAT 
 - 
FLOAT_ARRAYpublic static final GSType FLOAT_ARRAY 
 - 
GEOMETRYpublic static final GSType GEOMETRY 
 - 
INTEGERpublic static final GSType INTEGER 
 - 
INTEGER_ARRAYpublic static final GSType INTEGER_ARRAY 
 - 
LONGpublic static final GSType LONG 
 - 
LONG_ARRAYpublic static final GSType LONG_ARRAY 
 - 
SHORTpublic static final GSType SHORT 
 - 
SHORT_ARRAYpublic static final GSType SHORT_ARRAY 
 - 
STRINGpublic static final GSType STRING 
 - 
STRING_ARRAYpublic static final GSType STRING_ARRAY 
 - 
TIMESTAMPpublic static final GSType TIMESTAMP 
 - 
TIMESTAMP_ARRAYpublic static final GSType TIMESTAMP_ARRAY 
 
- 
 - 
Method Detail- 
valueOfpublic static GSType valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static GSType[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (GSType c : GSType.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.Geometry
 
- 
 
 public class Geometry extends java.lang.Object2次元、もしくは3次元の空間範囲を示すジオメトリデータを管理します。このクラスのインスタンスは不変です。また、このクラスのインスタンスに対するメソッド呼び出しはスレッド安全です。 
- 
- 
Method SummaryMethods Modifier and Type Method and Description booleanequals(java.lang.Object obj)このオブジェクトと他のオブジェクトが等しいかどうかを示します。inthashCode()このオブジェクトのハッシュコード値を返します。java.lang.StringtoString()WKT(Well-Known Text)形式による文字列表現(WKT表現)を返します。static GeometryvalueOf(java.lang.String value)WKT(Well-Known Text)形式によるジオメトリデータの文字列表現(WKT表現)からGeometryを作成します。
 
- 
- 
- 
Method Detail- 
equalspublic boolean equals(java.lang.Object obj) このオブジェクトと他のオブジェクトが等しいかどうかを示します。valueOf(String)により生成したオブジェクトについて、生成元のWKT表現が文字列として互いに等価ではない場合であっても、区切り文字としての空白文字の有無やデフォルト値のSRID表記の有無といった表記の揺れ以外の違いがない場合は等価であるとみなされます。たとえば、次の3つのWKT表現より生成されるオブジェクトは、等価であるとみなされます。POLYGON((0 0,10 0,10 10,0 10,0 0)) POLYGON( (0 0,10 0,10 10,0 10,0 0) ) POLYGON((0 0,10 0,10 10,0 10,0 0);-1) 一方、領域を構成する閉じた線の始点・終点位置が異なるなどして、 WKT表現が文字列として等価になりえないものの同一の空間領域を指すオブジェクトは、等価ではないとみなされます。たとえば、次の2つのWKT表現より生成されるオブジェクトは、等価ではないとみなされます。 POLYGON((0 0,10 0,10 10,0 10,0 0)) POLYGON((0 10,0 0,10 0,10 10,0 10)) このメソッドは、 Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトは等価なハッシュコードを保持します。- Overrides:
- equalsin class- java.lang.Object
- Parameters:
- obj- 比較対象の参照オブジェクト
- Returns:
- このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
- See Also:
- hashCode()
 
 - 
hashCodepublic int hashCode() このオブジェクトのハッシュコード値を返します。このメソッドは、 Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトのハッシュコード値は等価です。- Overrides:
- hashCodein class- java.lang.Object
- Returns:
- このオブジェクトのハッシュコード値
- See Also:
- equals(Object)
 
 - 
toStringpublic java.lang.String toString() WKT(Well-Known Text)形式による文字列表現(WKT表現)を返します。返却される文字列は、区切り文字としての空白文字の有無やデフォルト値のSRID表記の有無といった表記の揺れによっては、 valueOf(String)により生成した際に指定したWKT表現と比べて等価ではない文字列となる場合があります。- Overrides:
- toStringin class- java.lang.Object
 
 - 
valueOfpublic static Geometry valueOf(java.lang.String value) throws java.lang.IllegalArgumentException WKT(Well-Known Text)形式によるジオメトリデータの文字列表現(WKT表現)からGeometryを作成します。サポート対象のWKT表現は、TQLの ST_GeomFromText関数が扱う表現範囲と同一です。ただし、空間構造QUADRATICSURFACEはコンテナに格納することはできず、検索条件としてのみ使用できます。- Parameters:
- value- 生成対象のWKT表現。- nullは指定できない
- Returns:
- WKT表現より生成されたGeometryインスタンス
- Throws:
- java.lang.IllegalArgumentException- 指定の文字列がWKT形式と一致しない場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<GeometryOperator>
- 
- com.toshiba.mwcloud.gs.GeometryOperator
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<GeometryOperator>
 
 
 public enum GeometryOperator extends java.lang.Enum<GeometryOperator> 空間範囲同士の関係性についての制約を定義します。空間範囲検索の条件指定のために使用します。 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description INTERSECT双方の空間範囲またはその外接構造が交差する関係にあることを示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static GeometryOperatorvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static GeometryOperator[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
INTERSECTpublic static final GeometryOperator INTERSECT 双方の空間範囲またはその外接構造が交差する関係にあることを示します。双方の外接直方体(Minimum Bounding Box)、もしくは外接直方体と 2次曲面が交差する関係にあることを示します。交差判定の条件は、TQLの ST_MBRIntersects関数、もしくはST_QSFMBRIntersects関数と同一です。
 
- 
 - 
Method Detail- 
valueOfpublic static GeometryOperator valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static GeometryOperator[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (GeometryOperator c : GeometryOperator.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- 
- All Superinterfaces:
- java.lang.AutoCloseable, java.io.Closeable
 
 
 public interface GridStore extends java.io.Closeable接続したGridDBシステム内のデータベースに属するデータを操作するための機能を提供します。コレクションや時系列といったコンテナの追加・削除・構成変更、ならびに、コンテナを構成するロウの操作機能を提供します。 コンテナ種別などの違いによらず、1つのデータベースのコンテナ間で、 ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。コンテナ名は、ベースコンテナ名単独、もしくは、ベースコンテナ名の後ろにノードアフィニティ名をアットマーク「@」で連結した形式で表記します。その他、コンテナの定義において使用できるコンテナ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、コンテナ名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。 このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースが送出する GSExceptionは、エラーに関する次のパラメータを含むことがあります。パラメータ名 説明 address 接続先クラスタノードのアドレス・ポート。ホスト名またはIPアドレスとポート番号とをコロン「:」で連結した文字列により構成されます。このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースにおいて、クラスタへのアクセスを伴う操作を呼び出した際にエラーを検知すると、このパラメータを含むことがあります。このパラメータを含む場合、パラメータが示すクラスタノードにおいてエラーの詳細が記録されていることがあります。 container 例外に関係しうるコンテナの名前。任意個数のコンテナを一括して扱う操作において、そのうち少なくとも一つのコンテナについての操作を行えないことが判明した場合に、このパラメータを含むことがあります。任意個数のコンテナを扱う具体的な操作については、個々のインタフェースの定義を参照してください。クラスタノードへのリクエスト準備段階でのリソース不足など、どのコンテナの問題か特定し切れないことがあるため、どのようなエラーでもこのパラメータを含むとは限りません。また、複数のコンテナについて操作できない可能性があったとしても、パラメータに含まれるのは高々一つのコンテナの名前のみです。 各メソッドのスレッド安全性は保証されません。 - See Also:
- Collection,- TimeSeries,- Container,- GSException.getParameters()
 
- 
- 
Method SummaryMethods Modifier and Type Method and Description voidclose()GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。RowcreateRow(ContainerInfo info)ContainerInfoを指定して、Rowを新規作成します。voiddropCollection(java.lang.String name)指定の名前を持つコレクションを削除します。voiddropContainer(java.lang.String name)指定の名前を持つコンテナを削除します。voiddropTimeSeries(java.lang.String name)指定の名前を持つ時系列を削除します。voidfetchAll(java.util.List<? extends Query<?>> queryList)指定された任意個数のQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。<K> Collection<K,Row>getCollection(java.lang.String name)Rowによりロウ操作できるCollectionオブジェクトを取得します。<K,R> Collection<K,R>getCollection(java.lang.String name, java.lang.Class<R> rowType)指定の名前のコレクションを操作するためのCollectionオブジェクトを取得します。<K> Container<K,Row>getContainer(java.lang.String name)ContainerInfogetContainerInfo(java.lang.String name)指定の名前のコンテナに関する情報を取得します。PartitionControllergetPartitionController()対応するGridDBクラスタについてのPartitionControllerを取得します。TimeSeries<Row>getTimeSeries(java.lang.String name)Rowによりロウ操作できるTimeSeriesオブジェクトを取得します。<R> TimeSeries<R>getTimeSeries(java.lang.String name, java.lang.Class<R> rowType)指定の名前の時系列を操作するためのTimeSeriesオブジェクトを取得します。java.util.Map<java.lang.String,java.util.List<Row>>multiGet(java.util.Map<java.lang.String,? extends RowKeyPredicate<?>> containerPredicateMap)指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。voidmultiPut(java.util.Map<java.lang.String,java.util.List<Row>> containerRowsMap)任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。<K,R> Collection<K,R>putCollection(java.lang.String name, java.lang.Class<R> rowType)コレクションを新規作成または変更します。<K,R> Collection<K,R>putCollection(java.lang.String name, java.lang.Class<R> rowType, boolean modifiable)変更オプションを指定して、コレクションを新規作成または変更します。<K> Collection<K,Row>putCollection(java.lang.String name, ContainerInfo info, boolean modifiable)ContainerInfoを指定して、コレクションを新規作成または変更します。<K,R> Container<K,R>putContainer(java.lang.String name, java.lang.Class<R> rowType, ContainerInfo info, boolean modifiable)ロウオブジェクトの型とContainerInfoを指定して、コンテナを新規作成または変更します。<K> Container<K,Row>putContainer(java.lang.String name, ContainerInfo info, boolean modifiable)ContainerInfoを指定して、コンテナを新規作成または変更します。<R> TimeSeries<R>putTimeSeries(java.lang.String name, java.lang.Class<R> rowType)時系列を新規作成または変更します。<R> TimeSeries<R>putTimeSeries(java.lang.String name, java.lang.Class<R> rowType, TimeSeriesProperties props, boolean modifiable)追加設定や変更オプションを指定して、時系列を新規作成または変更します。TimeSeries<Row>putTimeSeries(java.lang.String name, ContainerInfo info, boolean modifiable)ContainerInfoを指定して、時系列を新規作成または変更します。
 
- 
- 
- 
Method Detail- 
closevoid close() throws GSExceptionGridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。GSExceptionが送出された場合であっても、接続状態は解除やローカルのリソース解放は適宜実施されます。ただし、GridDB上のトランザクション状態などは残る可能性があります。すでにクローズ済みの場合、このメソッドを呼び出しても何の効果もありません。- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.io.Closeable
- Throws:
- GSException- 接続障害が発生した場合
 
 - 
createRowRow createRow(ContainerInfo info) throws GSException ContainerInfoを指定して、Rowを新規作成します。Containerにて規定された制約に合致するよう、ColumnInfoのリストならびにロウキーの有無を含むカラムレイアウトをContainerInfoに指定します。また、コンテナ種別を ContainerInfoに含めることで、特定のコンテナ種別固有の制約に合致するかどうかを検証できます。ただし、作成されたRowに対してRow.getSchema()を呼び出したとしても、コンテナ種別は含まれません。作成された Rowの各フィールドには、指定のContainerInfoに含まれる各カラムのColumnInfoに基づいた初期値が設定されます。初期値として、ColumnInfo.getDefaultValueNull()の戻り値に応じた次の値が使用されます。ColumnInfo.getDefaultValueNull()の戻り値初期値 trueNULL。ただし制約に反するロウは作成できない。 false空の値。 Containerの定義を参照。null現バージョンでは、戻り値が falseの場合と同様。- Parameters:
- info- カラムレイアウトを含むコンテナ情報。その他の内容は無視される
- Returns:
- 作成されたRow
- Throws:
- GSException- コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
- GSException- クローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
- See Also:
- Container
 
 - 
dropCollectionvoid dropCollection(java.lang.String name) throws GSException指定の名前を持つコレクションを削除します。削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、 dropContainer(String)と同様です。- Parameters:
- name- 処理対象のコレクションの名前
- Throws:
- GSException- 種別の異なるコンテナを削除しようとした場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
dropContainervoid dropContainer(java.lang.String name) throws GSException指定の名前を持つコンテナを削除します。削除済みの場合は何も変更しません。 処理対象のコンテナにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから削除を行います。 コンテナの削除要求が完了した直後は、削除したコンテナの索引やロウなどのために使用されていたメモリやストレージ領域を他の用途にただちに再利用できない場合があります。また、削除処理に関連した処理がクラスタ上で動作することにより、削除前と比べて負荷が高まる期間が一定程度継続する場合があります。 - Parameters:
- name- 処理対象のコンテナの名前
- Throws:
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
- See Also:
- dropCollection(String),- dropTimeSeries(String)
 
 - 
dropTimeSeriesvoid dropTimeSeries(java.lang.String name) throws GSException指定の名前を持つ時系列を削除します。削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、 dropContainer(String)と同様です。- Parameters:
- name- 処理対象の時系列の名前
- Throws:
- GSException- 種別の異なるコンテナを削除しようとした場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
fetchAllvoid fetchAll(java.util.List<? extends Query<?>> queryList) throws GSException 指定された任意個数のQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。指定のリストに含まれる各 Queryに対して、個別にQuery.fetch()を行った場合と同様にクエリ実行とフェッチを行い、結果のRowSetを設定します。各Queryの実行結果を取り出すには、Query.getRowSet()を使用します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、リストの要素数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。リスト内のQueryの実行順序は不定です。指定のリストには、この GridStoreオブジェクトを介して得られた、対応するContainerを含めクローズされていないQueryのみを含めることができます。Query.fetch()と同様、各Queryが持つ最後に生成されたRowSetがクローズされます。同一のインスタンスがリストに複数含まれていた場合、それぞれ異なるインスタンスであった場合と同様に振る舞います。他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。 指定の Queryに対応する各Containerのコミットモードが自動コミットモード、手動コミットモードのいずれであったとしても、使用できます。トランザクション状態はクエリの実行結果に反映されます。正常に操作が完了した場合、トランザクションタイムアウト時間に到達しない限り、対応する各Containerのトランザクションをアボートすることはありません。各 Queryに対する処理の途中で例外が発生した場合、一部のQueryについてのみ新たなRowSetが設定されることがあります。また、指定のQueryに対応する各Containerの未コミットのトランザクションについては、アボートされることがあります。一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。 送出する GSExceptionは、containerパラメータを含むことがあります。エラーに関するパラメータの詳細は、GridStoreの定義を参照してください。- Parameters:
- queryList- 対象とする- Queryのリスト
- Throws:
- GSException- この- GridStoreオブジェクトを介して得られた- Query以外の- Queryが含まれていた場合
- GSException- 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、このクエリを作成する機能の各種定義を参照のこと
- GSException- TQLを実行した際、実行結果が期待する結果- RowSetの各要素の型と合致しない場合
- GSException- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数- queryListに- nullが指定された場合、または、引数- queryListの要素として- nullが含まれていた場合
- java.lang.NullPointerException- このクエリを作成する際に与えられたパラメータの中に、許容されない- nullが含まれていた場合。GridDB上で実行される TQL文の評価処理の結果として送出されることはない
- Since:
- 1.5
- See Also:
- Query.fetch()
 
 - 
getCollection<K> Collection<K,Row> getCollection(java.lang.String name) throws GSException Rowによりロウ操作できるCollectionオブジェクトを取得します。期待するコンテナ種別が ContainerType.COLLECTIONに限定され、返却される型がCollectionとなる点を除き、getContainer(String)と同様に振る舞います。- Returns:
- コレクションが存在する場合は対応するCollection、存在しない場合はnull
- Throws:
- GSException- 同名の時系列が存在する場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
- See Also:
- getContainer(String)
 
 - 
getCollection<K,R> Collection<K,R> getCollection(java.lang.String name, java.lang.Class<R> rowType) throws GSException 指定の名前のコレクションを操作するためのCollectionオブジェクトを取得します。指定の型とカラムレイアウトとの対応関係については、 Containerの定義を参照してください。- Parameters:
- name- 処理対象のコレクションの名前
- rowType- 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
- Returns:
- コレクションが存在する場合は対応するCollection、存在しない場合はnull
- Throws:
- GSException- 同名の時系列が存在する場合
- GSException- 指定の型と既存のカラムレイアウトが一致しない場合
- GSException- 指定の型がロウオブジェクトの型として適切でない場合。詳しくは- Containerの定義を参照
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
getContainer<K> Container<K,Row> getContainer(java.lang.String name) throws GSException Rowによりロウ操作できるContainerオブジェクトを取得します。次の点を除き、 getCollection(String, Class)もしくはgetTimeSeries(String, Class)と同様に振る舞います。- 既存のコンテナの種別ならびにカラムレイアウトに基づきContainerオブジェクトを返却する
- コンテナの種別ならびにカラムレイアウトを指定しないため、これらの不一致に伴うエラーが発生しない
- 返却されるContainerのロウオブジェクトの型が常にRowとなる
 それぞれの同名の引数 nameの用法についても同様です。- Parameters:
- name- 処理対象のコンテナの名前
- Returns:
- コンテナが存在する場合は対応するContainer、存在しない場合はnull。コンテナが存在し、種別がContainerType.COLLECTIONであった場合はCollection、ContainerType.TIME_SERIESであった場合はTimeSeriesのインスタンスとなる。
- Throws:
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
- See Also:
- getCollection(String, Class),- getTimeSeries(String, Class)
 
- 既存のコンテナの種別ならびにカラムレイアウトに基づき
 - 
getContainerInfoContainerInfo getContainerInfo(java.lang.String name) throws GSException 指定の名前のコンテナに関する情報を取得します。返却される ContainerInfoに含まれるコンテナ名は、GridDB上に格納されているものが設定されます。したがって、指定したコンテナ名と比較すると、 ASCIIの大文字・小文字表記が異なる場合があります。カラム順序を無視するかどうかについては、無視しない状態に設定されます。この設定は、 ContainerInfo.isColumnOrderIgnorable()を通じて確認できます。現バージョンでは、初期値でのNULL使用有無は未設定状態で求まります。ただし今後のバージョンでは設定される可能性があります。この設定は、各カラムの ColumnInfo.getDefaultValueNull()を通じて確認できます。- Parameters:
- name- 処理対象のコンテナの名前
- Returns:
- 指定の名前のコンテナに関する情報
- Throws:
- GSException- GSExceptionこの処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
getPartitionControllerPartitionController getPartitionController() throws GSException 対応するGridDBクラスタについてのPartitionControllerを取得します。この GridStoreをクローズした時点で使用できなくなります。- Returns:
- 対応するGridDBクラスタについてのPartitionController
- Throws:
- GSException- クローズ後に呼び出された場合
- Since:
- 1.5
- See Also:
- PartitionController
 
 - 
getTimeSeriesTimeSeries<Row> getTimeSeries(java.lang.String name) throws GSException Rowによりロウ操作できるTimeSeriesオブジェクトを取得します。期待するコンテナ種別が ContainerType.TIME_SERIESに限定され、返却される型がTimeSeriesとなる点を除き、getTimeSeries(String)と同様に振る舞います。- Returns:
- 時系列が存在する場合は対応するTimeSeries、存在しない場合はnull
- Throws:
- GSException- 同名のコレクションが存在する場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- Since:
- 1.5
- See Also:
- getContainer(String)
 
 - 
getTimeSeries<R> TimeSeries<R> getTimeSeries(java.lang.String name, java.lang.Class<R> rowType) throws GSException 指定の名前の時系列を操作するためのTimeSeriesオブジェクトを取得します。指定の型とカラムレイアウトとの対応関係については、 Containerの定義を参照してください。- Parameters:
- name- 処理対象の時系列の名前
- rowType- 処理対象の時系列のカラムレイアウトと対応するロウオブジェクトの型
- Returns:
- 時系列が存在する場合は対応するTimeSeries、存在しない場合はnull
- Throws:
- GSException- 同名のコレクションが存在する場合
- GSException- 指定の型と既存のカラムレイアウトが一致しない場合
- GSException- 指定の型がロウオブジェクトの型として適切でない場合。詳しくは- Containerの定義を参照
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
multiGetjava.util.Map<java.lang.String,java.util.List<Row>> multiGet(java.util.Map<java.lang.String,? extends RowKeyPredicate<?>> containerPredicateMap) throws GSException 指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。指定のマップに含まれる条件に従い、個別に Container.get(Object)もしくはQuery.fetch()を呼び出した場合と同様に、ロウの内容を取得します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や条件に合致するロウの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。指定のマップは、コンテナ名をキー、 RowKeyPredicateで表現される取得条件を値とする任意個数のエントリから構成されます。同一のRowKeyPredicateインスタンスを複数含めることもできます。また、対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、コンテナの構成によっては評価できない取得条件が存在します。具体的な制限については、RowKeyPredicateに対する各種設定機能の定義を参照してください。マップのキーまたは値としてnullを含めることはできません。返却されるマップは、コンテナ名をキー、ロウオブジェクトのリストを値とするエントリにより構成されます。また、返却されるマップには、取得条件として指定したマップに含まれるコンテナ名のうち、リクエスト時点で実在するコンテナに関するエントリのみが含まれます。 ASCIIの大文字・小文字表記だけが異なり同一のコンテナを指すコンテナ名の設定された、複数のエントリが指定のマップに含まれていた場合、返却されるマップにはこれらを1つにまとめたエントリが格納されます。同一のリストに複数のロウオブジェクトが含まれる場合、格納される順序はコンテナ種別と対応する Containerのサブインタフェースの定義に従います。指定のコンテナに対応するロウが1つも存在しない場合、対応するロウオブジェクトのリストは空になります。返却されたマップもしくはマップに含まれるリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。 Container.get(Object, boolean)もしくはQuery.fetch(boolean)のように、トランザクションを維持し、更新用ロックを要求することはできません。一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。 送出する GSExceptionは、containerパラメータを含むことがあります。エラーに関するパラメータの詳細は、GridStoreの定義を参照してください。- Parameters:
- containerPredicateMap- 対象とするコンテナの名前と条件からなるマップ
- Returns:
- 条件に合致するロウ集合をコンテナ別に保持するマップ
- Throws:
- GSException- 指定のコンテナに関して評価できない取得条件が指定された場合
- GSException- この処理またはトランザクションのタイムアウト、接続障害が発生した場合、クローズ後に呼び出された場合
- java.lang.NullPointerException- 引数- containerPredicateMapとして- nullが指定された場合、このマップのキーまたは値として- nullが含まれていた場合
- Since:
- 1.5
- See Also:
- Container.get(Object),- Query.fetch(),- RowKeyPredicate
 
 - 
multiPutvoid multiPut(java.util.Map<java.lang.String,java.util.List<Row>> containerRowsMap) throws GSException 任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。指定のマップに含まれる各ロウオブジェクトについて、個別に Container.put(Object)を呼び出した場合と同様に新規作成または更新操作を行います。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や指定のロウオブジェクトの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。指定のマップは、コンテナ名をキー、ロウオブジェクトのリストを値とする任意個数のエントリから構成されます。対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、すでに存在するコンテナでなければなりません。マップのキーまたは値として nullを含めることはできません。各ロウオブジェクトのリストには、対象のコンテナと同一のカラムレイアウトの Rowのみを任意個数含めることができます。現バージョンでは、カラム順序についてもすべて同一でなければなりません。リストの要素としてnullを含めることはできません。コンテナの種別ならびに設定によっては、操作できるロウの内容について Container.put(Object)と同様の制限が設けられています。具体的な制限事項は、Containerのサブインタフェースの定義を参照してください。指定のマップ内に同一コンテナを対象とした同一ロウキーを持つ複数のロウオブジェクトが存在する場合、異なるリスト間であればマップエントリ集合のイテレータからの取り出し順、同一リスト内であればリストの要素順を基準として、同値のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。 トランザクションを維持し、ロックを保持し続けることはできません。ただし、既存のトランザクションが対象ロウに影響するロックを確保している場合、すべてのロックが解放されるまで待機し続けます。 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。 各コンテナならびにロウに対する処理の途中で例外が発生した場合、一部のコンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。 送出する GSExceptionは、containerパラメータを含むことがあります。エラーに関するパラメータの詳細は、GridStoreの定義を参照してください。- Parameters:
- containerRowsMap- 対象とするコンテナの名前とロウオブジェクトのリストからなるマップ
- Throws:
- GSException- 対象とするコンテナが存在しない場合、また、対象とするコンテナとロウオブジェクトとのカラムレイアウトが一致しない場合
- GSException- 特定コンテナ種別固有の制限に反する操作を行った場合
- GSException- この処理またはトランザクションのタイムアウト、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
- java.lang.NullPointerException- 引数- containerRowsMapとして- nullが指定された場合、このマップのキーまたは値として- nullが含まれていた場合、もしくは、マップを構成するリストの要素として- nullが含まれていた場合
- Since:
- 1.5
- See Also:
- Container.put(Object)
 
 - 
putCollection<K,R> Collection<K,R> putCollection(java.lang.String name, java.lang.Class<R> rowType) throws GSException コレクションを新規作成または変更します。同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトに従い、新規にコレクションを作成します。すでに同名のコンテナが存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getCollection(String, Class)と同様に振る舞います。指定の型とカラムレイアウトとの対応関係については、 Containerの定義を参照してください。すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。 - Parameters:
- name- 処理対象のコレクションの名前
- rowType- 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
- Returns:
- 対応するCollection
- Throws:
- GSException- 同名のコレクションが存在する場合。または、既存の同名の時系列に関してカラムレイアウトならびに追加設定の内容が一致しない場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
putCollection<K,R> Collection<K,R> putCollection(java.lang.String name, java.lang.Class<R> rowType, boolean modifiable) throws GSException 変更オプションを指定して、コレクションを新規作成または変更します。同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトに従い、新規にコレクションを作成します。すでに同名のコレクションが存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getCollection(String, Class)と同様に振る舞います。modifiableがtrueであり、すでに同名のコレクションが存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存のコレクションにない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除はできません。コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。 新たに追加されるカラムの値は、 Containerにて定義されている空の値を初期値として初期化されます。指定の型とカラムレイアウトとの対応関係については、 Containerの定義を参照してください。すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。 ロウキーを持つコレクションを新規に作成する場合、ロウキーに対し、 Container.createIndex(String)にて定義されているデフォルト種別の索引が作成されます。この索引は、削除することができます。現バージョンでは、コンテナの規模など諸条件を満たした場合、カラムレイアウトの変更開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、更新ロックなしでのロウの参照操作を行える場合があります。それ以外の操作は、 Containerでの定義通り待機させる場合があります。カラムレイアウトの変更途中に別の操作が行われる場合は、変更前のカラムレイアウトが使用されます。- Parameters:
- name- 処理対象のコレクションの名前
- rowType- 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
- modifiable- 既存コレクションのカラムレイアウト変更を許可するかどうか
- Returns:
- 対応するCollection
- Throws:
- GSException- 同名の時系列が存在する場合。または、- modifiableが- falseであり、既存の同名のコレクションに関してカラムレイアウトの内容が一致しない場合や、- modifiableが- trueであり、既存の同名のコレクションに関して変更できない項目を変更しようとした場合
- GSException- 指定の型がロウオブジェクトの型として適切でない場合。詳しくは- Containerの定義を参照
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
putCollection<K> Collection<K,Row> putCollection(java.lang.String name, ContainerInfo info, boolean modifiable) throws GSException ContainerInfoを指定して、コレクションを新規作成または変更します。コンテナ種別が ContainerType.COLLECTIONに限定され、返却される型がCollectionとなる点を除き、putContainer(String, ContainerInfo, boolean)と同様に振る舞います。- Parameters:
- name- 処理対象のコレクションの名前
- info- 処理対象のコレクションの情報。コンテナ種別には- nullもしくは- ContainerType.COLLECTIONのいずれかを指定
- modifiable- 既存コレクションのカラムレイアウト変更を許可するかどうか
- Returns:
- 対応するCollection
- Throws:
- GSException- コンテナ種別以外の指定内容に関して、- putContainer(String, ContainerInfo, boolean)の規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数- infoに- nullが指定された場合
- Since:
- 1.5
- See Also:
- putContainer(String, ContainerInfo, boolean)
 
 - 
putContainer<K,R> Container<K,R> putContainer(java.lang.String name, java.lang.Class<R> rowType, ContainerInfo info, boolean modifiable) throws GSException ロウオブジェクトの型とContainerInfoを指定して、コンテナを新規作成または変更します。主に、ロウオブジェクトの型を指定して、追加設定を持つコンテナを新規作成する場合に使用します。 カラムレイアウトならびにカラム順序の無視設定を ContainerInfoに指定できない点を除けば、putContainer(String, ContainerInfo, boolean)と同様です。- Parameters:
- name- 処理対象のコンテナの名前
- rowType- 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
- info- 処理対象のコンテナの情報。- nullの場合は無視される
- modifiable- 既存コンテナのカラムレイアウト変更を許可するかどうか
- Returns:
- 対応するContainer。コンテナ種別としてContainerType.COLLECTIONを指定した場合はCollection、ContainerType.TIME_SERIESを指定した場合はTimeSeriesのインスタンスとなる。
- Throws:
- GSException-- nameならびに- info引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更メソッドの規則に合致しない場合
- GSException- 指定の型がロウオブジェクトの型として適切でない場合。詳しくは- Containerの定義を参照
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException-- rowType引数に- nullが指定された場合
- Since:
- 2.1
- See Also:
- putContainer(String, ContainerInfo, boolean),- putCollection(String, Class, boolean),- putTimeSeries(String, Class, TimeSeriesProperties, boolean)
 
 - 
putContainer<K> Container<K,Row> putContainer(java.lang.String name, ContainerInfo info, boolean modifiable) throws GSException ContainerInfoを指定して、コンテナを新規作成または変更します。次の点を除き、 putCollection(String, Class, boolean)もしくはputTimeSeries(String, Class, TimeSeriesProperties, boolean)と同様に振る舞います。- ContainerInfoを用いてコンテナ種別、カラムレイアウト、ならびに、必要に応じ時系列構成オプションを指定する
- 返却されるContainerのロウオブジェクトの型が常にRowとなる
 それぞれの同名の引数 modifiableの用法についても同様です。コンテナに関する情報の指定方法の一覧は次の通りです。 項目 引数 説明 コンテナ名 nameまたはinfo少なくともいずれかの引数に nullではない値を指定する。両方に指定する場合、異なる値を指定してはならない。コンテナ種別 infonullではない値を指定する。ContainerType.COLLECTIONを指定した場合、putCollection(String, Class, boolean)と同様の振る舞いとなる。ContainerType.TIME_SERIESを指定した場合、putTimeSeries(String, Class, TimeSeriesProperties, boolean)と同様の振る舞いとなる。カラムレイアウト infoContainerにて規定された制約に合致するようColumnInfoのリストならびにロウキーの有無を設定する。ただし現バージョンでは、ColumnInfo.getDefaultValueNull()がnull以外を返すようなColumnInfoを含めることはできない。カラム順序の無視 info無視する場合、同名の既存のコンテナのカラム順序と一致するかどうかを検証しない。 時系列構成オプション infoコンテナ種別が ContainerType.TIME_SERIESの場合のみ、nullではない値を指定できる。索引設定 info現バージョンでは無視される。今後のバージョンでは、 Container.createIndex(String, IndexType)の規則に合致しない設定が含まれていた場合、例外が送出される可能性がある。トリガ設定 info現バージョンでは無視される。今後のバージョンでは、 Container.createTrigger(TriggerInfo)の規則に合致しない設定が含まれていた場合、例外が送出される可能性がある。コンテナ類似性 infonull以外を指定し新規作成する場合、指定の内容が反映される。既存コンテナの設定を変更することはできない。nullを指定した場合は無視される。- Parameters:
- name- 処理対象のコンテナの名前
- info- 処理対象のコンテナの情報
- modifiable- 既存コンテナのカラムレイアウト変更を許可するかどうか
- Returns:
- 対応するContainer。コンテナ種別としてContainerType.COLLECTIONを指定した場合はCollection、ContainerType.TIME_SERIESを指定した場合はTimeSeriesのインスタンスとなる。
- Throws:
- GSException-- nameならびに- info引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更メソッドの規則に合致しない場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException-- info引数に- nullが指定された場合
- Since:
- 1.5
- See Also:
- putCollection(String, Class, boolean),- putTimeSeries(String, Class, TimeSeriesProperties, boolean),- Container
 
 - 
putTimeSeries<R> TimeSeries<R> putTimeSeries(java.lang.String name, java.lang.Class<R> rowType) throws GSException 時系列を新規作成または変更します。同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトに従い、新規に時系列を作成します。すでに同名の時系列が存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getTimeSeries(String, Class)と同様に振る舞います。指定の型とカラムレイアウトとの対応関係については、 Containerの定義を参照してください。すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。 - Parameters:
- name- 処理対象の時系列の名前
- rowType- 処理対象の時系列のカラムレイアウトと対応するロウオブジェクトの型
- Returns:
- 対応するTimeSeries
- Throws:
- GSException- 同名のコレクションが存在する場合。または、既存の同名の時系列に関してカラムレイアウトならびに追加設定の内容が一致しない場合
- GSException- 指定の型がロウオブジェクトの型として適切でない場合。詳しくは- Containerの定義を参照
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
putTimeSeries<R> TimeSeries<R> putTimeSeries(java.lang.String name, java.lang.Class<R> rowType, TimeSeriesProperties props, boolean modifiable) throws GSException 追加設定や変更オプションを指定して、時系列を新規作成または変更します。同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトや追加設定に従い、新規に時系列を作成します。すでに同名の時系列が存在し、既存のカラムレイアウトならびに追加設定の内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getTimeSeries(String, Class)と同様に振る舞います。modifiableがtrueであり、すでに同名の時系列が存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存の時系列にない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除、時系列構成オプションの変更はできません。時系列構成オプションを指定する場合は、既存の設定内容とすべて同値にする必要があります。コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。 新たに追加されるカラムの初期値については、 putCollection(String, Class, boolean)の定義を参照してください。指定の型とカラムレイアウトとの対応関係については、 Containerの定義を参照してください。すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。 - Parameters:
- name- 処理対象の時系列の名前
- rowType- 処理対象の時系列のカラムレイアウトと対応するロウオブジェクトの型
- props- 時系列の構成オプション。- nullを指定すると、同名の時系列が存在する場合は既存の設定が継承され、存在しない場合は初期状態の- TimeSeriesPropertiesを指定したものとみなされる。
- modifiable- 既存時系列のカラムレイアウト変更を許可するかどうか
- Returns:
- 対応するTimeSeries
- Throws:
- GSException- 同名のコレクションが存在する場合。または、- modifiableが- falseであり、既存の同名の時系列に関してカラムレイアウトならびに追加設定の内容が一致しない場合や、- modifiableが- trueであり、既存の同名の時系列に関して変更できない項目を変更しようとした場合
- GSException- 指定の型がロウオブジェクトの型として適切でない場合。詳しくは- Containerの定義を参照
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
 
 - 
putTimeSeriesTimeSeries<Row> putTimeSeries(java.lang.String name, ContainerInfo info, boolean modifiable) throws GSException ContainerInfoを指定して、時系列を新規作成または変更します。コンテナ種別が ContainerType.TIME_SERIESに限定され、返却される型がTimeSeriesとなる点を除き、putContainer(String, ContainerInfo, boolean)と同様に振る舞います。- Parameters:
- name- 処理対象の時系列の名前
- info- 処理対象の時系列の情報。コンテナ種別には- nullもしくは- ContainerType.TIME_SERIESのいずれかを指定
- modifiable- 既存時系列のカラムレイアウト変更を許可するかどうか
- Returns:
- 対応するTimeSeries
- Throws:
- GSException- コンテナ種別以外の指定内容に関して、- putContainer(String, ContainerInfo, boolean)の規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数- infoに- nullが指定された場合
- Since:
- 1.5
- See Also:
- putContainer(String, ContainerInfo, boolean)
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.GridStoreFactory
 
- 
- All Implemented Interfaces:
- java.io.Closeable, java.lang.AutoCloseable
 
 
 public abstract class GridStoreFactory extends java.lang.Object implements java.io.CloseableGridStoreインスタンスを管理します。GridStoreインスタンス共通のクライアント設定や使用済みのコネクションを管理します。GridDBにアクセスするためには、このファクトリを介して GridStoreインスタンスを取得する必要があります。このクラスの公開メソッドは、すべてスレッド安全です。 また、クライアントロギングとクライアント設定ファイルの機能を使用できます。 クライアントロギング クラスパスにロギングライブラリを含めることで、ログ出力を有効にした場合にログを出力できます。 ロギングフレームワークはSLF4Jを使用します。ロガーの名称は「com.toshiba.mwcloud.gs.GridStoreLogger」で始まります。また、SLF4Jのバージョンは1.6.0以上を推奨しています。 クライアント設定ファイル 設定ファイル「gs_client.properties」を含むディレクトリと、設定ライブラリ「gridstore-conf.jar」をクラスパスに共に含めることで、 GridStoreFactoryに設定ファイルの内容を適用することができます。設定ファイルを用いることで、アプリケーションコードを修正せずに、接続設定を変更できます。設定ファイルには以下のPropertiesオブジェクトと同じプロパティ項目を指定できます。設定ファイルの内容はPropertiesオブジェクトの設定より優先的に適用されます。- factoryカテゴリプロパティ
- 有効なプロパティの項目はsetProperties(Properties)の仕様に準拠します。
- 以下のように「factory.」をプロパティ名の前に付けて記述します。 factory.maxConnectionPoolSize = 10 
- storeカテゴリプロパティ
- 有効なプロパティの項目はgetGridStore(Properties)の仕様に準拠します。
- 以下のように「store.」をプロパティ名の前に付けて記述します。 store.clusterName = Project1 
- 
 以下の場合は例外が発生します。 - 設定ファイルを含む複数のディレクトリがクラスパスに含まれる場合
- 設定ライブラリのみがクラスパスに含まれる場合
- 存在しないカテゴリ名が指定された場合
- プロパティ名がカテゴリ名のみからなる場合
 また、設定ファイルを含むディレクトリのみがクラスパスに含まれ、設定ライブラリがクラスパスに含まれない場合には、設定ファイルの内容は適用されません。 
 
- 
- 
Constructor SummaryConstructors Modifier Constructor and Description protectedGridStoreFactory()
 - 
Method SummaryMethods Modifier and Type Method and Description abstract voidclose()このファクトリより作成されたGridStoreをすべてクローズし、必要に応じて関連するリソースを解放します。abstract GridStoregetGridStore(java.util.Properties properties)指定のプロパティを持つGridStoreを取得します。static GridStoreFactorygetInstance()デフォルトのインスタンスを取得します。abstract voidsetProperties(java.util.Properties properties)このファクトリの設定を変更します。
 
- 
- 
- 
Method Detail- 
closepublic abstract void close() throws GSExceptionこのファクトリより作成されたGridStoreをすべてクローズし、必要に応じて関連するリソースを解放します。GSExceptionが送出された場合でも、関連するコネクションリソースはすべて解放されます。すでにクローズ済みの場合、このメソッドを呼び出しても何の効果もありません。なお、現在のVMの終了時にも呼び出されます。- Specified by:
- closein interface- java.io.Closeable
- Specified by:
- closein interface- java.lang.AutoCloseable
- Throws:
- GSException- クローズ処理中に接続障害などが発生した場合
- See Also:
- Closeable.close()
 
 - 
getGridStorepublic abstract GridStore getGridStore(java.util.Properties properties) throws GSException 指定のプロパティを持つGridStoreを取得します。GridStoreを取得した時点では、各Containerを管理するマスタノード(以下、マスタ)のアドレス探索を必要に応じて行うだけであり、認証処理は行われません。実際に各Containerに対応するノードに接続する必要が生じたタイミングで、認証処理が行われます。以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。 名称 説明 host 接続先ホスト名。IPアドレス(IPV4のみ)も可。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しない port 接続先ポート番号。 0から65535までの数値の文字列表現。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しないnotificationAddress マスタ自動検出に用いられる通知情報を受信するためのIPアドレス(IPV4のみ)。省略時はデフォルトのアドレスを使用。 notificationMemberおよびnotificationProviderと同時に指定することはできない notificationPort マスタ自動検出に用いられる通知情報を受信するためのポート番号。 0から65535までの数値の文字列表現。省略時はデフォルトのポートを使用clusterName クラスタ名。接続先のクラスタに設定されているクラスタ名と一致するかどうかを確認するために使用される。省略時もしくは空文字列を指定した場合、クラスタ名の確認は行われない database 接続先のデータベース名。省略時は全てのユーザがアクセス可能な「public」データベースに自動接続される。接続ユーザは接続データベースに属するコンテナを操作できる。 user ユーザ名 password ユーザ認証用のパスワード consistency 次のいずれかの一貫性レベル。 - "IMMEDIATE"
- 他のクライアントからの更新結果は、該当トランザクションの完了後即座に反映される
- "EVENTUAL"
- 他のクライアントからの更新結果は、該当トランザクションが完了した後でも反映されない場合がある。 Containerに対する更新操作は実行できない
 "IMMEDIATE"が適用されますtransactionTimeout トランザクションタイムアウト時間の最低値。関係する Containerにおける各トランザクションの開始時点から適用。0以上Integer.MAX_VALUEまでの値の文字列表現であり、単位は秒。ただし、タイムアウト時間として有効に機能する範囲に上限があり、上限を超える指定は上限値が指定されたものとみなされる。0の場合、後続のトランザクション処理がタイムアウトエラーになるかどうかは常に不定となる。省略時は接続先GridDB上のデフォルト値を使用failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。 0以上Integer.MAX_VALUEまでの数値の文字列表現であり、単位は秒。0の場合、フェイルオーバ処理を行わない。省略時はこのファクトリの設定値を使用containerCacheSize コンテナキャッシュに格納するコンテナ情報の最大個数。 0以上Integer.MAX_VALUEまでの数値の文字列表現。値が0の場合、コンテナキャッシュを使用しないことを意味する。Containerを取得する際にキャッシュにヒットした場合は、 GridDBへのコンテナ情報の問い合わせを行わない。省略時は既存の設定値を使用。バージョン1.5よりサポートdataAffinityPattern データアフィニティ機能のアフィニティ文字列を次のようにコンテナパターンとペアで任意個数指定する。 (コンテナ名パターン1)=(アフィニティ文字列1),(コンテナ名パターン2)=(アフィニティ文字列2),... ContainerInfo.setDataAffinity(String)が未指定のContainerを追加する際に、コンテナ名が指定したいずれかのコンテナ名パターンに合致する場合に、ペアで指定したアフィニティ文字列が適用される。複数のコンテナ名パターンが合致する場合は、記述された順番で最初に合致したパターンが用いられる。コンテナ名パターンはワイルドカード「%」を使用できる他は、コンテナ名の規則に準拠する。アフィニティ文字列はContainerInfo.setDataAffinity(String)の規則に準拠する。パターンやその区切りに使用される記号をコンテナ名などに用いるには、「\」を用いてエスケープする。ただしコンテナ名やアフィニティ文字列の規則に反する記号は使用できない。バージョン2.7よりサポートnotificationMember 固定リスト方式を使用して構成されたクラスタに接続する場合に、クラスタノードのアドレス・ポートのリストを次のように指定する。 (アドレス1):(ポート1),(アドレス2):(ポート2),... notificationAddressおよびnotificationProviderと同時に指定することはできない。バージョン2.9よりサポートnotificationProvider プロバイダ方式を使用して構成されたクラスタに接続する場合に、アドレスプロバイダのURLを指定する。 notificationAddressおよびnotificationMemberと同時に指定することはできない。バージョン2.9よりサポート クラスタ名、データベース名、ユーザ名、パスワードについては、 ASCIIの大文字・小文字表記の違いがいずれも区別されます。その他、これらの定義に使用できる文字種や長さの上限などの制限については、 GridDBテクニカルリファレンスを参照してください。ただし、制限に反する文字列をプロパティ値として指定した場合、各ノードへの接続のタイミングまでエラーが検知されないことや、認証情報の不一致など別のエラーになることがあります。 取得のたびに、新たな GridStoreインスタンスが生成されます。異なるGridStoreインスタンスならびに関連するオブジェクトに対する操作は、スレッド安全です。すなわち、ある2つのオブジェクトがそれぞれGridStoreインスタンスを基にして生成されたものまたはGridStoreインスタンスそのものであり、かつ、該当する関連GridStoreインスタンスが異なる場合、一方のオブジェクトに対してどのスレッドからどのタイミングでメソッドが呼び出されていたとしても、他方のオブジェクトのメソッドを呼び出すことができます。ただし、GridStore自体のスレッド安全性は保証されていないため、同一GridStoreインスタンスに対して複数スレッドから任意のタイミングでメソッド呼び出しすることはできません。- Parameters:
- properties- 取得設定を指示するためのプロパティ
- Throws:
- GSException- 指定のホストについて名前解決できなかった場合
- GSException- 指定のプロパティが上で説明した形式・制限に合致しないことを検知できた場合
- GSException- すでにクローズ済みの場合
- java.lang.NullPointerException-- propertiesに- nullが指定された場合
 
 - 
getInstancepublic static GridStoreFactory getInstance() デフォルトのインスタンスを取得します。このクラスのロード時に、 GridStoreFactoryクラスのデフォルトのサブクラスがロードされ、インスタンスが生成されます。
 - 
setPropertiespublic abstract void setProperties(java.util.Properties properties) throws GSExceptionこのファクトリの設定を変更します。設定の変更は、このファクトリより生成された GridStore、ならびに、今後このファクトリで生成されるGridStoreに反映されます。以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。 名称 説明 maxConnectionPoolSize 内部で使用されるコネクションプールの最大コネクション数。 0以上Integer.MAX_VALUEまでの数値の文字列表現。値が0の場合、コネクションプールを使用しないことを意味する。省略時は既存の設定値を使用failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。 0以上Integer.MAX_VALUEまでの数値の文字列表現であり、単位は秒。0の場合、フェイルオーバ処理を行わない。省略時は既存の設定値を使用- Throws:
- GSException- 指定のプロパティが上で説明した形式に合致しない場合
- GSException- すでにクローズ済みの場合
- java.lang.NullPointerException-- propertiesに- nullが指定された場合
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.IndexInfo
 
- 
 
 public class IndexInfo extends java.lang.Object索引の設定内容を表します。カラム名の表記やカラム番号の妥当性について、必ずしも検査するとは限りません。 - Since:
- 3.5
 
- 
- 
Constructor SummaryConstructors Constructor and Description IndexInfo()空の索引情報を作成します。IndexInfo(IndexInfo info)指定の内容を引き継ぎ、新たな索引情報を作成します。
 - 
Method SummaryMethods Modifier and Type Method and Description static IndexInfocreateByColumn(java.lang.String columnName, IndexType type)必要に応じカラム名と索引種別を指定して索引情報を作成します。static IndexInfocreateByName(java.lang.String name, IndexType type)必要に応じ索引名と索引種別を指定して索引情報を作成します。java.lang.IntegergetColumn()索引に対応するカラムのカラム番号を取得します。java.lang.StringgetColumnName()索引に対応するカラムのカラム名を取得します。java.lang.StringgetName()索引名を取得します。IndexTypegetType()索引種別を取得します。voidsetColumn(java.lang.Integer column)索引に対応するカラムのカラム番号を設定します。voidsetColumnName(java.lang.String columnName)索引に対応するカラムのカラム名を設定します。voidsetName(java.lang.String name)索引名を設定します。voidsetType(IndexType type)索引種別を設定します。
 
- 
- 
- 
Constructor Detail- 
IndexInfopublic IndexInfo() 空の索引情報を作成します。索引種別、索引名、カラム番号、カラム名がいずれも未設定の状態の索引情報を作成します。 
 - 
IndexInfopublic IndexInfo(IndexInfo info) 指定の内容を引き継ぎ、新たな索引情報を作成します。- Parameters:
- info- 引き継ぎ対象の索引情報
- Throws:
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 
- 
 - 
Method Detail- 
createByColumnpublic static IndexInfo createByColumn(java.lang.String columnName, IndexType type) 必要に応じカラム名と索引種別を指定して索引情報を作成します。- Parameters:
- columnName- カラム名。指定しない場合は- null
- type- 索引種別。指定しない場合は- null
 
 - 
createByNamepublic static IndexInfo createByName(java.lang.String name, IndexType type) 必要に応じ索引名と索引種別を指定して索引情報を作成します。- Parameters:
- name- 索引名。指定しない場合は- null
- type- 索引種別。指定しない場合は- null
 
 - 
getColumnpublic java.lang.Integer getColumn() 索引に対応するカラムのカラム番号を取得します。- Returns:
- カラム番号。未設定の場合はnull
 
 - 
getColumnNamepublic java.lang.String getColumnName() 索引に対応するカラムのカラム名を取得します。- Returns:
- カラム名。未設定の場合はnull
 
 - 
getNamepublic java.lang.String getName() 索引名を取得します。- Returns:
- 索引名。未設定の場合はnull
 
 - 
getTypepublic IndexType getType() 索引種別を取得します。- Returns:
- 索引種別。未設定の場合はnull
 
 - 
setColumnpublic void setColumn(java.lang.Integer column) 索引に対応するカラムのカラム番号を設定します。- Parameters:
- column- 索引名。- nullの場合は未設定状態になる
 
 - 
setColumnNamepublic void setColumnName(java.lang.String columnName) 索引に対応するカラムのカラム名を設定します。- Parameters:
- columnName- カラム名。- nullの場合は未設定状態になる
 
 - 
setNamepublic void setName(java.lang.String name) 索引名を設定します。- Parameters:
- name- 索引名。- nullの場合は未設定状態になる
 
 - 
setTypepublic void setType(IndexType type) 索引種別を設定します。- Parameters:
- type- 索引種別。- nullの場合は未設定状態になる
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<IndexType>
- 
- com.toshiba.mwcloud.gs.IndexType
 
 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description DEFAULTデフォルトの索引種別を示します。HASHハッシュ索引を示します。SPATIAL空間索引を示します。TREEツリー索引を示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static IndexTypevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static IndexType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
DEFAULTpublic static final IndexType DEFAULT デフォルトの索引種別を示します。この索引種別は、特定の種別を明示せずに索引の操作を行う必要がある場合に用いられるものであり、実在する索引はこの種別以外の種別に分類されます。 - Since:
- 3.5
 
 - 
HASHpublic static final IndexType HASH ハッシュ索引を示します。この索引種別は、 Collectionにおける次の型のカラムに対して設定できます。- STRING
- BOOL
- BYTE
- SHORT
- INTEGER
- LONG
- FLOAT
- DOUBLE
- TIMESTAMP
 TimeSeriesに対して設定することはできません。
 - 
SPATIALpublic static final IndexType SPATIAL 空間索引を示します。この索引種別は、 CollectionにおけるGEOMETRY型のカラムに対してのみ使用できます。TimeSeriesに対して設定することはできません。
 - 
TREEpublic static final IndexType TREE ツリー索引を示します。この索引種別は、時系列におけるロウキーと対応するカラムを除く任意の種別のコンテナにおける、次の型のカラムに対して使用できます。 - STRING
- BOOL
- BYTE
- SHORT
- INTEGER
- LONG
- FLOAT
- DOUBLE
- TIMESTAMP
 
 
- 
 - 
Method Detail- 
valueOfpublic static IndexType valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static IndexType[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (IndexType c : IndexType.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<InterpolationMode>
- 
- com.toshiba.mwcloud.gs.InterpolationMode
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<InterpolationMode>
 
 
 public enum InterpolationMode extends java.lang.Enum<InterpolationMode> ロウの補間方法の種別を表します。時系列ロウの補間機能で使用されます。 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description EMPTY空の値を補間値として用いることを示します。LINEAR_OR_PREVIOUSカラムに応じて線形補間または直前ロウの値による補間を行うことを示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static InterpolationModevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static InterpolationMode[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
EMPTYpublic static final InterpolationMode EMPTY 空の値を補間値として用いることを示します。ロウキーを除くすべてのロウフィールドについて、 Containerにて定義されている空の値を補間値として用いることを示します。
 - 
LINEAR_OR_PREVIOUSpublic static final InterpolationMode LINEAR_OR_PREVIOUS カラムに応じて線形補間または直前ロウの値による補間を行うことを示します。補間機能にて指定されたカラムについては、補間対象時刻の前後時刻のロウの値により線形補間を行います。対象とするカラムの型は数値型でなければなりません。 補間機能にて特に指定されていないカラムについては、補間対象時刻と隣接する直前の時刻のロウの値を補間値として使用します。対象とするカラムの型に制限はありません。 
 
- 
 - 
Method Detail- 
valueOfpublic static InterpolationMode valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static InterpolationMode[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (InterpolationMode c : InterpolationMode.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- 
 
 @Retention(value=RUNTIME) @Target(value={TYPE,FIELD,METHOD,PACKAGE}) public @interface NotNullNOT NULL制約を持つカラムであることを示します。- Since:
- 3.5
- See Also:
- Container
 
- 
 
 @Retention(value=RUNTIME) @Target(value={TYPE,FIELD,METHOD,PACKAGE}) public @interface NullableNOT NULL制約を持たないカラムであることを示します。- Since:
- 3.5
- See Also:
- Container
 
- 
- All Superinterfaces:
- java.lang.AutoCloseable, java.io.Closeable
 
 
 public interface PartitionController extends java.io.Closeableパーティション状態の取得や操作のためのコントローラです。パーティションとは、データを格納する論理的な領域です。 GridDBクラスタ内のデータ配置に基づいた操作を行うために使用します。 - Since:
- 1.5
 
- 
- 
Method SummaryMethods Modifier and Type Method and Description voidassignPreferableHost(int partitionIndex, java.net.InetAddress host)優先的に選択されるホストのアドレスを設定します。voidclose()GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。java.util.List<java.net.InetAddress>getBackupHosts(int partitionIndex)指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。longgetContainerCount(int partitionIndex)指定のパーティションに属するコンテナの総数を取得します。java.util.List<java.lang.String>getContainerNames(int partitionIndex, long start, java.lang.Long limit)指定のパーティションに所属するコンテナの名前の一覧を取得します。java.util.List<java.net.InetAddress>getHosts(int partitionIndex)指定のパーティションに対応するノードのアドレス一覧を取得します。java.net.InetAddressgetOwnerHost(int partitionIndex)指定のパーティションに対応するオーナノードのアドレスを取得します。intgetPartitionCount()対象とするGridDBクラスタのパーティション数を取得します。intgetPartitionIndexOfContainer(java.lang.String containerName)指定のコンテナ名に対応するパーティションインデックスを取得します。
 
- 
- 
- 
Method Detail- 
assignPreferableHostvoid assignPreferableHost(int partitionIndex, java.net.InetAddress host) throws GSException優先的に選択されるホストのアドレスを設定します。バックアップノードへの接続など、可能な接続先が複数存在する場合に、設定されたアドレスが候補に含まれていれば常に選択されるようになります。それ以外の場合は設定が無視されます。 - Parameters:
- partitionIndex- パーティションインデックス。- 0以上パーティション数未満の値
- host- 優先的に選択されるホストのアドレス。- nullの場合、設定が解除される
- Throws:
- GSException- 範囲外のパーティションインデックスが指定された場合
- GSException- このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
- See Also:
- getBackupHosts(int)
 
 - 
closevoid close() throws GSExceptionGridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.io.Closeable
- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
getBackupHostsjava.util.List<java.net.InetAddress> getBackupHosts(int partitionIndex) throws GSException指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。バックアップノードとは、 GridStoreFactory.getGridStore(java.util.Properties)における一貫性レベルとして"EVENTUAL"を指定した場合に、優先的に選択されるノードのことです。一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。 返却されたリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。- Parameters:
- partitionIndex- パーティションインデックス。- 0以上パーティション数未満の値
- Returns:
- バックアップノードのアドレスを表すInetAddressを要素とする、List
- Throws:
- GSException- 範囲外のパーティションインデックスが指定された場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
 
 - 
getContainerCountlong getContainerCount(int partitionIndex) throws GSException指定のパーティションに属するコンテナの総数を取得します。コンテナ数を求める際の計算量は、コンテナ数にはおおむね依存しません。 - Parameters:
- partitionIndex- パーティションインデックス。- 0以上パーティション数未満の値
- Returns:
- コンテナ数
- Throws:
- GSException- 範囲外のパーティションインデックスが指定された場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
- See Also:
- getPartitionIndexOfContainer(String)
 
 - 
getContainerNamesjava.util.List<java.lang.String> getContainerNames(int partitionIndex, long start, java.lang.Long limit) throws GSException指定のパーティションに所属するコンテナの名前の一覧を取得します。指定のパーティションについてコンテナの新規作成・構成変更・削除が行われたとしても、該当コンテナを除くとその前後で一覧の取得結果の順序が変わることはありません。それ以外の一覧の順序に関しては不定です。重複する名前が含まれることはありません。 取得件数の上限が指定された場合、上限を超える場合、後方のものから切り捨てられます。指定条件に該当するものが存在しない場合、空のリストが返却されます。 返却されたリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。- Parameters:
- partitionIndex- パーティションインデックス。- 0以上パーティション数未満の値
- start- 取得範囲の開始位置。- 0以上の値
- limit- 取得件数の上限。- nullの場合、上限なしとみなされる
- Returns:
- コンテナの名前を要素とするList
- Throws:
- GSException- 範囲外のパーティションインデックスが指定された場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
 
 - 
getHostsjava.util.List<java.net.InetAddress> getHosts(int partitionIndex) throws GSException指定のパーティションに対応するノードのアドレス一覧を取得します。一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。 返却されたリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。- Parameters:
- partitionIndex- パーティションインデックス。- 0以上パーティション数未満の値
- Returns:
- ノードのアドレスを表すInetAddressを要素とする、List
- Throws:
- GSException- 範囲外のパーティションインデックスが指定された場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
 
 - 
getOwnerHostjava.net.InetAddress getOwnerHost(int partitionIndex) throws GSException指定のパーティションに対応するオーナノードのアドレスを取得します。オーナノードとは、 GridStoreFactory.getGridStore(java.util.Properties)における一貫性レベルとして"IMMEDIATE"を指定した場合に、常に選択されるノードのことです。- Parameters:
- partitionIndex- パーティションインデックス。- 0以上パーティション数未満の値
- Returns:
- オーナノードのアドレスを表すInetAddress
- Throws:
- GSException- 範囲外のパーティションインデックスが指定された場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
 
 - 
getPartitionCountint getPartitionCount() throws GSException対象とするGridDBクラスタのパーティション数を取得します。対象とするGridDBクラスタにおけるパーティション数設定の値を取得します。一度取得した結果はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。 - Returns:
- パーティション数
- Throws:
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
 
 - 
getPartitionIndexOfContainerint getPartitionIndexOfContainer(java.lang.String containerName) throws GSException指定のコンテナ名に対応するパーティションインデックスを取得します。一度GridDBクラスタが構築されると、コンテナの所属先のパーティションが変化することはなく、パーティションインデックスも一定となります。指定の名前に対応するコンテナが存在するかどうかは、結果に依存しません。 パーティションインデックスの算出に必要とする情報はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。 - Parameters:
- containerName- コンテナ名。- nullは指定できない
- Returns:
- 指定のコンテナ名に対応するパーティションインデックス
- Throws:
- GSException- コンテナ名として許可されない文字列が指定された場合
- GSException- この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応する- GridStoreのクローズ後に呼び出された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 
- 
 
- 
- 
- 
Method SummaryMethods Modifier and Type Method and Description voidclose()関連するリソースを適宜解放します。RowSet<R>fetch()このクエリを実行し、実行結果に対応するロウ集合を取得します。RowSet<R>fetch(boolean forUpdate)オプションを指定してこのクエリを実行し、実行結果に対応するロウ集合を取得します。RowSet<R>getRowSet()直近に実行した結果のRowSetを取得します。voidsetFetchOption(FetchOption option, java.lang.Object value)結果取得に関するオプションを設定します。
 
- 
- 
- 
Method Detail- 
closevoid close() throws GSException関連するリソースを適宜解放します。- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.io.Closeable
- Throws:
- GSException- 現バージョンでは送出されない
- See Also:
- Closeable.close()
 
 - 
fetchRowSet<R> fetch() throws GSException このクエリを実行し、実行結果に対応するロウ集合を取得します。更新用ロックを要求せずに fetch(boolean)を呼び出した場合と同様です。- Throws:
- GSException- 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、このクエリを作成する機能の各種定義を参照のこと
- GSException- TQLを実行した際、実行結果が期待する結果- RowSetの各要素の型と合致しない場合
- GSException- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
- java.lang.NullPointerException- このクエリを作成する際に与えられたパラメータの中に、許容されない- nullが含まれていた場合。GridDB上で実行される TQL文の評価処理の結果として送出されることはない
- See Also:
- fetch(boolean)
 
 - 
fetchRowSet<R> fetch(boolean forUpdate) throws GSException オプションを指定してこのクエリを実行し、実行結果に対応するロウ集合を取得します。forUpdateにtrueが指定された場合、取得対象のロウすべてをロックします。ロックすると、対応するトランザクションが有効である間、他のトランザクションからの対象ロウに対する変更操作が阻止されます。対応するコンテナの自動コミットモードが無効の場合のみ、指定できます。新たなロウ集合を取得すると、このクエリについて前回実行した結果の RowSetはクローズされます。一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。 - Throws:
- GSException- 対応するコレクションの自動コミットモード有効であるにもかかわらず、- forUpdateに- trueが指定された場合
- GSException- ロックできないクエリであるにもかかわらず、- forUpdateに- trueが指定された場合。具体的なロックの可否は、このクエリを作成する機能の各種定義を参照のこと
- GSException- 正しくないパラメータ・構文・命令・オプション設定を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、このクエリを作成する機能の各種定義を参照のこと
- GSException- TQLの実行時、求める- RowSetの要素の型と取得結果の型が一致しない場合
- GSException- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
- java.lang.NullPointerException- このクエリを作成する際に与えられたパラメータの中に、許容されない- nullが含まれていた場合
 
 - 
getRowSetRowSet<R> getRowSet() throws GSException 直近に実行した結果のRowSetを取得します。一度取得すると、以降新たにこのクエリを実行するまで nullが返却されるようになります。FetchOption.PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。- Returns:
- 直近に実行した結果のRowSet。取得済みの場合、もしくは、一度もクエリを実行したことのない場合はnull
- Throws:
- GSException- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
- Since:
- 1.5
 
 - 
setFetchOptionvoid setFetchOption(FetchOption option, java.lang.Object value) throws GSException 結果取得に関するオプションを設定します。設定可能なオプション項目と値の定義については、 FetchOptionを参照してください。- Parameters:
- option- オプション項目
- value- オプションの値
- Throws:
- GSException- オプションの値がオプション項目と対応しない場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
- java.lang.NullPointerException- 1つ以上の引数に- nullが指定された場合
- See Also:
- FetchOption
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.QueryAnalysisEntry
 
- 
 
 public class QueryAnalysisEntry extends java.lang.Objectクエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。 
- 
- 
Constructor SummaryConstructors Constructor and Description QueryAnalysisEntry()
 - 
Method SummaryMethods Modifier and Type Method and Description booleanequals(java.lang.Object obj)このオブジェクトと他のオブジェクトが等しいかどうかを示します。intgetDepth()他のエントリとの関係を表すための、深さを取得します。intgetId()一連のエントリ列における、このエントリの位置を示すIDを取得します。java.lang.StringgetStatement()このエントリが示す情報に対応するTQL文の一部を取得します。java.lang.StringgetType()このエントリが示す情報の種別を取得します。java.lang.StringgetValue()このエントリが示す情報に対応付けられた値の文字列表現を取得します。java.lang.StringgetValueType()このエントリが示す情報に対応付けられた値の型を取得します。inthashCode()このオブジェクトのハッシュコード値を返します。voidsetDepth(int depth)他のエントリとの関係を表すための、深さを設定します。voidsetId(int id)一連のエントリ列における、このエントリの位置を示すIDを設定します。voidsetStatement(java.lang.String statement)このエントリが示す情報に対応するTQL文の一部を設定します。voidsetType(java.lang.String type)このエントリが示す情報の種別を設定します。voidsetValue(java.lang.String value)このエントリが示す情報に対応付けられた値の文字列表現を設定します。voidsetValueType(java.lang.String valueType)このエントリが示す情報に対応付けられた値の型を設定します。
 
- 
- 
- 
Method Detail- 
equalspublic boolean equals(java.lang.Object obj) このオブジェクトと他のオブジェクトが等しいかどうかを示します。getId()やgetDepth()などにより得られる各値がすべて等価である場合のみ、指定のオブジェクトと等価であるとみなされます。このメソッドは、 Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトは等価なハッシュコードを保持します。- Overrides:
- equalsin class- java.lang.Object
- Parameters:
- obj- 比較対象の参照オブジェクトまたは- null
- Returns:
- このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
- See Also:
- hashCode()
 
 - 
getDepthpublic int getDepth() 他のエントリとの関係を表すための、深さを取得します。このエントリより小さな値のIDを順にたどり、このエントリの深さより1だけ浅いエントリが存在した場合、このエントリは、該当するエントリの内容をより詳しく説明するためのものであることを意味します。 
 - 
getIdpublic int getId() 一連のエントリ列における、このエントリの位置を示すIDを取得します。TQLを実行した結果を受け取る場合、IDは 1から順に割り当てられます。
 - 
getStatementpublic java.lang.String getStatement() このエントリが示す情報に対応するTQL文の一部を取得します。対応関係を持たない場合は空文字列を取得します。 
 - 
getTypepublic java.lang.String getType() このエントリが示す情報の種別を取得します。実行時間といった解析結果の種別、クエリプランの構成要素の種別などを表します。 
 - 
getValuepublic java.lang.String getValue() このエントリが示す情報に対応付けられた値の文字列表現を取得します。値が対応づけられていない場合は空文字列を取得します。 - See Also:
- getValueType()
 
 - 
getValueTypepublic java.lang.String getValueType() このエントリが示す情報に対応付けられた値の型を取得します。実行時間といった解析結果などに対応する値の型を取得します。型の名称は、TQLで定義された基本型のうち次のものです。 - STRING
- BOOL
- BYTE
- SHORT
- INTEGER
- LONG
- FLOAT
- DOUBLE
 値が対応づけられていない場合は空文字列を取得します。 
 - 
hashCodepublic int hashCode() このオブジェクトのハッシュコード値を返します。このメソッドは、 Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトのハッシュコード値は等価です。- Overrides:
- hashCodein class- java.lang.Object
- Returns:
- このオブジェクトのハッシュコード値
- See Also:
- equals(Object)
 
 - 
setDepthpublic void setDepth(int depth) 他のエントリとの関係を表すための、深さを設定します。- See Also:
- getDepth()
 
 - 
setIdpublic void setId(int id) 一連のエントリ列における、このエントリの位置を示すIDを設定します。- See Also:
- getId()
 
 - 
setStatementpublic void setStatement(java.lang.String statement) このエントリが示す情報に対応するTQL文の一部を設定します。- Parameters:
- statement- TQL文の一部または- null
- See Also:
- getStatement()
 
 - 
setTypepublic void setType(java.lang.String type) このエントリが示す情報の種別を設定します。- Parameters:
- type- 種別または- null
- See Also:
- getType()
 
 - 
setValuepublic void setValue(java.lang.String value) このエントリが示す情報に対応付けられた値の文字列表現を設定します。- Parameters:
- value- 値の文字列表現または- null
- See Also:
- getValue()
 
 - 
setValueTypepublic void setValueType(java.lang.String valueType) このエントリが示す情報に対応付けられた値の型を設定します。- Parameters:
- valueType- 値の型または- null
- See Also:
- getValueType()
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<QueryOrder>
- 
- com.toshiba.mwcloud.gs.QueryOrder
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<QueryOrder>
 
 
 public enum QueryOrder extends java.lang.Enum<QueryOrder> クエリにおける要求ロウ順序を表します。各種クエリ機能別に定義される判定対象を基準として、順序指定を行うために使用します。具体的な判定対象は、個別の機能によって異なります。 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description ASCENDING要求ロウ順序が昇順であることを表します。DESCENDING要求ロウ順序が降順であることを表します。
 - 
Method SummaryMethods Modifier and Type Method and Description static QueryOrdervalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static QueryOrder[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
ASCENDINGpublic static final QueryOrder ASCENDING 要求ロウ順序が昇順であることを表します。
 - 
DESCENDINGpublic static final QueryOrder DESCENDING 要求ロウ順序が降順であることを表します。
 
- 
 - 
Method Detail- 
valueOfpublic static QueryOrder valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static QueryOrder[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (QueryOrder c : QueryOrder.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- 
 
 public interface Row任意のスキーマについて汎用的にフィールド操作できるロウです。- Since:
- 1.5
 
- 
- 
Method SummaryMethods Modifier and Type Method and Description java.sql.BlobgetBlob(int column)指定のBLOB型フィールドの値を取得します。booleangetBool(int column)指定のBOOL型フィールドの値を取得します。boolean[]getBoolArray(int column)指定のBOOL型配列フィールドの値を取得します。bytegetByte(int column)指定のBYTE型フィールドの値を取得します。byte[]getByteArray(int column)指定のBYTE型配列フィールドの値を取得します。doublegetDouble(int column)指定のDOUBLE型フィールドの値を取得します。double[]getDoubleArray(int column)指定のDOUBLE型配列フィールドの値を取得します。floatgetFloat(int column)指定のFLOAT型フィールドの値を取得します。float[]getFloatArray(int column)指定のFLOAT型配列フィールドの値を取得します。GeometrygetGeometry(int column)指定のGEOMETRY型フィールドの値を取得します。intgetInteger(int column)指定のINTEGER型フィールドの値を取得します。int[]getIntegerArray(int column)指定のINTEGER型配列フィールドの値を取得します。longgetLong(int column)指定のLONG型フィールドの値を取得します。long[]getLongArray(int column)指定のLONG型配列フィールドの値を取得します。ContainerInfogetSchema()このロウに対応するスキーマを取得します。shortgetShort(int column)指定のSHORT型フィールドの値を取得します。short[]getShortArray(int column)指定のSHORT型配列フィールドの値を取得します。java.lang.StringgetString(int column)指定のSTRING型フィールドの値を取得します。java.lang.String[]getStringArray(int column)指定のSTRING型配列フィールドの値を取得します。java.util.DategetTimestamp(int column)指定のTIMESTAMP型フィールドの値を取得します。java.util.Date[]getTimestampArray(int column)指定のTIMESTAMP型配列フィールドの値を取得します。java.lang.ObjectgetValue(int column)指定のフィールドの値を取得します。booleanisNull(int column)指定のフィールドにNULLが設定されているかどうかを返します。voidsetBlob(int column, java.sql.Blob fieldValue)指定のBLOB型フィールドに値を設定します。voidsetBool(int column, boolean fieldValue)指定のBOOL型フィールドに値を設定します。voidsetBoolArray(int column, boolean[] fieldValue)指定のBOOL型配列フィールドに値を設定します。voidsetByte(int column, byte fieldValue)指定のBYTE型フィールドに値を設定します。voidsetByteArray(int column, byte[] fieldValue)指定のBYTE型配列フィールドに値を設定します。voidsetDouble(int column, double fieldValue)指定のDOUBLE型フィールドに値を設定します。voidsetDoubleArray(int column, double[] fieldValue)指定のDOUBLE型配列フィールドに値を設定します。voidsetFloat(int column, float fieldValue)指定のFLOAT型フィールドに値を設定します。voidsetFloatArray(int column, float[] fieldValue)指定のFLOAT型配列フィールドに値を設定します。voidsetGeometry(int column, Geometry fieldValue)指定のGEOMETRY型フィールドに値を設定します。voidsetInteger(int column, int fieldValue)指定のINTEGER型フィールドに値を設定します。voidsetIntegerArray(int column, int[] fieldValue)指定のINTEGER型配列フィールドに値を設定します。voidsetLong(int column, long fieldValue)指定のLONG型フィールドに値を設定します。voidsetLongArray(int column, long[] fieldValue)指定のLONG型配列フィールドに値を設定します。voidsetNull(int column)指定のフィールドにNULLを設定します。voidsetShort(int column, short fieldValue)指定のSHORT型フィールドに値を設定します。voidsetShortArray(int column, short[] fieldValue)指定のSHORT型配列フィールドに値を設定します。voidsetString(int column, java.lang.String fieldValue)指定のSTRING型フィールドに値を設定します。voidsetStringArray(int column, java.lang.String[] fieldValue)指定のSTRING型配列フィールドに値を設定します。voidsetTimestamp(int column, java.util.Date fieldValue)指定のTIMESTAMP型フィールドに値を設定します。voidsetTimestampArray(int column, java.util.Date[] fieldValue)指定のTIMESTAMP型配列フィールドに値を設定します。voidsetValue(int column, java.lang.Object fieldValue)指定のフィールドに値を設定します。
 
- 
- 
- 
Method Detail- 
getBlobjava.sql.Blob getBlob(int column) throws GSException指定のBLOB型フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getBoolboolean getBool(int column) throws GSException指定のBOOL型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getBoolArrayboolean[] getBoolArray(int column) throws GSException指定のBOOL型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getBytebyte getByte(int column) throws GSException指定のBYTE型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getByteArraybyte[] getByteArray(int column) throws GSException指定のBYTE型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getDoubledouble getDouble(int column) throws GSException指定のDOUBLE型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getDoubleArraydouble[] getDoubleArray(int column) throws GSException指定のDOUBLE型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getFloatfloat getFloat(int column) throws GSException指定のFLOAT型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getFloatArrayfloat[] getFloatArray(int column) throws GSException指定のFLOAT型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getGeometryGeometry getGeometry(int column) throws GSException 指定のGEOMETRY型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getIntegerint getInteger(int column) throws GSException指定のINTEGER型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getIntegerArrayint[] getIntegerArray(int column) throws GSException指定のINTEGER型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getLonglong getLong(int column) throws GSException指定のLONG型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getLongArraylong[] getLongArray(int column) throws GSException指定のLONG型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getSchemaContainerInfo getSchema() throws GSException このロウに対応するスキーマを取得します。ロウキーの有無を含むカラムレイアウトにする情報のみが設定された ContainerInfoが求まります。コンテナ名、コンテナ種別、索引設定、時系列構成オプションなどその他のコンテナ情報は含まれません。- Returns:
- スキーマに関するコンテナ情報のみを持つContainerInfo
- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
getShortshort getShort(int column) throws GSException指定のSHORT型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合は空の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getShortArrayshort[] getShortArray(int column) throws GSException指定のSHORT型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getStringjava.lang.String getString(int column) throws GSException指定のSTRING型フィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getStringArrayjava.lang.String[] getStringArray(int column) throws GSException指定のSTRING型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getTimestampjava.util.Date getTimestamp(int column) throws GSException指定のTIMESTAMP型フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getTimestampArrayjava.util.Date[] getTimestampArray(int column) throws GSException指定のTIMESTAMP型配列フィールドの値を取得します。返却されたオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。一方、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
getValuejava.lang.Object getValue(int column) throws GSException指定のフィールドの値を取得します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 対象フィールドの値。NULLが設定されている場合はnull
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
 
 - 
isNullboolean isNull(int column) throws GSException指定のフィールドにNULLが設定されているかどうかを返します。NOT NULL制約の設定されたカラムが指定された場合、常に falseを返します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Returns:
- 指定のフィールドにNULLが設定されているかどうか
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- Since:
- 3.5
 
 - 
setBlobvoid setBlob(int column, java.sql.Blob fieldValue) throws GSException指定のBLOB型フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setBoolvoid setBool(int column, boolean fieldValue) throws GSException指定のBOOL型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setBoolArrayvoid setBoolArray(int column, boolean[] fieldValue) throws GSException指定のBOOL型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setBytevoid setByte(int column, byte fieldValue) throws GSException指定のBYTE型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setByteArrayvoid setByteArray(int column, byte[] fieldValue) throws GSException指定のBYTE型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setDoublevoid setDouble(int column, double fieldValue) throws GSException指定のDOUBLE型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setDoubleArrayvoid setDoubleArray(int column, double[] fieldValue) throws GSException指定のDOUBLE型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setFloatvoid setFloat(int column, float fieldValue) throws GSException指定のFLOAT型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setFloatArrayvoid setFloatArray(int column, float[] fieldValue) throws GSException指定のFLOAT型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setGeometryvoid setGeometry(int column, Geometry fieldValue) throws GSException指定のGEOMETRY型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setIntegervoid setInteger(int column, int fieldValue) throws GSException指定のINTEGER型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setIntegerArrayvoid setIntegerArray(int column, int[] fieldValue) throws GSException指定のINTEGER型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setLongvoid setLong(int column, long fieldValue) throws GSException指定のLONG型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setLongArrayvoid setLongArray(int column, long[] fieldValue) throws GSException指定のLONG型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setNullvoid setNull(int column) throws GSException指定のフィールドにNULLを設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムが指定された場合
- Since:
- 3.5
 
 - 
setShortvoid setShort(int column, short fieldValue) throws GSException指定のSHORT型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setShortArrayvoid setShortArray(int column, short[] fieldValue) throws GSException指定のSHORT型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setStringvoid setString(int column, java.lang.String fieldValue) throws GSException指定のSTRING型フィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setStringArrayvoid setStringArray(int column, java.lang.String[] fieldValue) throws GSException指定のSTRING型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- フィールド値の配列要素に- nullが含まれる場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setTimestampvoid setTimestamp(int column, java.util.Date fieldValue) throws GSException指定のTIMESTAMP型フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setTimestampArrayvoid setTimestampArray(int column, java.util.Date[] fieldValue) throws GSException指定のTIMESTAMP型配列フィールドに値を設定します。指定したオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。 - Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- フィールド値の配列要素に- nullが含まれる場合
- GSException- 指定のカラム番号の型と一致しない場合
 
 - 
setValuevoid setValue(int column, java.lang.Object fieldValue) throws GSException指定のフィールドに値を設定します。- Parameters:
- column- 対象フィールドのカラム番号。- 0以上かつカラム数未満の値
- fieldValue- 対象フィールドの値
- Throws:
- GSException- 範囲外のカラム番号が指定された場合
- GSException- NOT NULL制約の設定されたカラムに対して、フィールド値として- nullが指定された場合
- GSException- 配列型のフィールド値の配列要素に- nullが含まれる場合
- GSException- フィールドの値がカラムの型と一致しない場合
 
 
- 
 
- 
- 
 
 @Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface RowFieldContainerの処理におけるマッピング対象のロウフィールドについて、オプションを設定します。
- 
- 
Optional Element SummaryOptional Elements Modifier and Type Optional Element and Description intcolumnNumberカラム番号を設定します。java.lang.Stringname指定のカラム名を使用します。
 
- 
- 
- 
Element Detail- 
columnNumberpublic abstract int columnNumber カラム番号を設定します。カラム順序を明示的に指定する場合、 0以上かつカラム数未満の値を指定します。同一コンテナ上で重複するカラム番号を指定することはできません。また、ロウキーは常に先頭カラムになるように設定しなければなりません。デフォルト値の-1を指定した場合、対応するカラムの番号は自動的に決定されます。- Default:
- -1
 
 - 
namepublic abstract java.lang.String name 指定のカラム名を使用します。空の文字を指定した場合、対応するフィールド名またはメソッド名に基づきカラム名を決定します。 - Default:
- ""
 
 
- 
 
- 
- 
 
 @Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface RowKeyContainerのキーと対応することを示します。
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.RowKeyPredicate<K>
 
- 
- Type Parameters:
- K- 合致条件の評価対象とするロウキーの型
 
 
 public class RowKeyPredicate<K> extends java.lang.Objectロウキーの合致条件を表します。GridStore.multiGet(java.util.Map)における取得条件を構成するために使用できます。条件の種別として、範囲条件と個別条件の2つの種別があります。両方の種別の条件を共に指定することはできません。条件の内容を何も指定しない場合、対象とするすべてのロウキーに合致することを表します。 - Since:
- 1.5
 
- 
- 
Method SummaryMethods Modifier and Type Method and Description voidadd(K key)個別条件の要素の一つとするロウキーの値を追加します。static <K> RowKeyPredicate<K>create(java.lang.Class<K> keyType)指定のClassに対応するGSTypeをロウキーの型とする合致条件を作成します。static RowKeyPredicate<java.lang.Object>create(GSType keyType)指定のGSTypeをロウキーの型とする合致条件を作成します。java.util.Collection<K>getDistinctKeys()個別条件を構成するロウキーの値の集合を取得します。KgetFinish()範囲条件の終了位置とするロウキーの値を取得します。GSTypegetKeyType()合致条件の評価対象とするロウキーの型を取得します。KgetStart()範囲条件の開始位置とするロウキーの値を取得します。voidsetFinish(K finishKey)範囲条件の終了位置とするロウキーの値を設定します。voidsetStart(K startKey)範囲条件の開始位置とするロウキーの値を設定します。
 
- 
- 
- 
Method Detail- 
addpublic void add(K key) throws GSException 個別条件の要素の一つとするロウキーの値を追加します。追加された値と同一の値のロウキーは合致するものとみなされるようになります。 - Parameters:
- key- 個別条件の要素の一つとするロウキーの値。- nullは指定できない
- Throws:
- GSException- 範囲条件がすでに設定されていた場合
- java.lang.ClassCastException- 指定のロウキーの値の型が- nullではなく、ロウキーに対応するクラスのインスタンスではない場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
createpublic static <K> RowKeyPredicate<K> create(java.lang.Class<K> keyType) throws GSException 指定のClassに対応するGSTypeをロウキーの型とする合致条件を作成します。判定対象とするコンテナは、ロウキーを持ち、かつ、ロウキーの型が対応する GSTypeと同一の型でなければなりません。設定可能なロウキーの型は、 Containerのいずれかのサブインタフェースにて許容されている型のみです。ClassとGSTypeとの対応関係については、Containerの定義を参照してください。- Parameters:
- keyType- 合致条件の判定対象とするロウキーの型に対応する、- Class
- Returns:
- 新規に作成されたRowKeyPredicate
- Throws:
- GSException- 指定された型がロウキーとして常にサポート外となる場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- See Also:
- Container
 
 - 
createpublic static RowKeyPredicate<java.lang.Object> create(GSType keyType) throws GSException 指定のGSTypeをロウキーの型とする合致条件を作成します。合致条件の評価対象とするコンテナは、ロウキーを持ち、かつ、ロウキーの型が指定の GSTypeと同一の型でなければなりません。create(Class)とは異なり、アプリケーションのコンパイル時点でロウキーの型が確定しない場合の使用に適します。ただし、条件内容を設定する際のロウキーの型チェックの基準は同一です。設定可能なロウキーの型は、 Containerのいずれかのサブインタフェースにて許容されている型のみです。- Parameters:
- keyType- 合致条件の評価対象とするロウキーの型
- Returns:
- 新規に作成されたRowKeyPredicate
- Throws:
- GSException- 指定された型がロウキーとして常にサポート外となる場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- See Also:
- Container
 
 - 
getDistinctKeyspublic java.util.Collection<K> getDistinctKeys() 個別条件を構成するロウキーの値の集合を取得します。返却された値に対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化するかどうかは未定義です。- Returns:
- 個別条件を構成するロウキーの値を要素とする Collection
 
 - 
getFinishpublic K getFinish() 範囲条件の終了位置とするロウキーの値を取得します。- Returns:
- 終了位置とするロウキーの値。設定されていない場合はnull
 
 - 
getKeyTypepublic GSType getKeyType() 合致条件の評価対象とするロウキーの型を取得します。- Returns:
- 合致条件の評価対象とするロウキーの型
 
 - 
getStartpublic K getStart() 範囲条件の開始位置とするロウキーの値を取得します。- Returns:
- 開始位置とするロウキーの値。設定されていない場合はnull
 
 - 
setFinishpublic void setFinish(K finishKey) throws GSException 範囲条件の終了位置とするロウキーの値を設定します。設定された値より大きな値のロウキーは合致しないものとみなされるようになります。 STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。 - Parameters:
- finishKey- 終了位置とするロウキーの値。- nullの場合、設定が解除される
- Throws:
- GSException- 個別条件がすでに設定されていた場合
- java.lang.ClassCastException- 指定のロウキーの値の型が- nullではなく、ロウキーに対応するクラスのインスタンスではない場合
 
 - 
setStartpublic void setStart(K startKey) throws GSException 範囲条件の開始位置とするロウキーの値を設定します。設定された値より小さな値のロウキーは合致しないものとみなされるようになります。 STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。 - Parameters:
- startKey- 開始位置とするロウキーの値。- nullの場合、設定が解除される
- Throws:
- GSException- 個別条件がすでに設定されていた場合
- java.lang.ClassCastException- 指定のロウキーの値の型が- nullではなく、ロウキーに対応するクラスのインスタンスではない場合
 
 
- 
 
- 
- 
- All Superinterfaces:
- java.lang.AutoCloseable, java.io.Closeable
 
 
 public interface RowSet<R> extends java.io.Closeableクエリ実行より求めたロウの集合を管理します。ロウ単位・ロウフィールド単位での操作機能を持ち、対象とするロウを指し示すための、 ResultSetと同様のカーソル状態を保持します。初期状態のカーソルは、ロウ集合の先頭より手前に位置しています。
- 
- 
Method SummaryMethods Modifier and Type Method and Description voidclose()関連するリソースを適宜解放します。booleanhasNext()現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを取得します。Rnext()ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。voidremove()現在のカーソル位置のロウを削除します。intsize()サイズ、すなわちロウ集合作成時点におけるロウの数を取得します。voidupdate(R rowObj)現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。
 
- 
- 
- 
Method Detail- 
closevoid close() throws GSException関連するリソースを適宜解放します。- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.io.Closeable
- Throws:
- GSException- 現バージョンでは送出されない
- See Also:
- Closeable.close()
 
 - 
hasNextboolean hasNext() throws GSException現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを取得します。- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
nextR next() throws GSException ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。FetchOption.PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。- Throws:
- GSException- 対象位置のロウが存在しない場合
- GSException- 接続障害によりロウオブジェクトの生成に失敗した場合
- GSException- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
 
 - 
removevoid remove() throws GSException現在のカーソル位置のロウを削除します。ロックを有効にして取得した RowSetに対してのみ使用できます。また、Container.remove(Object)と同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。- Throws:
- GSException- 対象位置のロウが存在しない場合
- GSException- ロックを有効にせずに取得した- RowSetに対して呼び出された場合
- GSException- 特定コンテナ固有の制限に反する操作を行った場合
- GSException- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
 
 - 
sizeint size() サイズ、すなわちロウ集合作成時点におけるロウの数を取得します。FetchOption.PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の進行状況によらず、結果を求めることはできません。- Throws:
- java.lang.IllegalStateException- オプション設定の影響によりロウの数を取得できない場合
 
 - 
updatevoid update(R rowObj) throws GSException 現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。nullは指定できません。指定のロウオブジェクトに含まれるロウキーは無視されます。ロックを有効にして取得した RowSetに対してのみ使用できます。また、Container.put(Object, Object)と同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。- Throws:
- GSException- 対象位置のロウが存在しない場合
- GSException- ロックを有効にせずに取得した- RowSetに対して呼び出された場合
- GSException- 特定コンテナ固有の制限に反する操作を行った場合
- GSException- この処理または関連するトランザクションのタイムアウト、対応するンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- GSException- このオブジェクトまたは対応する- Containerのクローズ後に呼び出された場合
- java.lang.ClassCastException- 指定のロウオブジェクトがマッピング処理で使用されるロウオブジェクトの型と対応しない場合
- java.lang.NullPointerException- 引数に- nullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトが1つ以上存在しない場合
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<TimeOperator>
- 
- com.toshiba.mwcloud.gs.TimeOperator
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<TimeOperator>
 
 
 public enum TimeOperator extends java.lang.Enum<TimeOperator> TimeSeriesのキー時刻に基づく、ロウの特定方法を表します。別途指定する時刻と組み合わせることで、最も近い時刻のキーを持つロウなどを特定できます。該当するロウが存在しない場合の扱いは、この列挙型を使用するそれぞれの機能により異なります。 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description NEXT指定時刻同一またはまたはより後の時刻のロウのうち、最も古いものを求めます。NEXT_ONLY指定時刻より後の時刻のロウのうち、最も古いものを求めます。PREVIOUS指定時刻と同一またはより前の時刻のロウのうち、最も新しいものを求めます。PREVIOUS_ONLY指定より前の時刻のロウのうち、最も新しいものを求めます。
 - 
Method SummaryMethods Modifier and Type Method and Description static TimeOperatorvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static TimeOperator[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
NEXTpublic static final TimeOperator NEXT 指定時刻同一またはまたはより後の時刻のロウのうち、最も古いものを求めます。
 - 
NEXT_ONLYpublic static final TimeOperator NEXT_ONLY 指定時刻より後の時刻のロウのうち、最も古いものを求めます。
 - 
PREVIOUSpublic static final TimeOperator PREVIOUS 指定時刻と同一またはより前の時刻のロウのうち、最も新しいものを求めます。
 - 
PREVIOUS_ONLYpublic static final TimeOperator PREVIOUS_ONLY 指定より前の時刻のロウのうち、最も新しいものを求めます。
 
- 
 - 
Method Detail- 
valueOfpublic static TimeOperator valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static TimeOperator[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TimeOperator c : TimeOperator.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- 
- All Superinterfaces:
- java.lang.AutoCloseable, java.io.Closeable, Container<java.util.Date,R>
 
 
 public interface TimeSeries<R> extends Container<java.util.Date,R> 時刻をロウキーとする、時系列処理に特化したコンテナです。一般的に、範囲取得や集計演算といった処理は、 Collectionよりも効率的な実装が選択されます。ロウ操作については、 Collectionと異なり一部制限が設けられています。TimeSeriesPropertiesに基づき圧縮オプションが設定されている場合、次のロウ操作を行えません。- 指定ロウの更新
- 指定ロウの削除
- 指定時刻より新しい時刻のロウが存在する場合の、ロウの新規作成
 Container.query(String)やGridStore.multiGet(java.util.Map)などより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序はロウキーの時刻を基準としてQueryOrder.ASCENDING相当の順序に整列されます。ロック粒度は、1つ以上のロウ集合をひとまとまりとする内部格納単位となります。したがって、特定ロウについてロックする際、そのロウが属する内部格納単位上の他のロウも同時にロックしようとします。 
- 
- 
Method SummaryMethods Modifier and Type Method and Description AggregationResultaggregate(java.util.Date start, java.util.Date end, java.lang.String column, Aggregation aggregation)開始・終了時刻指定を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。booleanappend(R row)GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。Rget(java.util.Date key)指定のオプションに従い、ロウキーに対応するロウの内容を取得します。Rget(java.util.Date base, TimeOperator timeOp)指定の時刻を基準として、関係する1つのロウを取得します。Rinterpolate(java.util.Date base, java.lang.String column)指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。booleanput(java.util.Date key, R row)必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。Query<R>query(java.util.Date start, java.util.Date end)開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。Query<R>query(java.util.Date start, java.util.Date end, QueryOrder order)開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。Query<R>query(java.util.Date start, java.util.Date end, java.util.Set<java.lang.String> columnSet, InterpolationMode mode, int interval, TimeUnit intervalUnit)特定範囲のロウ集合をサンプリングするクエリを作成します。booleanremove(java.util.Date key)指定のロウキーに対応するロウを削除します。- 
Methods inherited from interface com.toshiba.mwcloud.gs.Containerabort, close, commit, createBlob, createIndex, createIndex, createIndex, createRow, createTrigger, dropIndex, dropIndex, dropIndex, dropTrigger, flush, get, getType, put, put, query, query, setAutoCommit
 
- 
 
- 
- 
- 
Method Detail- 
aggregateAggregationResult aggregate(java.util.Date start, java.util.Date end, java.lang.String column, Aggregation aggregation) throws GSException 開始・終了時刻指定を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。columnは、aggregation次第で無視されることがあります。演算対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。- Parameters:
- start- 開始時刻
- end- 終了時刻
- column- 集計対象のカラム名。合計演算のように、特定のカラムを対象としない場合は- null
- aggregation- 集計方法
- Returns:
- 集計結果が設定された場合、対応するAggregationResult。設定されなかった場合はnull。詳細はAggregationの定義を参照のこと
- Throws:
- GSException- 指定の演算方法で許可されていない型のカラムを指定した場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合
- java.lang.NullPointerException-- start、- end、- aggregationに- nullが指定された場合
- See Also:
- Aggregation
 
 - 
appendboolean append(R row) throws GSException GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。GridDB上の現在時刻に相当するTIMESTAMP値をロウキーとする点を除き、 put(Date, Object)と同様に振る舞います。指定のロウオブジェクト内のロウキーは無視されます。圧縮オプションが設定された状態の時系列に対しては、 GridDB上の現在時刻より新しい時刻のロウが存在しない場合のみ使用できます。最も新しい時刻を持つ既存ロウの時刻が現在時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。 手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。 - Parameters:
- row- 新規作成または更新するロウの内容と対応するロウオブジェクト
- Returns:
- GridDB上の現在時刻と一致するロウが存在したかどうか
- Throws:
- GSException- この時系列について圧縮オプションが設定されており、現在時刻より新しい時刻のロウが存在した場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
- java.lang.ClassCastException- 指定のキーもしくはロウオブジェクトと、マッピング処理で使用される型との間で対応しないものがある場合
- java.lang.NullPointerException-- rowに- nullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトの中に、設定されていないものが存在した場合
- See Also:
- put(Date, Object),- TimeSeriesProperties.getCompressionMethod()
 
 - 
getR get(java.util.Date key) throws GSException 指定のオプションに従い、ロウキーに対応するロウの内容を取得します。Container.get(Object)と同様です。ただし、ロウキーの型が固定であるため、ClassCastExceptionが送出されることはありません。- Specified by:
- getin interface- Container<java.util.Date,R>
- Returns:
- 対応するロウが存在したかどうか
- Throws:
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして設定されていた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- See Also:
- Container.get(Object)
 
 - 
getR get(java.util.Date base, TimeOperator timeOp) throws GSException 指定の時刻を基準として、関係する1つのロウを取得します。- Parameters:
- base- 基準となる時刻
- timeOp- 取得方法
- Returns:
- 条件に一致するロウ。存在しない場合はnull
- Throws:
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値が基準時刻として指定された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
interpolateR interpolate(java.util.Date base, java.lang.String column) throws GSException 指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。一致する時系列ロウの指定のカラムの値、もしくは、前後時刻のロウの指定カラムの値を線形補間して得られた値を基にロウオブジェクトを生成します。前後時刻のロウの少なくともいずれか、もしくは、一致するロウが存在しない場合は生成されません。 補間対象として指定できるカラムの型は、数値型のみです。指定のカラムならびにロウキー以外のフィールドには、指定時刻と同一またはより前の時刻のロウのうち、最も新しい時刻を持つロウのフィールドの値が設定されます。 - Parameters:
- base- 基準となる時刻
- column- 線形補間対象のカラム
- Throws:
- GSException- 対応する名前のカラムが存在しない場合。また、サポートされていない型のカラムが指定された場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値が基準時刻として指定された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
putboolean put(java.util.Date key, R row) throws GSException必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。keyにより別途ロウキーを指定した場合はその値を、指定しない場合は指定のロウオブジェクト内のロウキーを基にロウを新規作成します。圧縮オプションが設定された状態の時系列に対しては、最も新しい時刻を持つ既存ロウより新しい時刻のロウのみを新規作成できます。最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。 手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。 - Specified by:
- putin interface- Container<java.util.Date,R>
- Parameters:
- key- 処理対象のロウキー
- row- 新規作成または更新するロウの内容と対応するロウオブジェクト
- Returns:
- 指定のロウキーと一致するロウが存在したかどうか
- Throws:
- GSException- この時系列について圧縮オプションが設定されており、指定時刻より新しい時刻のロウが存在した場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
- java.lang.ClassCastException- 指定のキーもしくはロウオブジェクトと、マッピング処理で使用される型との間で対応しないものがある場合
- java.lang.NullPointerException-- rowに- nullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトの中に、設定されていないものが存在した場合
- See Also:
- Container.put(Object, Object),- TimeSeriesProperties.getCompressionMethod()
 
 - 
queryQuery<R> query(java.util.Date start, java.util.Date end) throws GSException 開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。要求するロウ集合は昇順、すなわち古い時刻から新しい時刻の順となります。 Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。- Parameters:
- start- 開始時刻または- null。- nullの場合、この時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなす
- end- 終了時刻または- null。- nullの場合、この時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなす
- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
queryQuery<R> query(java.util.Date start, java.util.Date end, QueryOrder order) throws GSException 開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。 Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。- Parameters:
- start- 開始時刻または- null。- nullの場合、この時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなす
- end- 終了時刻または- null。- nullの場合、この時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなす
- order- 取得するロウ集合の時刻順序。- nullは指定できない。- QueryOrder.ASCENDINGの場合は古い時刻から新しい時刻の順、- QueryOrder.DESCENDINGの場合は新しい時刻から古い時刻の順となる
- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
queryQuery<R> query(java.util.Date start, java.util.Date end, java.util.Set<java.lang.String> columnSet, InterpolationMode mode, int interval, TimeUnit intervalUnit) throws GSException 特定範囲のロウ集合をサンプリングするクエリを作成します。サンプリング対象の時刻は、開始時刻に対し非負整数倍のサンプリング間隔を加えた時刻のうち、終了時刻と同じかそれ以前のもののみです。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。 作成したクエリを実行すると、各サンプリング位置の時刻と一致するロウが存在する場合は該当ロウの値を、存在しない場合は columnSetとmode引数の指定に従い補間された値を使用しロウ集合を生成します。個別の補間方法については、InterpolationModeの定義を参照してください。補間のために参照する必要のあるロウが存在しない場合、該当するサンプリング時刻のロウは生成されず、該当箇所の数だけ結果件数が減少します。サンプリング間隔をより短く設定すると、補間方法次第では異なるサンプリング時刻であっても同一のロウの内容が使用される可能性が高まります。 Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることはできません。現バージョンでは、 GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。- Parameters:
- start- 開始時刻。- nullは指定できない
- end- 終了時刻。- nullは指定できない
- columnSet-- modeに基づき特定の補間処理を適用するカラムの名前の集合。空集合の場合は適用対象のカラムを何も指定しないことを示す。- nullの場合は空集合を指定した場合と同様
- mode- 補間方法。- nullは指定できない
- interval- サンプリング間隔。- 0および負の値は指定できない
- intervalUnit- サンプリング間隔の時間単位。- TimeUnit.YEAR、- TimeUnit.MONTHは指定できない。また、- nullは指定できない
- Throws:
- GSException- 現バージョンでは送出されない
 
 - 
removeboolean remove(java.util.Date key) throws GSException指定のロウキーに対応するロウを削除します。ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。 圧縮オプションが設定された状態の時系列に対しては使用できません。 手動コミットモードの場合、対象のロウはロックされます。 - Specified by:
- removein interface- Container<java.util.Date,R>
- Returns:
- 対応するロウが存在したかどうか
- Throws:
- GSException- ロウキーに対応するカラムが存在しない場合
- GSException- この時系列について圧縮オプションが設定されていた場合
- GSException- この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして指定された場合
- java.lang.ClassCastException- 指定のロウキーがマッピング処理で使用されるロウキーの型と対応しない場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
- See Also:
- Container.remove(Object),- TimeSeriesProperties.getCompressionMethod()
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.TimeSeriesProperties
 
- 
- All Implemented Interfaces:
- java.lang.Cloneable
 
 
 public class TimeSeriesProperties extends java.lang.Object implements java.lang.Cloneable時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。 
- 
- 
Constructor SummaryConstructors Constructor and Description TimeSeriesProperties()標準設定のTimeSeriesPropertiesを作成します。
 - 
Method SummaryMethods Modifier and Type Method and Description TimeSeriesPropertiesclone()このオブジェクトと同一設定のTimeSeriesPropertiesを作成します。CompressionMethodgetCompressionMethod()時系列圧縮方式の種別を取得します。java.lang.DoublegetCompressionRate(java.lang.String column)指定のカラムについて、相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率を取得します。java.lang.DoublegetCompressionSpan(java.lang.String column)指定のカラムについての、相対誤差あり間引き圧縮で用いられる、値がとりうる範囲の最大値と最小値の差を取得します。java.lang.DoublegetCompressionWidth(java.lang.String column)指定のカラムについての、絶対誤差あり間引き圧縮における誤差境界の幅を取得します。intgetCompressionWindowSize()間引き圧縮において連続して間引きされるロウの最大期間を取得します。TimeUnitgetCompressionWindowSizeUnit()間引き圧縮において連続して間引きされるロウの最大期間の単位を取得します。intgetExpirationDivisionCount()期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数を取得します。intgetRowExpirationTime()ロウの有効期限の基準となる経過期間を取得します。TimeUnitgetRowExpirationTimeUnit()ロウの有効期限の基準とする経過期間の単位を取得します。java.util.Set<java.lang.String>getSpecifiedColumns()追加設定のあるカラムの名前をすべて取得します。java.lang.BooleanisCompressionRelative(java.lang.String column)指定のカラムについて、誤差あり間引き圧縮の誤差判定基準値が相対値かどうかを返します。voidsetAbsoluteHiCompression(java.lang.String column, double width)指定のカラムについて、絶対誤差あり間引き圧縮のパラメータを設定します。voidsetCompressionMethod(CompressionMethod compressionMethod)時系列圧縮方式の種別を設定します。voidsetCompressionWindowSize(int compressionWindowSize, TimeUnit compressionWindowSizeUnit)間引き圧縮において連続して間引きされるロウの最大期間を設定します。voidsetExpirationDivisionCount(int count)有効期間に対する分割数により、期限に到達したロウデータの解放単位を設定します。voidsetRelativeHiCompression(java.lang.String column, double rate, double span)指定のカラムについて、相対誤差あり間引き圧縮のパラメータを設定します。voidsetRowExpiration(int elapsedTime, TimeUnit timeUnit)ロウの有効期限の基準となる経過期間を設定します。
 
- 
- 
- 
Constructor Detail- 
TimeSeriesPropertiespublic TimeSeriesProperties() 標準設定のTimeSeriesPropertiesを作成します。
 
- 
 - 
Method Detail- 
clonepublic TimeSeriesProperties clone() このオブジェクトと同一設定のTimeSeriesPropertiesを作成します。- Overrides:
- clonein class- java.lang.Object
- Returns:
- 作成されたTimeSeriesProperties
 
 - 
getCompressionMethodpublic CompressionMethod getCompressionMethod() 時系列圧縮方式の種別を取得します。- Returns:
- 圧縮方式の種別。nullは返却されない
 
 - 
getCompressionRatepublic java.lang.Double getCompressionRate(java.lang.String column) 指定のカラムについて、相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率を取得します。値がとりうる範囲は、 getCompressionWidth(String)により取得できます。- Parameters:
- column- カラム名
- Returns:
- 指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
- Throws:
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
getCompressionSpanpublic java.lang.Double getCompressionSpan(java.lang.String column) 指定のカラムについての、相対誤差あり間引き圧縮で用いられる、値がとりうる範囲の最大値と最小値の差を取得します。- Parameters:
- column- カラム名
- Returns:
- 指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
- Throws:
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
getCompressionWidthpublic java.lang.Double getCompressionWidth(java.lang.String column) 指定のカラムについての、絶対誤差あり間引き圧縮における誤差境界の幅を取得します。誤差境界の幅とは、間引き判定対象の値と間引きした場合に線形補間される値との差として、許容される最大の値です。 - Parameters:
- column- カラム名
- Returns:
- 指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
- Throws:
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
getCompressionWindowSizepublic int getCompressionWindowSize() 間引き圧縮において連続して間引きされるロウの最大期間を取得します。- Returns:
- 最大連続間引き期間。無設定の場合は-1
 
 - 
getCompressionWindowSizeUnitpublic TimeUnit getCompressionWindowSizeUnit() 間引き圧縮において連続して間引きされるロウの最大期間の単位を取得します。- Returns:
- 最大連続間引き期間の単位。無設定の場合はnull
 
 - 
getExpirationDivisionCountpublic int getExpirationDivisionCount() 期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数を取得します。- Returns:
- 有効期間に対する分割数。無設定の場合は-1
- Since:
- 2.0
- See Also:
- setExpirationDivisionCount(int)
 
 - 
getRowExpirationTimepublic int getRowExpirationTime() ロウの有効期限の基準となる経過期間を取得します。- Returns:
- 有効期限の基準となる経過期間。無設定の場合は-1
 
 - 
getRowExpirationTimeUnitpublic TimeUnit getRowExpirationTimeUnit() ロウの有効期限の基準とする経過期間の単位を取得します。- Returns:
- 有効期限の基準とする経過期間の単位。無設定の場合はnull
 
 - 
getSpecifiedColumnspublic java.util.Set<java.lang.String> getSpecifiedColumns() 追加設定のあるカラムの名前をすべて取得します。返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。 - Returns:
- 追加設定のあるカラム名の集合
 
 - 
isCompressionRelativepublic java.lang.Boolean isCompressionRelative(java.lang.String column) 指定のカラムについて、誤差あり間引き圧縮の誤差判定基準値が相対値かどうかを返します。- Parameters:
- column- カラム名
- Returns:
- 指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
- Throws:
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setAbsoluteHiCompressionpublic void setAbsoluteHiCompression(java.lang.String column, double width)指定のカラムについて、絶対誤差あり間引き圧縮のパラメータを設定します。異なる圧縮方式が設定されていた場合、間引き圧縮設定に変更されます。 パラメータ設定できるカラムの型、ならびに、カラム数の上限は、 setRelativeHiCompression(String, double, double)と同様です。- Parameters:
- column- カラム名
- width-- getCompressionWidth(String)と対応する誤差境界の幅
- Throws:
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setCompressionMethodpublic void setCompressionMethod(CompressionMethod compressionMethod) 時系列圧縮方式の種別を設定します。異なる圧縮方式に変更した場合、カラム別の設定はすべて解除されます。 - Parameters:
- compressionMethod- 圧縮方式の種別
- Throws:
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setCompressionWindowSizepublic void setCompressionWindowSize(int compressionWindowSize, TimeUnit compressionWindowSizeUnit)間引き圧縮において連続して間引きされるロウの最大期間を設定します。この期間が設定された時系列のロウについて、前方のロウと指定の期間以上時刻が離れていた場合、間引き圧縮として間引き可能な条件を満たしていたとしても、間引かれなくなります。 時系列圧縮方式として CompressionMethod.NOが設定されていた場合、この期間の設定は無視されます。時系列圧縮方式として CompressionMethod.HIまたはCompressionMethod.SSが設定されており、この期間について設定されなかった場合、TIMESTAMP型の取りうる値の範囲全体が期間として設定されたとみなされます。前方のロウと指定の期間以上時刻が離れておらず、かつ、間引き圧縮として間引き可能な条件を満たしていたとしても、格納先の内部の配置などによっては間引かれない場合があります。 - Parameters:
- compressionWindowSize- 最大連続間引き期間。- 0以下の値は指定できない
- compressionWindowSizeUnit- 最大連続間引き期間を表す単位。- TimeUnit.YEAR、- TimeUnit.MONTHは指定できない
- Throws:
- java.lang.IllegalArgumentException- 範囲外の- compressionWindowSize、- compressionWindowSizeUnitが指定された場合
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setExpirationDivisionCountpublic void setExpirationDivisionCount(int count) 有効期間に対する分割数により、期限に到達したロウデータの解放単位を設定します。分割数を設定すると、期限に到達したロウデータの管理領域を解放するための条件を制御できます。期限に到達したロウデータが分割数に相当する期間だけ集まった時点で解放しようとします。 分割数の上限については、GridDBテクニカルリファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。 ロウの有効期限の基準となる経過期間の設定がない場合、この分割数の設定は無視され無設定となります。一方、ロウの有効期限の基準となる経過期間の設定がある場合にこの分割数の設定を省略すると、作成される時系列にはGridDBクラスタ上のデフォルトの分割数が設定されます。 - Parameters:
- count- 有効期間に対する分割数。- 0以下の値は指定できない
- Throws:
- java.lang.IllegalArgumentException-- 0以下の分割数が指定された場合
- Since:
- 2.0
 
 - 
setRelativeHiCompressionpublic void setRelativeHiCompression(java.lang.String column, double rate, double span)指定のカラムについて、相対誤差あり間引き圧縮のパラメータを設定します。異なる圧縮方式が設定されていた場合、間引き圧縮設定に変更されます。 rateとspanの積は、絶対誤差あり間引き圧縮にてgetCompressionWidth(String)により得られる値と等価です。パラメータ設定できるカラムの型は、以下のいずれかに限定されます。 1つの時系列に対してパラメータ設定できるカラムの上限数については、 GridDBテクニカルリファレンスを参照してください。上限を超えるオプションは作成できますが、上限を超えたオプションを指定して時系列を作成することはできません。 - Parameters:
- column- カラム名
- rate-- spanを基準とした相対誤差境界値。- 0以上- 1以下でなければならない
- span- 対象のカラムの値がとりうる範囲の最大値と最小値の差
- Throws:
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合、また、- rateに範囲外の値を指定した場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setRowExpirationpublic void setRowExpiration(int elapsedTime, TimeUnit timeUnit)ロウの有効期限の基準となる経過期間を設定します。ロウの有効期限の時刻は、ロウキーの時刻から指定の経過期間を加算することで求まります。有効期限の時刻がGridDB上の現在時刻よりも古いロウは、有効期限の切れたロウとみなされます。期限切れのロウは、検索や更新といったロウ操作の対象から外れ、存在しないものとみなされます。対応するGridDB上の内部データは、随時削除されます。 有効期限超過の判定に使用される現在時刻は、GridDBの各ノードの実行環境に依存します。したがって、ネットワークの遅延や実行環境の時刻設定のずれなどにより、このVMの時刻より前に期限切れ前のロウにアクセスできなくなる場合や、このVMの時刻より後に期限切れロウにアクセスできる場合があります。意図しないロウの喪失を避けるために、最低限必要な期間よりも大きな値を設定することを推奨します。 作成済みの時系列の設定を変更することはできません。 - Parameters:
- elapsedTime- 基準とする経過期間。- 0以下の値は指定できない
- timeUnit- 経過期間の単位。- TimeUnit.YEAR、- TimeUnit.MONTHは指定できない
- Throws:
- java.lang.IllegalArgumentException- 範囲外の- elapsedTime、- timeUnitが指定された場合
- java.lang.IllegalArgumentException- 制限に反するカラム名が指定されたことを検知できた場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<TimeUnit>
- 
- com.toshiba.mwcloud.gs.TimeUnit
 
 
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description DAYHOURMILLISECONDMINUTEMONTHSECONDYEAR
 - 
Method SummaryMethods Modifier and Type Method and Description static TimeUnitvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static TimeUnit[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
DAYpublic static final TimeUnit DAY 
 - 
HOURpublic static final TimeUnit HOUR 
 - 
MILLISECONDpublic static final TimeUnit MILLISECOND 
 - 
MINUTEpublic static final TimeUnit MINUTE 
 - 
MONTHpublic static final TimeUnit MONTH 
 - 
SECONDpublic static final TimeUnit SECOND 
 - 
YEARpublic static final TimeUnit YEAR 
 
- 
 - 
Method Detail- 
valueOfpublic static TimeUnit valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static TimeUnit[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TimeUnit c : TimeUnit.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.TimestampUtils
 
- 
 
 public class TimestampUtils extends java.lang.Object時刻データを操作するためのユーティリティ機能を提供します。
- 
- 
Constructor SummaryConstructors Constructor and Description TimestampUtils()Deprecated.
 - 
Method SummaryMethods Modifier and Type Method and Description static java.util.Dateadd(java.util.Date timestamp, int amount, TimeUnit timeUnit)時刻に一定の値を加算します。static java.util.Datecurrent()現在時刻を求めます。static java.util.CalendarcurrentCalendar()現在時刻をCalendarとして求めます。static java.lang.Stringformat(java.util.Date timestamp)TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。static java.text.DateFormatgetFormat()TQLのTIMESTAMP値表記と対応する、日付フォーマットを求めます。static java.util.Dateparse(java.lang.String source)TQLのTIMESTAMP値表記に従い、指定の文字列に対応するDateを求めます。
 
- 
- 
- 
Method Detail- 
addpublic static java.util.Date add(java.util.Date timestamp, int amount, TimeUnit timeUnit)時刻に一定の値を加算します。amountに負の値を指定することで、指定の時刻より前の時刻を求めることができます。現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。 - Parameters:
- timestamp- 対象とする時刻
- amount- 加算する値
- timeUnit- 加算する値の単位
- Throws:
- java.lang.NullPointerException-- timestamp、- timeUnitに- nullが指定された場合
 
 - 
currentpublic static java.util.Date current() 現在時刻を求めます。
 - 
currentCalendarpublic static java.util.Calendar currentCalendar() 現在時刻をCalendarとして求めます。現バージョンでは、タイムゾーンは常にUTCに設定されます。 
 - 
formatpublic static java.lang.String format(java.util.Date timestamp) TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。現バージョンでは、変換の際に使用されるタイムゾーンはUTCです。 - Parameters:
- timestamp- 対象とする時刻
- Throws:
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
getFormatpublic static java.text.DateFormat getFormat() TQLのTIMESTAMP値表記と対応する、日付フォーマットを求めます。年の値が負となる時刻は扱えません。 
 - 
parsepublic static java.util.Date parse(java.lang.String source) throws java.text.ParseExceptionTQLのTIMESTAMP値表記に従い、指定の文字列に対応するDateを求めます。- Parameters:
- source- 対象とする時刻の文字列表現
- Throws:
- java.text.ParseException- 時刻の文字列表記と一致しない文字列が指定された場合
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 
- 
 
- 
- 
 
 @Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface TransientRowFieldContainerの処理において、マッピング対象外のロウフィールドであることを宣言します。
- java.lang.Object
- 
- java.lang.Enum<TriggerInfo.EventType>
- 
- com.toshiba.mwcloud.gs.TriggerInfo.EventType
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<TriggerInfo.EventType>
 - Enclosing class:
- TriggerInfo
 
 
 public static enum TriggerInfo.EventType extends java.lang.Enum<TriggerInfo.EventType> トリガで監視対象とする更新操作種別を表します。
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description DELETEコンテナに対するロウ削除を示します。PUTコンテナに対するロウ新規作成または更新を示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static TriggerInfo.EventTypevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static TriggerInfo.EventType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
DELETEpublic static final TriggerInfo.EventType DELETE コンテナに対するロウ削除を示します。
 - 
PUTpublic static final TriggerInfo.EventType PUT コンテナに対するロウ新規作成または更新を示します。
 
- 
 - 
Method Detail- 
valueOfpublic static TriggerInfo.EventType valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static TriggerInfo.EventType[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TriggerInfo.EventType c : TriggerInfo.EventType.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- java.lang.Enum<TriggerInfo.Type>
- 
- com.toshiba.mwcloud.gs.TriggerInfo.Type
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<TriggerInfo.Type>
 - Enclosing class:
- TriggerInfo
 
 
 public static enum TriggerInfo.Type extends java.lang.Enum<TriggerInfo.Type> トリガの種別を表します。
- 
- 
Enum Constant SummaryEnum Constants Enum Constant and Description JMSコンテナの更新時にJava Message Service(JMS)で通知するトリガ種別を示します。RESTコンテナの更新時にRESTで通知するトリガ種別を示します。
 - 
Method SummaryMethods Modifier and Type Method and Description static TriggerInfo.TypevalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static TriggerInfo.Type[]values()Returns an array containing the constants of this enum type, in the order they are declared.
 
- 
- 
- 
Enum Constant Detail- 
JMSpublic static final TriggerInfo.Type JMS コンテナの更新時にJava Message Service(JMS)で通知するトリガ種別を示します。
 - 
RESTpublic static final TriggerInfo.Type REST コンテナの更新時にRESTで通知するトリガ種別を示します。
 
- 
 - 
Method Detail- 
valueOfpublic static TriggerInfo.Type valueOf(java.lang.String name) Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
- name- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
- java.lang.IllegalArgumentException- if this enum type has no constant with the specified name
- java.lang.NullPointerException- if the argument is null
 
 - 
valuespublic static TriggerInfo.Type[] values() Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TriggerInfo.Type c : TriggerInfo.Type.values()) System.out.println(c); - Returns:
- an array containing the constants of this enum type, in the order they are declared
 
 
- 
 
- 
- java.lang.Object
- 
- com.toshiba.mwcloud.gs.TriggerInfo
 
- 
 
 public class TriggerInfo extends java.lang.Objectコンテナの更新を監視するためのトリガ情報を表します。トリガ名の表記などの内容の妥当性について、必ずしも検査するとは限りません。 - Since:
- 1.5
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class and Description static classTriggerInfo.EventTypeトリガで監視対象とする更新操作種別を表します。static classTriggerInfo.Typeトリガの種別を表します。
 - 
Constructor SummaryConstructors Constructor and Description TriggerInfo()トリガ情報を生成します。
 - 
Method SummaryMethods Modifier and Type Method and Description java.lang.StringgetJMSDestinationName()JMS通知で使用するデスティネーション名を取得します。java.lang.StringgetJMSDestinationType()JMS通知で使用するデスティネーション種別を取得します。java.lang.StringgetName()トリガ名を取得します。java.lang.StringgetPassword()通知先サーバに接続する際のパスワードを取得します。java.util.Set<java.lang.String>getTargetColumns()トリガ発火時に通知対象とするカラム名を取得します。java.util.Set<TriggerInfo.EventType>getTargetEvents()トリガ発火対象とする更新操作種別を取得します。TriggerInfo.TypegetType()トリガ種別を取得します。java.net.URIgetURI()トリガ発火時の通知先URIを取得します。java.lang.StringgetUser()通知先サーバに接続する際のユーザ名を取得します。voidsetJMSDestinationName(java.lang.String destinationName)JMS通知で使用するデスティネーション名を設定します。voidsetJMSDestinationType(java.lang.String destinationType)JMS通知で使用するデスティネーション種別を設定します。voidsetName(java.lang.String name)トリガ名を設定します。voidsetPassword(java.lang.String password)通知先サーバに接続する際のパスワードを設定します。voidsetTargetColumns(java.util.Set<java.lang.String> columnSet)トリガ発火時に通知対象とするカラム名を設定します。voidsetTargetEvents(java.util.Set<TriggerInfo.EventType> eventSet)トリガ発火対象とする更新操作種別を設定します。voidsetType(TriggerInfo.Type type)トリガ種別を設定します。voidsetURI(java.net.URI uri)トリガ発火時の通知先URIを設定します。voidsetUser(java.lang.String user)通知先サーバに接続する際のユーザ名を設定します。
 
- 
- 
- 
Method Detail- 
getJMSDestinationNamepublic java.lang.String getJMSDestinationName() JMS通知で使用するデスティネーション名を取得します。
 - 
getJMSDestinationTypepublic java.lang.String getJMSDestinationType() JMS通知で使用するデスティネーション種別を取得します。
 - 
getNamepublic java.lang.String getName() トリガ名を取得します。
 - 
getPasswordpublic java.lang.String getPassword() 通知先サーバに接続する際のパスワードを取得します。現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。 
 - 
getTargetColumnspublic java.util.Set<java.lang.String> getTargetColumns() トリガ発火時に通知対象とするカラム名を取得します。返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。
 - 
getTargetEventspublic java.util.Set<TriggerInfo.EventType> getTargetEvents() トリガ発火対象とする更新操作種別を取得します。返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。
 - 
getTypepublic TriggerInfo.Type getType() トリガ種別を取得します。
 - 
getURIpublic java.net.URI getURI() トリガ発火時の通知先URIを取得します。
 - 
getUserpublic java.lang.String getUser() 通知先サーバに接続する際のユーザ名を取得します。現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。 
 - 
setJMSDestinationNamepublic void setJMSDestinationName(java.lang.String destinationName) JMS通知で使用するデスティネーション名を設定します。nullが指定された場合、Container.createTrigger(TriggerInfo)の実行時にエラーとなります。
 - 
setJMSDestinationTypepublic void setJMSDestinationType(java.lang.String destinationType) JMS通知で使用するデスティネーション種別を設定します。"queue"または"topic"が指定できます。 ASCIIの大文字・小文字表記の違いは区別されます。"queue"または"topic"以外が指定された場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。
 - 
setNamepublic void setName(java.lang.String name) トリガ名を設定します。空文字列・ nullが設定された場合、Container.createTrigger(TriggerInfo)の実行時にエラーとなります。
 - 
setPasswordpublic void setPassword(java.lang.String password) 通知先サーバに接続する際のパスワードを設定します。現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。 設定がない、または空文字列・ nullが設定された場合、空文字列をパスワードとして使用し接続します。ユーザ名・パスワードとも設定がない、または空文字列・ nullが設定された場合、ユーザ名・パスワードを使用せずに接続します。
 - 
setTargetColumnspublic void setTargetColumns(java.util.Set<java.lang.String> columnSet) トリガ発火時に通知対象とするカラム名を設定します。通知対象のカラムを特定する際、ASCIIの大文字・小文字表記の違いは区別されません。同一のカラムを指す複数のカラム名を含めても、そのカラムの値は通知には一度しか設定されません。 カラム名の指定がない場合、通知にはいずれのカラムの値も設定されません。 指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Throws:
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setTargetEventspublic void setTargetEvents(java.util.Set<TriggerInfo.EventType> eventSet) トリガ発火対象とする更新操作種別を設定します。複数の更新操作を設定した場合は、そのいずれかが行われた場合にトリガが発火します。 更新操作の設定がない場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。 - Throws:
- java.lang.NullPointerException- 引数に- nullが指定された場合
 
 - 
setTypepublic void setType(TriggerInfo.Type type) トリガ種別を設定します。nullが設定された場合、Container.createTrigger(TriggerInfo)の実行時にエラーとなります。
 - 
setURIpublic void setURI(java.net.URI uri) トリガ発火時の通知先URIを設定します。nullが設定された場合、Container.createTrigger(TriggerInfo)の実行時にエラーとなります。
 - 
setUserpublic void setUser(java.lang.String user) 通知先サーバに接続する際のユーザ名を設定します。現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。 設定がない、または空文字列・ nullが設定された場合、空文字列をユーザ名として使用し接続します。ユーザ名・パスワードとも設定がない、または空文字列・ nullが設定された場合、ユーザ名・パスワードを使用せずに接続します。
 
- 
 
- 
Serialized Form
- 
Package com.toshiba.mwcloud.gs- 
Class com.toshiba.mwcloud.gs.GSException extends java.io.IOException implements Serializable- serialVersionUID:
- -7261622831192521426L
 
- 
Class com.toshiba.mwcloud.gs.GSRecoverableException extends GSException implements Serializable- serialVersionUID:
- 1241771194878438360L
 
- 
Class com.toshiba.mwcloud.gs.GSTimeoutException extends GSException implements Serializable- serialVersionUID:
- -2321647495394140580L
 
 
- 
5.2 APIサンプル(Java)
5.2.1 基本: コレクション操作のサンプル(Java)
package test;
import java.util.Arrays;
import java.util.Properties;
import com.toshiba.mwcloud.gs.Collection;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;
// コレクションデータの操作
public class Sample1 {
	static class Person {
		@RowKey String name;
		boolean status;
		long count;
		byte[] lob;
	}
	public static void main(String[] args) throws GSException {
		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);
		// コレクションの作成
		Collection<String, Person> col = store.putCollection("col01", Person.class);
		// カラムに索引を設定
		col.createIndex("count");
		// 自動コミットモードをオフ
		col.setAutoCommit(false);
		// Rowのデータを用意
		Person person = new Person();
		person.name = "name01";
		person.status = false;
		person.count = 1;
		person.lob = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
		// KV形式でRowを操作: RowKeyは"name01"
		boolean update = true;
		col.put(person);	// 登録
		person = col.get(person.name, update);	// 取得(更新用にロック)
		col.remove(person.name);	// 削除
		// KV形式でRowを操作: RowKeyは"name02"
		col.put("name02", person);	// 登録(RowKeyを指定)
		// トランザクションの確定(ロック解除)
		col.commit();
		// コレクション内のRowを検索
		Query<Person> query = col.query("select * where name = 'name02'");
		// 検索したRowの取得と更新
		RowSet<Person> rs = query.fetch(update);
		while (rs.hasNext()) {
			// 検索したRowの更新
			Person person1 = rs.next();
			person1.count += 1;
			rs.update(person1);
			System.out.println("Person:" +
					" name=" + person1.name +
					" status=" + person1.status +
					" count=" + person1.count +
					" lob=" + Arrays.toString(person1.lob));
		}
		// トランザクションの確定
		col.commit();
		// リソースの解放
		store.close();
	}
}
5.2.2 基本: 時系列操作のサンプル(Java) ― 登録・範囲取得
package test;
import java.util.Date;
import java.util.Properties;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;
import com.toshiba.mwcloud.gs.TimeSeries;
import com.toshiba.mwcloud.gs.TimestampUtils;
import com.toshiba.mwcloud.gs.TimeUnit;
// 時系列データの登録と範囲取得
public class Sample2 {
	static class Point {
		@RowKey Date timestamp;
		boolean active;
		double voltage;
	}
	public static void main(String[] args) throws GSException {
		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);
		// 時系列の作成 (既存の場合は取得のみ)
		TimeSeries<Point> ts = store.putTimeSeries("point01", Point.class);
		// 時系列要素のデータを用意
		Point point = new Point();
		point.active = false;
		point.voltage = 100;
		// 時系列要素の登録(グリッドストア側で時刻設定)
		ts.append(point);
		// 指定区間の時系列の取得: 6時間前から直近まで
		Date now = TimestampUtils.current();
		Date before = TimestampUtils.add(now, -6, TimeUnit.HOUR);
		RowSet<Point> rs = ts.query(before, now).fetch();
		while (rs.hasNext()) {
			point = rs.next();
			System.out.println(
					"Time=" + TimestampUtils.format(point.timestamp) +
					" Active=" + point.active +
					" Voltage=" + point.voltage);
		}
		// リソースの解放
		store.close();
	}
}
5.2.3 基本: 時系列操作のサンプル(Java) ― 検索・集計
package test;
import java.util.Date;
import java.util.Properties;
import com.toshiba.mwcloud.gs.Aggregation;
import com.toshiba.mwcloud.gs.AggregationResult;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;
import com.toshiba.mwcloud.gs.TimeOperator;
import com.toshiba.mwcloud.gs.TimeSeries;
import com.toshiba.mwcloud.gs.TimestampUtils;
import com.toshiba.mwcloud.gs.TimeUnit;
// 時系列データの検索と集計
public class Sample3 {
	static class Point {
		@RowKey Date timestamp;
		boolean active;
		double voltage;
	}
	public static void main(String[] args) throws GSException {
		// 読み取りのみなので、一貫性レベルを緩和(デフォルトはIMMEDIATE)
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		props.setProperty("consistency", "EVENTUAL");
		// GridStoreインスタンスの取得
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);
		// 時系列の取得
		// ※Sample2と同じPointクラスを使用
		TimeSeries<Point> ts = store.getTimeSeries("point01", Point.class);
		// 停止中にもかかわらず電圧が基準値以上の箇所を検索
		Query<Point> query = ts.query(
				"select * from point01" +
				" where not active and voltage > 50");
		RowSet<Point> rs = query.fetch();
		while (rs.hasNext()) {
			// 各異常ポイントについて調査
			Point hotPoint = rs.next();
			Date hot = hotPoint.timestamp;
			// 10分前付近のデータを取得
			Date start = TimestampUtils.add(hot, -10, TimeUnit.MINUTE);
			Point startPoint = ts.get(start, TimeOperator.NEXT);
			// 前後10分間の平均値を計算
			Date end = TimestampUtils.add(hot, 10, TimeUnit.MINUTE);
			AggregationResult avg = ts.aggregate(
					start, end, "voltage", Aggregation.AVERAGE);
			System.out.println(
					"[Alert] " + TimestampUtils.format(hot) +
					" start=" + startPoint.voltage +
					" hot=" + hotPoint.voltage +
					" avg=" + avg.getDouble());
		}
		// リソースの解放
		store.close();
	}
}
5.2.4 応用: コレクション操作のサンプル(Java) ― コンテナ情報を用いてスキーマ定義
package test;
import java.util.Arrays;
import java.util.Properties;
import com.toshiba.mwcloud.gs.ColumnInfo;
import com.toshiba.mwcloud.gs.Container;
import com.toshiba.mwcloud.gs.ContainerInfo;
import com.toshiba.mwcloud.gs.ContainerType;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GSType;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.Row;
import com.toshiba.mwcloud.gs.RowSet;
// コンテナ情報を用いてスキーマ定義
public class Sample4 {
	public static void main(String[] args) throws GSException {
		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);
		// コンテナ情報を作成
		ContainerInfo info = new ContainerInfo();
		info.setType(ContainerType.COLLECTION);
		info.setName("col01");
		info.setColumnInfoList(Arrays.asList(
				new ColumnInfo("name", GSType.STRING),
				new ColumnInfo("status", GSType.BOOL),
				new ColumnInfo("count", GSType.LONG),
				new ColumnInfo("lob", GSType.BYTE_ARRAY)));
		info.setRowKeyAssigned(true);
		// コレクションの作成
		Container<String, Row> container = store.putContainer(null, info, false);
		// カラムに索引を設定
		container.createIndex("count");
		// 自動コミットモードをオフ
		container.setAutoCommit(false);
		// Rowのデータを用意
		Row row;
		{
			String name = "name01";
			boolean status = false;
			long count = 1;
			byte[] lob = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
			row = container.createRow();
			row.setString(0, name);
			row.setBool(1, status);
			row.setLong(2, count);
			row.setByteArray(3, lob);
		}
		// KV形式でRowを操作: RowKeyは"name01"
		boolean update = true;
		container.put(row);	// 登録
		row = container.get("name01", update);	// 取得(更新用にロック)
		container.remove("name01");	// 削除
		// KV形式でRowを操作: RowKeyは"name02"
		container.put("name02", row);	// 登録(RowKeyを指定)
		// トランザクションの確定(ロック解除)
		container.commit();
		// コレクション内のRowを検索
		Query<Row> query = container.query("select * where name = 'name02'");
		// 検索したRowの取得と更新
		RowSet<Row> rs = query.fetch(update);
		while (rs.hasNext()) {
			// 検索したRowの更新
			row = rs.next();
			String name = row.getString(0);
			boolean status = row.getBool(1);
			long count = row.getLong(2);
			byte[] lob = row.getByteArray(3);
			count += 1;
			rs.update(row);
			System.out.println("Person:" +
					" name=" + name +
					" status=" + status +
					" count=" + count +
					" lob=" + Arrays.toString(lob));
		}
		// トランザクションの確定
		container.commit();
		// リソースの解放
		store.close();
	}
}
5.2.5 応用: コレクション操作のサンプル(Java) ― 複数コンテナ一括操作
package test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import com.toshiba.mwcloud.gs.ColumnInfo;
import com.toshiba.mwcloud.gs.Container;
import com.toshiba.mwcloud.gs.ContainerInfo;
import com.toshiba.mwcloud.gs.ContainerType;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GSType;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.Row;
import com.toshiba.mwcloud.gs.RowKeyPredicate;
import com.toshiba.mwcloud.gs.RowSet;
// 複数コンテナ一括操作
public class Sample5 {
	public static void main(String[] args) throws GSException {
		final List<String> containerNameList = Arrays.asList(
				"col01", "col02", "col03", "col04", "col05");
		final List<String> keyList = Arrays.asList(
				"name01", "name02");
		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);
		// コンテナ情報を作成
		ContainerInfo info = new ContainerInfo();
		info.setType(ContainerType.COLLECTION);
		info.setColumnInfoList(Arrays.asList(
				new ColumnInfo("name", GSType.STRING),
				new ColumnInfo("status", GSType.BOOL),
				new ColumnInfo("count", GSType.LONG),
				new ColumnInfo("lob", GSType.BYTE_ARRAY)));
		info.setRowKeyAssigned(true);
		// コレクションの作成
		List<Container<String, Row>> containerList =
				new ArrayList<Container<String, Row>>();
		for (String containerName : containerNameList) {
			Container<String, Row> container =
					store.putContainer(containerName, info, false);
			containerList.add(container);
		}
		// 複数コレクションのRowを一括登録
		{
			boolean status = false;
			long count = 1;
			byte[] lob = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
			Map<String, List<Row>> inMap = new HashMap<String, List<Row>>();
			for (String containerName : containerNameList) {
				List<Row> rowList = new ArrayList<Row>();
				for (String key : keyList) {
					Row row = store.createRow(info);
					row.setString(0, key);
					row.setBool(1, status);
					row.setLong(2, count);
					row.setByteArray(3, lob);
					count++;
					rowList.add(row);
				}
				inMap.put(containerName, rowList);
			}
			store.multiPut(inMap);
		}
		// 複数コレクションのRowを一括取得
		{
			// 取得条件を構築
			Map<String, RowKeyPredicate<String>> predMap =
					new HashMap<String, RowKeyPredicate<String>>();
			for (String containerName : containerNameList) {
				RowKeyPredicate<String> predicate =
						RowKeyPredicate.create(String.class);
				for (String key : keyList) {
					predicate.add(key);
				}
				predMap.put(containerName, predicate);
			}
			Map<String, List<Row>> outMap = store.multiGet(predMap);
			// 取得結果を出力
			for (Map.Entry<String, List<Row>> entry : outMap.entrySet()) {
				for (Row row : entry.getValue()) {
					String name = row.getString(0);
					long count = row.getLong(2);
					System.out.println("Person[" + entry.getKey() + "]:" +
							" name=" + name +
							" count=" + count);
				}
			}
		}
		// 複数コレクションのRowを一括検索(クエリ使用)
		{
			List<Query<Row>> queryList = new ArrayList<Query<Row>>();
			for (Container<String, Row> container : containerList) {
				String tql = "select * where count >= 0";
				queryList.add(container.query(tql));
			}
			store.fetchAll(queryList);
			for (int i = 0; i < queryList.size(); i++) {
				Query<Row> query = queryList.get(i);
				RowSet<Row> rs = query.getRowSet();
				while (rs.hasNext()) {
					Row row = rs.next();
					String name = row.getString(0);
					boolean status = row.getBool(1);
					long count = row.getLong(2);
					byte[] lob = row.getByteArray(3);
					System.out.println("Person[" + i + "]:" +
							" name=" + name +
							" status=" + status +
							" count=" + count +
							" lob=" + Arrays.toString(lob));
				}
			}
		}
		// リソースの解放
		store.close();
	}
}
6 API (C言語)
6.1 API一覧(C言語)
GridDBの公開C言語インタフェースを定義します
- インタフェース型
- ユーティリティ
- ヘッダファイル
GridDBのC言語向け公開API. More...
#include <stdlib.h>#include <stdint.h>| Classes | |
| struct | GSBlobTag | 
| ロウオブジェクトにおけるBLOB構造を表します。More... | |
| struct | GSPropertyEntryTag | 
| プロパティの構成エントリです。More... | |
| struct | GSColumnCompressionTag | 
| 特定のカラムの圧縮設定を表します。More... | |
| struct | GSCollectionPropertiesTag | 
| コレクションの構成オプションを表します。More... | |
| struct | GSTimeSeriesPropertiesTag | 
| 時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。More... | |
| struct | GSColumnInfoTag | 
| カラムのスキーマに関する情報を表します。More... | |
| struct | GSTriggerInfoTag | 
| トリガに関する情報を表します。More... | |
| struct | GSIndexInfoTag | 
| 索引の設定内容を表します。More... | |
| struct | GSContainerInfoTag | 
| 特定のコンテナに関する情報を表します。More... | |
| struct | GSBindingTag | 
| ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。More... | |
| struct | GSQueryAnalysisEntryTag | 
| クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。More... | |
| struct | GSContainerRowEntryTag | 
| 複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。More... | |
| struct | GSRowKeyPredicateEntryTag | 
| 複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。More... | |
| union | GSValueTag | 
| ロウフィールドに格納できるいずれかの型の値です。More... | |
| Macros | |
| #define | GS_CLIENT_VERSION_MAJOR 4 | 
| GridDBクライアントのメジャーバージョンを表す数値です。 | |
| #define | GS_CLIENT_VERSION_MINOR 1 | 
| GridDBクライアントのマイナーバージョンを表す数値です。 | |
| #define | GS_TRUE 1 | 
| 真であることを示すブール型値です。 | |
| #define | GS_FALSE 0 | 
| 偽であることを示すブール型値です。 | |
| #define | GS_RESULT_OK 0 | 
| GridDBに対する命令の実行に成功したことを示す、実行結果コードの値です。More... | |
| #define | GS_SUCCEEDED(result) ((result) == GS_RESULT_OK) | 
| 実行結果コードに基づきGridDBに対する命令の実行に成功したかどうかのブール値を求めるマクロです。More... | |
| #define | GS_COLUMN_COMPRESSION_INITIALIZER { NULL, GS_FALSE, 0, 0, 0 } | 
| GSColumnCompressionの初期化子です。 | |
| #define | GS_COLLECTION_PROPERTIES_INITIALIZER { 0 } | 
| GSCollectionPropertiesの初期化子です。 | |
| #define | GS_TIME_SERIES_PROPERTIES_INITIALIZER | 
| GSTimeSeriesPropertiesの初期化子です。More... | |
| #define | GS_COLUMN_INFO_INITIALIZER { NULL, GS_TYPE_STRING, GS_INDEX_FLAG_DEFAULT, 0 } | 
| GSColumnInfoの初期化子です。 | |
| #define | GS_TRIGGER_INFO_INITIALIZER | 
| GSTriggerInfoの初期化子です。 | |
| #define | GS_INDEX_INFO_INITIALIZER { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL } | 
| #define | GS_CONTAINER_INFO_INITIALIZER | 
| GSContainerInfoの初期化子です。 | |
| #define | GS_QUERY_ANALYSIS_ENTRY_INITIALIZER { 0, 0, NULL, NULL, NULL, NULL } | 
| GSQueryAnalysisEntryの初期化子です。 | |
| #define | GS_CONTAINER_ROW_ENTRY_INITIALIZER { NULL, NULL, 0 } | 
| GSContainerRowEntryの初期化子です。More... | |
| #define | GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER { NULL, NULL } | 
| GSRowKeyPredicateEntryの初期化子です。More... | |
| #define | GS_TIME_STRING_SIZE_MAX 32 | 
| TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
| #define | GS_GET_STRUCT_BINDING(type) gsSetupStructBindingOf_##type() | 
| ユーザ定義構造体とコンテナスキーマとの対応関係の定義を取得します。More... | |
| #define | GS_STRUCT_BINDING(type, entries) | 
| ユーザ定義構造体とコンテナスキーマとの対応関係を定義します。More... | |
| #define | GS_STRUCT_BINDING_NAMED_ELEMENT(name, member, memberType) | 
| カラム名を指定して、ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。More... | |
| #define | GS_STRUCT_BINDING_NAMED_KEY(name, member, memberType) | 
| カラム名を指定して、ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。More... | |
| #define | GS_STRUCT_BINDING_NAMED_ARRAY(name, member, sizeMember, elementType) | 
| カラム名を指定して、ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。More... | |
| #define | GS_STRUCT_BINDING_ELEMENT(member, memberType) | 
| ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。More... | |
| #define | GS_STRUCT_BINDING_KEY(member, memberType) | 
| ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。More... | |
| #define | GS_STRUCT_BINDING_ARRAY(member, sizeMember, elementType) | 
| ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。More... | |
| Typedefs | |
| typedef char | GSChar | 
| GridDB APIで使用される標準の文字の型です。More... | |
| typedef char | GSBool | 
| GridDB APIで使用されるブール型です。More... | |
| typedef int32_t | GSEnum | 
| 列挙型 | |
| typedef int64_t | GSTimestamp | 
| GridDB上のTIMESTAMP型と対応する時刻型です。ミリ秒単位のUNIX時刻を保持します。 | |
| typedef struct GSGridStoreFactoryTag | GSGridStoreFactory | 
| GSGridStoreインスタンスを管理します。More... | |
| typedef struct GSGridStoreTag | GSGridStore | 
| 1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。More... | |
| typedef struct GSContainerTag | GSContainer | 
| 同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。More... | |
| typedef struct GSQueryTag | GSQuery | 
| 特定のGSContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。 | |
| typedef struct GSRowSetTag | GSRowSet | 
| クエリ実行より求めたロウの集合を管理します。More... | |
| typedef struct GSAggregationResultTag | GSAggregationResult | 
| 集計演算の結果を保持します。More... | |
| typedef GSContainer | GSCollection | 
| ロウ集合を汎用的に管理するためのコンテナです。More... | |
| typedef GSContainer | GSTimeSeries | 
| 時刻をロウキーとする、時系列処理に特化したコンテナです。More... | |
| typedef struct GSRowTag | GSRow | 
| 任意のスキーマについて汎用的にフィールド操作できるロウです。More... | |
| typedef struct GSRowKeyPredicateTag | GSRowKeyPredicate | 
| ロウキーの合致条件を表します。More... | |
| typedef struct GSPartitionControllerTag | GSPartitionController | 
| パーティション状態の取得や操作のためのコントローラです。More... | |
| typedef int32_t | GSResult | 
| GridDBに対する命令の実行結果コードの型です。 | |
| typedef struct GSBlobTag | GSBlob | 
| ロウオブジェクトにおけるBLOB構造を表します。 | |
| typedef struct GSPropertyEntryTag | GSPropertyEntry | 
| プロパティの構成エントリです。 | |
| typedef GSEnum | GSFetchOption | 
| typedef GSEnum | GSQueryOrder | 
| typedef int32_t | GSIndexTypeFlags | 
| typedef GSEnum | GSAggregation | 
| typedef GSEnum | GSInterpolationMode | 
| typedef GSEnum | GSTimeOperator | 
| typedef GSEnum | GSGeometryOperator | 
| typedef GSEnum | GSCompressionMethod | 
| typedef GSEnum | GSTimeUnit | 
| typedef GSEnum | GSContainerType | 
| typedef GSEnum | GSType | 
| typedef int32_t | GSTypeOption | 
| カラムに関するオプション設定を示すフラグ値のビット和です。More... | |
| typedef GSEnum | GSRowSetType | 
| typedef struct GSColumnCompressionTag | GSColumnCompression | 
| 特定のカラムの圧縮設定を表します。More... | |
| typedef struct GSCollectionPropertiesTag | GSCollectionProperties | 
| コレクションの構成オプションを表します。More... | |
| typedef struct GSTimeSeriesPropertiesTag | GSTimeSeriesProperties | 
| 時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。More... | |
| typedef struct GSColumnInfoTag | GSColumnInfo | 
| カラムのスキーマに関する情報を表します。 | |
| typedef GSEnum | GSTriggerType | 
| typedef int32_t | GSTriggerEventTypeFlags | 
| typedef struct GSTriggerInfoTag | GSTriggerInfo | 
| トリガに関する情報を表します。More... | |
| typedef struct GSIndexInfoTag | GSIndexInfo | 
| 索引の設定内容を表します。More... | |
| typedef struct GSContainerInfoTag | GSContainerInfo | 
| 特定のコンテナに関する情報を表します。 | |
| typedef struct GSBindingTag | GSBinding | 
| ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。 | |
| typedef struct GSQueryAnalysisEntryTag | GSQueryAnalysisEntry | 
| クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。More... | |
| typedef struct GSContainerRowEntryTag | GSContainerRowEntry | 
| 複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。More... | |
| typedef struct GSRowKeyPredicateEntryTag | GSRowKeyPredicateEntry | 
| 複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。More... | |
| typedef union GSValueTag | GSValue | 
| ロウフィールドに格納できるいずれかの型の値です。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseFactory (GSGridStoreFactory **factory, GSBool allRelated) | 
| 必要に応じ、指定のGSGridStoreFactoryに関連するリソースをクローズします。More... | |
| GS_DLL_PUBLIC GSGridStoreFactory *GS_API_CALL | gsGetDefaultFactory () | 
| デフォルトのGSGridStoreFactoryインスタンスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetGridStore (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount, GSGridStore **store) | 
| 指定のプロパティを持つGSGridStoreを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFactoryProperties (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount) | 
| 指定のファクトリの設定を変更します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseGridStore (GSGridStore **store, GSBool allRelated) | 
| 指定のGSGridStoreインスタンスについて、対応するGridDBクラスタとの接続状態を解除し、必要に応じて指定のインスタンスならびに関連するリソースを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropCollection (GSGridStore *store, const GSChar *name) | 
| 指定の名前を持つコレクションを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTimeSeries (GSGridStore *store, const GSChar *name) | 
| 指定の名前を持つ時系列を削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSCollection **collection) | 
| 指定の名前のコレクションを操作するためのGSCollectionインスタンスを取得します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetContainerInfo (GSGridStore *store, const GSChar *name, GSContainerInfo *info, GSBool *exists) | 
| 指定の名前のコンテナに関する情報を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSTimeSeries **timeSeries) | 
| 指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutContainer (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) | 
| バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSCollectionProperties *properties, GSBool modifiable, GSCollection **collection) | 
| コレクションを新規作成または変更します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSTimeSeriesProperties *properties, GSBool modifiable, GSTimeSeries **timeSeries) | 
| 時系列を新規作成または変更します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainerGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) | 
| GSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerGeneral (GSGridStore *store, const GSChar *name, GSContainer **container) | 
| GSRowによりロウ操作できるGSContainerインスタンスを取得します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutCollectionGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSCollection **collection) | 
| GSContainerInfoを指定して、コレクションを新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetCollectionGeneral (GSGridStore *store, const GSChar *name, GSCollection **collection) | 
| GSRowによりロウ操作できるGSCollectionインスタンスを取得します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeriesGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSTimeSeries **timeSeries) | 
| GSContainerInfoを指定して、時系列を新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetTimeSeriesGeneral (GSGridStore *store, const GSChar *name, GSTimeSeries **timeSeries) | 
| GSRowによりロウ操作できるGSTimeSeriesインスタンスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropContainer (GSGridStore *store, const GSChar *name) | 
| 指定の名前を持つコンテナを削除します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsCreateRowByStore (GSGridStore *store, const GSContainerInfo *info, GSRow **row) | 
| GSContainerInfoを指定して、GSRowを新規作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetchAll (GSGridStore *store, GSQuery *const *queryList, size_t queryCount) | 
| 指定された任意個数のGSQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleContainerRows (GSGridStore *store, const GSContainerRowEntry *entryList, size_t entryCount) | 
| 任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetMultipleContainerRows (GSGridStore *store, const GSRowKeyPredicateEntry *const *predicateList, size_t predicateCount, const GSContainerRowEntry **entryList, size_t *entryCount) | 
| 指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionController (GSGridStore *store, GSPartitionController **partitionController) | 
| 対応するGridDBクラスタについてのGSPartitionControllerを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyPredicate (GSGridStore *store, GSType keyType, GSRowKeyPredicate **predicate) | 
| 指定のGSTypeをロウキーの型とする合致条件を作成します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseContainer (GSContainer **container, GSBool allRelated) | 
| 指定のGSContainerインスタンスについて、必要に応じこのインスタンスならびに関連するリソースを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateTrigger (GSContainer *container, const GSTriggerInfo *info) | 
| トリガを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) | 
| 指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateIndexDetail (GSContainer *container, const GSIndexInfo *info) | 
| GSIndexInfoで設定されている内容に従い、索引を作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTrigger (GSContainer *container, const GSChar *name) | 
| トリガを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) | 
| 指定された名前のカラムのうち、指定された種別の索引のみを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropIndexDetail (GSContainer *container, const GSIndexInfo *info) | 
| GSIndexInfoで設定されている内容に一致する、すべての索引を削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsFlush (GSContainer *container) | 
| これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRow (GSContainer *container, const void *key, void *rowObj, GSBool *exists) | 
| ロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRow (GSContainer *container, const void *key, const void *rowObj, GSBool *exists) | 
| 必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleRows (GSContainer *container, const void *const *rowObjs, size_t rowCount, GSBool *exists) | 
| 指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQuery (GSContainer *container, const GSChar *queryString, GSQuery **query) | 
| 指定のTQL文を実行するためのクエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRow (GSContainer *container, const void *key, GSBool *exists) | 
| 指定のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerType (GSContainer *container, GSContainerType *type) | 
| 指定のコンテナの種別を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowByContainer (GSContainer *container, GSRow **row) | 
| 指定のコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAbort (GSContainer *container) | 
| 手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、新たなトランザクションを開始します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCommit (GSContainer *container) | 
| 手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、新たなトランザクションを開始します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowForUpdate (GSContainer *container, const void *key, void *rowObj, GSBool *exists) | 
| ロウキーに対応するロウについて、更新用ロックを獲得し内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetAutoCommit (GSContainer *container, GSBool enabled) | 
| コミットモードの設定を変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByInteger (GSContainer *container, int32_t key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| INTEGER型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByLong (GSContainer *container, int64_t key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| LONG型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByTimestamp (GSContainer *container, GSTimestamp key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| TIMESTAMP型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByString (GSContainer *container, const GSChar *key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| STRING型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByInteger (GSContainer *container, int32_t key, const void *rowObj, GSBool *exists) | 
| INTEGER型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByLong (GSContainer *container, int64_t key, const void *rowObj, GSBool *exists) | 
| LONG型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByTimestamp (GSContainer *container, GSTimestamp key, const void *rowObj, GSBool *exists) | 
| TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByString (GSContainer *container, const GSChar *key, const void *rowObj, GSBool *exists) | 
| STRING型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByInteger (GSContainer *container, int32_t key, GSBool *exists) | 
| INTEGER型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByLong (GSContainer *container, int64_t key, GSBool *exists) | 
| LONG型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByTimestamp (GSContainer *container, GSTimestamp key, GSBool *exists) | 
| TIMESTAMP型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByString (GSContainer *container, const GSChar *key, GSBool *exists) | 
| STRING型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometry (GSCollection *collection, const GSChar *column, const GSChar *geometry, GSGeometryOperator geometryOp, GSQuery **query) | 
| 指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometryWithDisjointCondition (GSCollection *collection, const GSChar *column, const GSChar *geometryIntersection, const GSChar *geometryDisjoint, GSQuery **query) | 
| 除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAggregateTimeSeries (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *column, GSAggregation aggregation, GSAggregationResult **aggregationResult) | 
| 開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAppendTimeSeriesRow (GSTimeSeries *timeSeries, const void *rowObj, GSBool *exists) | 
| GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByBaseTime (GSTimeSeries *timeSeries, GSTimestamp base, GSTimeOperator timeOp, void *rowObj, GSBool *exists) | 
| 指定の時刻を基準として、関係する1つのロウを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsInterpolateTimeSeriesRow (GSTimeSeries *timeSeries, GSTimestamp base, const GSChar *column, void *rowObj, GSBool *exists) | 
| 指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesRange (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, GSQuery **query) | 
| 開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesOrderedRange (GSTimeSeries *timeSeries, const GSTimestamp *start, const GSTimestamp *end, GSQueryOrder order, GSQuery **query) | 
| 開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesSampling (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *const *columnSet, size_t columnCount, GSInterpolationMode mode, int32_t interval, GSTimeUnit intervalUnit, GSQuery **query) | 
| 特定範囲のロウ集合をサンプリングするクエリを作成します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseRow (GSRow **row) | 
| 指定のGSRowインスタンスを解放します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetRowSchema (GSRow *row, GSContainerInfo *schemaInfo) | 
| 指定のロウに対応するスキーマを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldGeneral (GSRow *row, int32_t column, const GSValue *fieldValue, GSType type) | 
| 指定のフィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldGeneral (GSRow *row, int32_t column, GSValue *fieldValue, GSType *type) | 
| 指定のフィールドの値とその型を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldNull (GSRow *row, int32_t column) | 
| 指定のフィールドにNULLを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldNull (GSRow *row, int32_t column, GSBool *nullValue) | 
| 指定のフィールドにNULLが設定されているかどうかを返します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByString (GSRow *row, int32_t column, const GSChar *fieldValue) | 
| 指定のSTRING型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsString (GSRow *row, int32_t column, const GSChar **fieldValue) | 
| 指定のSTRING型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBool (GSRow *row, int32_t column, GSBool fieldValue) | 
| 指定のBOOL型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBool (GSRow *row, int32_t column, GSBool *fieldValue) | 
| 指定のBOOL型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByte (GSRow *row, int32_t column, int8_t fieldValue) | 
| 指定のBYTE型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByte (GSRow *row, int32_t column, int8_t *fieldValue) | 
| 指定のBYTE型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShort (GSRow *row, int32_t column, int16_t fieldValue) | 
| 指定のSHORT型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShort (GSRow *row, int32_t column, int16_t *fieldValue) | 
| 指定のSHORT型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByInteger (GSRow *row, int32_t column, int32_t fieldValue) | 
| 指定のINTEGER型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsInteger (GSRow *row, int32_t column, int32_t *fieldValue) | 
| 指定のINTEGER型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLong (GSRow *row, int32_t column, int64_t fieldValue) | 
| 指定のLONG型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLong (GSRow *row, int32_t column, int64_t *fieldValue) | 
| 指定のLONG型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloat (GSRow *row, int32_t column, float fieldValue) | 
| 指定のFLOAT型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloat (GSRow *row, int32_t column, float *fieldValue) | 
| 指定のFLOAT型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDouble (GSRow *row, int32_t column, double fieldValue) | 
| 指定のDOUBLE型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDouble (GSRow *row, int32_t column, double *fieldValue) | 
| 指定のDOUBLE型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestamp (GSRow *row, int32_t column, GSTimestamp fieldValue) | 
| 指定のTIMESTAMP型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestamp (GSRow *row, int32_t column, GSTimestamp *fieldValue) | 
| 指定のTIMESTAMP型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByGeometry (GSRow *row, int32_t column, const GSChar *fieldValue) | 
| 指定のGEOMETRY型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsGeometry (GSRow *row, int32_t column, const GSChar **fieldValue) | 
| 指定のGEOMETRY型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBlob (GSRow *row, int32_t column, const GSBlob *fieldValue) | 
| 指定のBLOB型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBlob (GSRow *row, int32_t column, GSBlob *fieldValue) | 
| 指定のBLOB型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByStringArray (GSRow *row, int32_t column, const GSChar *const *fieldValue, size_t size) | 
| 指定のSTRING配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsStringArray (GSRow *row, int32_t column, const GSChar *const **fieldValue, size_t *size) | 
| 指定のSTRING配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBoolArray (GSRow *row, int32_t column, const GSBool *fieldValue, size_t size) | 
| 指定のBOOL配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBoolArray (GSRow *row, int32_t column, const GSBool **fieldValue, size_t *size) | 
| 指定のBOOL配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByteArray (GSRow *row, int32_t column, const int8_t *fieldValue, size_t size) | 
| 指定のBYTE配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByteArray (GSRow *row, int32_t column, const int8_t **fieldValue, size_t *size) | 
| 指定のBYTE配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShortArray (GSRow *row, int32_t column, const int16_t *fieldValue, size_t size) | 
| 指定のSHORT配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShortArray (GSRow *row, int32_t column, const int16_t **fieldValue, size_t *size) | 
| 指定のSHORT配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByIntegerArray (GSRow *row, int32_t column, const int32_t *fieldValue, size_t size) | 
| 指定のINTEGER配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsIntegerArray (GSRow *row, int32_t column, const int32_t **fieldValue, size_t *size) | 
| 指定のINTEGER配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLongArray (GSRow *row, int32_t column, const int64_t *fieldValue, size_t size) | 
| 指定のLONG配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLongArray (GSRow *row, int32_t column, const int64_t **fieldValue, size_t *size) | 
| 指定のLONG配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloatArray (GSRow *row, int32_t column, const float *fieldValue, size_t size) | 
| 指定のFLOAT配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloatArray (GSRow *row, int32_t column, const float **fieldValue, size_t *size) | 
| 指定のFLOAT配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDoubleArray (GSRow *row, int32_t column, const double *fieldValue, size_t size) | 
| 指定のDOUBLE配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDoubleArray (GSRow *row, int32_t column, const double **fieldValue, size_t *size) | 
| 指定のDOUBLE配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestampArray (GSRow *row, int32_t column, const GSTimestamp *fieldValue, size_t size) | 
| 指定のTIMESTAMP配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestampArray (GSRow *row, int32_t column, const GSTimestamp **fieldValue, size_t *size) | 
| 指定のTIMESTAMP配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseQuery (GSQuery **query) | 
| 指定のGSQueryインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetch (GSQuery *query, GSBool forUpdate, GSRowSet **rowSet) | 
| オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFetchOption (GSQuery *query, GSFetchOption fetchOption, const void *value, GSType valueType) | 
| 結果取得に関するオプションを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowSet (GSQuery *query, GSRowSet **rowSet) | 
| 直近に実行した結果のGSRowSetを取得します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowSet (GSRowSet **rowSet) | 
| 指定のGSRowSetインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteCurrentRow (GSRowSet *rowSet) | 
| 現在のカーソル位置のロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextRow (GSRowSet *rowSet, void *rowObj) | 
| ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextAggregation (GSRowSet *rowSet, GSAggregationResult **aggregationResult) | 
| ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextQueryAnalysis (GSRowSet *rowSet, GSQueryAnalysisEntry *queryAnalysis) | 
| ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。More... | |
| GS_DLL_PUBLIC GSRowSetType GS_API_CALL | gsGetRowSetType (GSRowSet *rowSet) | 
| ロウ集合の種別を取得します。More... | |
| GS_DLL_PUBLIC int32_t GS_API_CALL | gsGetRowSetSize (GSRowSet *rowSet) | 
| ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsHasNextRow (GSRowSet *rowSet) | 
| 現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsUpdateCurrentRow (GSRowSet *rowSet, const void *rowObj) | 
| 現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseAggregationResult (GSAggregationResult **aggregationResult) | 
| 指定のGSAggregationResultインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsGetAggregationValue (GSAggregationResult *aggregationResult, void *value, GSType valueType) | 
| 集計結果を指定の型の値として取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetAggregationValueAsLong (GSAggregationResult *aggregationResult, int64_t *value, GSBool *assigned) | 
| 数値型の集計値をLONG型( int64_t)として取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetAggregationValueAsDouble (GSAggregationResult *aggregationResult, double *value, GSBool *assigned) | 
| 数値型の集計値をDOUBLE型( double)として取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetAggregationValueAsTimestamp (GSAggregationResult *aggregationResult, GSTimestamp *value, GSBool *assigned) | 
| 時刻型の集計値をTIMESTAMP型(GSTimestamp)で取得します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowKeyPredicate (GSRowKeyPredicate **predicate) | 
| 指定のGSRowKeyPredicateインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateKeyType (GSRowKeyPredicate *predicate, GSType *keyType) | 
| 合致条件の評価対象とするロウキーの型を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **startKey) | 
| 範囲条件の開始位置とするロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsString (GSRowKeyPredicate *predicate, const GSChar **startKey) | 
| 範囲条件の開始位置とするSTRING型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **startKey) | 
| 範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **startKey) | 
| 範囲条件の開始位置とするLONG型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **startKey) | 
| 範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **finishKey) | 
| 範囲条件の終了位置とするロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsString (GSRowKeyPredicate *predicate, const GSChar **finishKey) | 
| 範囲条件の終了位置とするSTRING型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **finishKey) | 
| 範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **finishKey) | 
| 範囲条件の終了位置とするLONG型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **finishKey) | 
| 範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysGeneral (GSRowKeyPredicate *predicate, const GSValue **keyList, size_t *size) | 
| 個別条件を構成するロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsString (GSRowKeyPredicate *predicate, const GSChar *const **keyList, size_t *size) | 
| 個別条件を構成するSTRING型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsInteger (GSRowKeyPredicate *predicate, const int32_t **keyList, size_t *size) | 
| 個別条件を構成するINTEGER型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsLong (GSRowKeyPredicate *predicate, const int64_t **keyList, size_t *size) | 
| 個別条件を構成するLONG型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **keyList, size_t *size) | 
| 個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *startKey, GSType keyType) | 
| 範囲条件の開始位置とするロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByString (GSRowKeyPredicate *predicate, const GSChar *startKey) | 
| 範囲条件の開始位置とするSTRING型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *startKey) | 
| 範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByLong (GSRowKeyPredicate *predicate, const int64_t *startKey) | 
| 範囲条件の開始位置とするLONG型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *startKey) | 
| 範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *finishKey, GSType keyType) | 
| 範囲条件の終了位置とするロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByString (GSRowKeyPredicate *predicate, const GSChar *finishKey) | 
| 範囲条件の終了位置とするSTRING型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *finishKey) | 
| 範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByLong (GSRowKeyPredicate *predicate, const int64_t *finishKey) | 
| 範囲条件の終了位置とするLONG型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *finishKey) | 
| 範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *key, GSType keyType) | 
| 個別条件の要素の一つとするロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByString (GSRowKeyPredicate *predicate, const GSChar *key) | 
| 個別条件の要素の一つとするSTRING型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByInteger (GSRowKeyPredicate *predicate, int32_t key) | 
| 個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByLong (GSRowKeyPredicate *predicate, int64_t key) | 
| 個別条件の要素の一つとするLONG型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByTimestamp (GSRowKeyPredicate *predicate, GSTimestamp key) | 
| 個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC void GS_API_CALL | gsClosePartitionController (GSPartitionController **controller) | 
| 指定のGSPartitionControllerインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionCount (GSPartitionController *controller, int32_t *partitionCount) | 
| 対象とするGridDBクラスタのパーティション数を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerCount (GSPartitionController *controller, int32_t partitionIndex, int64_t *containerCount) | 
| 指定のパーティションに属するコンテナの総数を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerNames (GSPartitionController *controller, int32_t partitionIndex, int64_t start, const int64_t *limit, const GSChar *const **nameList, size_t *size) | 
| 指定のパーティションに所属するコンテナの名前の一覧を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) | 
| 指定のパーティションに対応するノードのアドレス一覧を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionOwnerHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar **address) | 
| 指定のパーティションに対応するオーナノードのアドレスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionBackupHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) | 
| 指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAssignPartitionPreferableHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar *host) | 
| 優先的に選択されるホストのアドレスを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionIndexOfContainer (GSPartitionController *controller, const GSChar *containerName, int32_t *partitionIndex) | 
| 指定のコンテナ名に対応するパーティションインデックスを取得します。More... | |
| GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsCurrentTime () | 
| 現在時刻を求めます。More... | |
| GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsAddTime (GSTimestamp timestamp, int32_t amount, GSTimeUnit timeUnit) | 
| 時刻に一定の値を加算します。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize) | 
| TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTime (const GSChar *str, GSTimestamp *timestamp) | 
| TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorStackSize (void *gsResource) | 
| 指定のリソースに関する直前のエラー情報のスタックサイズを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetErrorCode (void *gsResource, size_t stackIndex) | 
| 指定のリソースに関する直前のエラーのエラーコードを取得します。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorMessage (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) | 
| 指定のリソースに関する直前のエラーのメッセージを取得します。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorLocation (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) | 
| 指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsIsTimeoutError (GSResult result) | 
| 要求した処理が既定の時間内に終了しなかった場合に発生したエラーに該当するエラーコードかどうかを判定します。More... | |
Detailed Description
GridDBのC言語向け公開API.
Macro Definition Documentation
| #define GS_CONTAINER_ROW_ENTRY_INITIALIZER { NULL, NULL, 0 } | 
GSContainerRowEntryの初期化子です。
- Since
- 1.5
| #define GS_GET_STRUCT_BINDING | ( | type | ) | gsSetupStructBindingOf_##type() | 
ユーザ定義構造体とコンテナスキーマとの対応関係の定義を取得します。
- 指定の定義名のGS_STRUCT_BINDINGの定義を参照できるようにする必要があります。
- Parameters
- 
  type 対応関係の定義名。 
- Returns
- 対応関係を示すGSBinding*型の値
- See Also
- GS_STRUCT_BINDING
| #define GS_RESULT_OK 0 | 
GridDBに対する命令の実行に成功したことを示す、実行結果コードの値です。
- See Also
- GSResult
| #define GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER { NULL, NULL } | 
GSRowKeyPredicateEntryの初期化子です。
- Since
- 1.5
| #define GS_STRUCT_BINDING | ( | type, | |
| entries | |||
| ) | 
ユーザ定義構造体とコンテナスキーマとの対応関係を定義します。
- 現バージョンでは、静的関数の定義に展開されます。
- Parameters
- 
  type 対応関係の定義名。関数名の一部として使用されます。 entries 構造体メンバとカラム定義との対応関係を示す以下の定義の列を、「,」で区切らず順に並べます。 
- See Also
- GS_GET_STRUCT_BINDING
| #define GS_STRUCT_BINDING_ARRAY | ( | member, | |
| sizeMember, | |||
| elementType | |||
| ) | 
ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。
- 構造体メンバの名前がそのままカラム名として使用されます。
- Parameters
- 
  member 配列ポインタ変数に対応する構造体メンバの名前 sizeMember 配列サイズ変数に対応する構造体メンバの名前 elementType 配列型の要素型の名前 
- See Also
- GS_STRUCT_BINDING
| #define GS_STRUCT_BINDING_ELEMENT | ( | member, | |
| memberType | |||
| ) | 
ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。
- 構造体メンバの名前がそのままカラム名として使用されます。
- Parameters
- 
  member 構造体メンバの名前 memberType 基本型の名前 
- See Also
- GS_STRUCT_BINDING
| #define GS_STRUCT_BINDING_KEY | ( | member, | |
| memberType | |||
| ) | 
ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。
- 構造体メンバの名前がそのままカラム名として使用されます。
- Parameters
- 
  member 構造体メンバの名前 memberType 基本型の名前 
- See Also
- GS_STRUCT_BINDING
| #define GS_STRUCT_BINDING_NAMED_ARRAY | ( | name, | |
| member, | |||
| sizeMember, | |||
| elementType | |||
| ) | 
カラム名を指定して、ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。
- Parameters
- 
  name カラム名 member 配列ポインタ変数に対応する構造体メンバの名前 sizeMember 配列サイズ変数に対応する構造体メンバの名前 elementType 配列型の要素型の名前 
- See Also
- GS_STRUCT_BINDING
| #define GS_STRUCT_BINDING_NAMED_ELEMENT | ( | name, | |
| member, | |||
| memberType | |||
| ) | 
カラム名を指定して、ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。
- Parameters
- 
  name カラム名 member 構造体メンバの名前 memberType 基本型の名前 
- See Also
- GS_STRUCT_BINDING
| #define GS_STRUCT_BINDING_NAMED_KEY | ( | name, | |
| member, | |||
| memberType | |||
| ) | 
カラム名を指定して、ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。
- Parameters
- 
  name カラム名 member 構造体メンバの名前 memberType 基本型の名前 
- See Also
- GS_STRUCT_BINDING
| #define GS_SUCCEEDED | ( | result | ) | ((result) == GS_RESULT_OK) | 
実行結果コードに基づきGridDBに対する命令の実行に成功したかどうかのブール値を求めるマクロです。
- See Also
- GS_RESULT_OK
- GSResult
| #define GS_TIME_SERIES_PROPERTIES_INITIALIZER | 
GSTimeSeriesPropertiesの初期化子です。
- ロウの有効期限ならびに圧縮ロウの間引き連続制限は無効、時系列圧縮方式は無圧縮に設定されます。
Typedef Documentation
| typedef GSEnum GSAggregation | 
- See Also
- GSAggregationTag
| typedef char GSBool | 
GridDB APIで使用されるブール型です。
- GridDB上のBOOL型と対応します。
| typedef char GSChar | 
GridDB APIで使用される標準の文字の型です。
- この型の文字列エンコーディングは常にUTF-8です。
| typedef struct GSCollectionPropertiesTag GSCollectionProperties | 
コレクションの構成オプションを表します。
- Note
- 現バージョンでは使用されておりません。
| typedef struct GSColumnCompressionTag GSColumnCompression | 
特定のカラムの圧縮設定を表します。
- 時系列を対象とした誤差あり間引き圧縮のカラム別設定に使用します。
| typedef GSEnum GSCompressionMethod | 
- See Also
- GSCompressionMethodTag
| typedef struct GSContainerRowEntryTag GSContainerRowEntry | 
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。
- Since
- 1.5
| typedef GSEnum GSContainerType | 
- See Also
- GSContainerTypeTag
| typedef GSEnum GSFetchOption | 
- See Also
- GSFetchOptionTag
| typedef GSEnum GSGeometryOperator | 
- See Also
- GSGeometryOperatorTag
| typedef struct GSIndexInfoTag GSIndexInfo | 
索引の設定内容を表します。
- Since
- 3.5
| typedef int32_t GSIndexTypeFlags | 
- See Also
- GSIndexTypeFlagTag
| typedef GSEnum GSInterpolationMode | 
- See Also
- GSInterpolationModeTag
| typedef struct GSQueryAnalysisEntryTag GSQueryAnalysisEntry | 
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。
- TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。
| typedef GSEnum GSQueryOrder | 
- See Also
- GSQueryOrderTag
| typedef struct GSRowKeyPredicateEntryTag GSRowKeyPredicateEntry | 
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。
- Since
- 1.5
| typedef GSEnum GSRowSetType | 
- See Also
- GSRowSetTypeTag
| typedef GSEnum GSTimeOperator | 
- See Also
- GSTimeOperatorTag
| typedef struct GSTimeSeriesPropertiesTag GSTimeSeriesProperties | 
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。
- カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。
| typedef GSEnum GSTimeUnit | 
- See Also
- GSTimeUnitTag
| typedef int32_t GSTriggerEventTypeFlags | 
- See Also
- GSTriggerEventTypeFlagTag
| typedef struct GSTriggerInfoTag GSTriggerInfo | 
トリガに関する情報を表します。
- Since
- 1.5
| typedef GSEnum GSTriggerType | 
- See Also
- GSTriggerTypeTag
| typedef int32_t GSTypeOption | 
カラムに関するオプション設定を示すフラグ値のビット和です。
- ある設定項目について、対応するフラグ値が複数含まれていた場合に、オプション設定が矛盾しているとみなされるものが存在します。それらの設定項目のうち、対応するフラグ値が一つも含まれていないものは、未設定状態であるとみなされます。この制約に該当する設定項目とフラグ値との対応は次の通りです。設定項目 フラグ値 NOT NULL制約 初期値でのNULL使用有無 
- See Also
- GSTypeOptionTag
| typedef union GSValueTag GSValue | 
ロウフィールドに格納できるいずれかの型の値です。
- Since
- 1.5
Enumeration Type Documentation
| enum GSAggregationTag | 
ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。
- 現バージョンでは、GSTimeSeriesに対してのみ使用できます。
- 重み付きの演算の場合、キーの値に基づき重み付け値を決定します。GSTimeSeriesに対する重み付きの演算の場合、前後それぞれの時刻のロウとの中間時刻間の期間を特定の単位で換算したものを、重み付け値として使用します。ただし、前後いずれかの時刻のロウのみが存在しない場合は、存在しないロウの代わりに重み付け対象のロウを用いて求めた重み付け値を使用します。前後いずれの時刻のロウも存在しない場合は、重み付け値として1(単位は前後いずれかのロウが存在する場合と同一)を使用します。
- 演算の内部処理にてオーバーフローが発生した場合、浮動小数点数型では負または正の無限大、整数型では未定義の値が求まります。また、浮動小数点数型にて演算対象に非数(NaN)が含まれていた場合、非数が求まります。
| Enumerator | |
|---|---|
| GS_AGGREGATION_MINIMUM | 最小値を求める演算です。 
 | 
| GS_AGGREGATION_MAXIMUM | 最大値を求める演算です。 
 | 
| GS_AGGREGATION_TOTAL | 合計を求める演算です。 
 | 
| GS_AGGREGATION_AVERAGE | 平均を求める演算です。 
 | 
| GS_AGGREGATION_VARIANCE | 分散を求める演算です。 
 | 
| GS_AGGREGATION_STANDARD_DEVIATION | 標準偏差を求める演算です。 
 | 
| GS_AGGREGATION_COUNT | 標本数、すなわちロウ数を求める演算です。 
 | 
| GS_AGGREGATION_WEIGHTED_AVERAGE | 重み付きで平均を求める演算です。 
 
 | 
圧縮方式の種別を表します。
- 時系列圧縮設定を行う際に使用します。
| enum GSContainerTypeTag | 
| enum GSFetchOptionTag | 
クエリ実行結果を取得する際のオプション項目です。
| Enumerator | |
|---|---|
| GS_FETCH_LIMIT | 取得するロウの数の最大値を設定するために使用します。 
 
 | 
| GS_FETCH_PARTIAL_EXECUTION | 部分実行モードを設定するために使用します。 
 
 
 
 
 
 | 
| enum GSIndexTypeFlagTag | 
GSContainerに設定する索引の種別を示します。
| Enumerator | |
|---|---|
| GS_INDEX_FLAG_DEFAULT | デフォルトの索引を示します。 
 | 
| GS_INDEX_FLAG_TREE | ツリー索引を示します。 
 | 
| GS_INDEX_FLAG_HASH | ハッシュ索引を示します。 
 
 | 
| GS_INDEX_FLAG_SPATIAL | 空間索引を示します。 
 | 
ロウの補間方法の種別を表します。
- 時系列ロウの補間機能で使用されます。
| Enumerator | |
|---|---|
| GS_INTERPOLATION_LINEAR_OR_PREVIOUS | カラムに応じて線形補間または直前ロウの値による補間を行うことを示します。 
 
 | 
| GS_INTERPOLATION_EMPTY | 空の値を補間値として用いることを示します。 
 | 
| enum GSQueryOrderTag | 
| enum GSRowSetTypeTag | 
GSRowSetから取り出すことのできる内容の種別です。
| Enumerator | |
|---|---|
| GS_ROW_SET_CONTAINER_ROWS | クエリ実行対象のコンテナと対応する型のロウデータからなるGSRowSetであることを示します。 | 
| GS_ROW_SET_AGGREGATION_RESULT | 集計演算からなるGSRowSetであることを示します。 
 | 
| GS_ROW_SET_QUERY_ANALYSIS | EXPLAIN文ならびEXPLAIN ANALYZE文の実行結果エントリからなるGSRowSetであることを示します。 
 | 
| enum GSTimeOperatorTag | 
GSTimeSeriesのキー時刻に基づく、ロウの特定方法を表します。
- 別途指定する時刻と組み合わせることで、最も近い時刻のキーを持つロウなどを特定できます。該当するロウが存在しない場合の扱いは、この列挙型を使用するそれぞれの機能により異なります。
| enum GSTimeUnitTag | 
| enum GSTriggerTypeTag | 
| enum GSTypeOptionTag | 
カラムに関するオプション設定を示します。
- See Also
- GSTypeOption
| enum GSTypeTag | 
GridDB上のフィールド値の型を表します。
Function Documentation
| GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateIndexDetail | ( | GSContainer * | container, | 
| const GSIndexInfo * | info | ||
| ) | 
GSIndexInfoで設定されている内容に従い、索引を作成します。
- 作成対象の索引のカラムについては、カラム名またはカラム番号の少なくとも一方が設定されており、かつ、対応するコンテナにおいて実在するものが設定されている必要があります。カラム名とカラム番号が共に設定されていた場合、対応するカラムが互いに一致しなければなりません。
- 索引種別が一つも設定されていないかGS_INDEX_FLAG_DEFAULTが設定されていた場合、後述の基準に従い、デフォルト種別の索引が選択されます。それ以外の場合、対象のカラムにおいて許されている索引種別である限り、一つ以上の種別を指定できます。複数個の種別が設定されていた場合、作成途中に一部の索引のみが作成された状態のコンテナ情報を参照できることや、エラーが生じるとその状態まま作成操作が終了することがあります。
- 1つのコンテナの索引間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、索引の定義において使用できる索引名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、索引名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- 既存の同名の索引が存在した場合、後述の条件を満たす同一設定のGSIndexInfoを指定しなければならず、その場合新たな索引は作成されません。一方、既存の異なる名前の索引または名前のない索引と同一設定のGSIndexInfoを指定することはできません。
- 索引名が設定されていない場合は、名前のない索引の作成が要求されたものとみなされます。名前を除いて同一設定の索引がすでに存在していた場合、名前のない索引でなければならず、その場合新たな索引は作成されません。
- 現バージョンでは、少なくともGSContainerを通じて作成された索引において、次の条件を満たす場合に索引名を除いて同一設定の索引であるとみなされます。- 索引対象のカラムが一致すること。カラム名、カラム番号といった、カラムの指定方法の違いは無視される
- 索引種別が一致すること。デフォルト指定の有無といった索引種別の指定方法の違いは無視される
 
- 現バージョンにおける、gsGetDefaultFactoryを基に生成されたGSContainerインスタンスでは、コンテナの種別、対応するカラムの型などに基づき、次の索引種別がデフォルトとして選択されます。カラムの型 コレクション 時系列 STRING GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE BOOL GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE 数値型 GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE TIMESTAMP GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE※制限あり GEOMETRY GS_INDEX_FLAG_SPATIAL (なし) BLOB (なし) (なし) 配列型 (なし) (なし) 
- 時系列のロウキー(TIMESTAMP型)には索引を設定できません。
- このGSContainerインスタンスが未コミットのトランザクションを保持していた場合、コミットしてから作成を行います。処理対象のコンテナにおいて実行中の他のトランザクションが存在する場合、それらの終了を待機してから作成を行います。すでに索引が存在しており新たな索引が作成されなかった場合、他のトランザクションによって待機するかどうかは未定義です。またこの場合、このGSContainerインスタンスが保持している未コミットのトランザクションが常にコミットされるかどうかは未定義です。
- 現バージョンでは、コンテナの規模など諸条件を満たした場合、索引の作成開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、一部の索引操作、トリガ操作、ロウ操作(更新含む)を行える場合があります。それ以外の操作は、GSContainerでの説明通り待機させる場合があります。索引の作成途中に別の操作が行われる場合は、作成途中の索引に関する情報はコンテナ情報には含まれません。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] info 処理対象の索引の情報 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 作成対象のカラム、索引名が上記の規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 指定のカラムにおいてサポートされていない索引種別が指定された場合
- 引数にNULLが指定された場合
 
- Since
- 3.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDropIndexDetail | ( | GSContainer * | container, | 
| const GSIndexInfo * | info | ||
| ) | 
GSIndexInfoで設定されている内容に一致する、すべての索引を削除します。
- GSIndexInfoの設定内容は、削除対象の索引を絞り込む条件として使用されます。絞り込み条件は、カラム、索引種別、索引名の3つに分類されます。それぞれ設定するかどうかは任意です。いずれも設定されていない場合は、作成済みのすべての索引が削除されます。
- カラム名またはカラム番号が設定されている場合、対応するコンテナにおいて実在するものである必要があります。カラム名とカラム番号が共に設定されている場合、対応するカラムが互いに一致している必要があります。カラム名ならびにカラム番号が共に設定されていない場合、他の絞り込み条件(索引種別、索引名)を満たす任意のカラムに対する索引が削除対象となります。
- 索引種別が設定されている場合、指定の種別の索引のみが削除対象となります。GS_INDEX_FLAG_DEFAULTが設定されている場合、gsCreateIndexDetailの基準に従い、デフォルト種別の索引が選択されます。それ以外の場合、対象のカラムにおいて許されている索引種別である限り、任意個数の種別を指定できます。複数個の種別が設定されていた場合、削除途中に一部の索引のみが削除された状態のコンテナ情報を参照できることや、エラーが生じるとその状態まま削除操作が終了することがあります。索引をサポートしていないカラムや指定の種別の索引をサポートしていないカラムについては、削除対象にはなりません。索引種別が設定されていない場合、他の絞り込み条件(カラム、索引名)を満たす任意の種別の索引が削除対象となります。
- 索引名が設定されている場合、指定の名前の索引のみが削除対象となります。索引名の同一性は、gsCreateIndexDetailの基準に従います。索引名が設定されていない場合、他の絞り込み条件(カラム、索引種別)を満たす、任意の名前の索引ならびに名前のない索引が削除対象となります。
- 削除対象となる索引が一つも存在しない場合、索引の削除は行われません。
- トランザクションの扱いは、gsCreateIndexDetailと同様です。また、索引種別としてデフォルト種別または単一の種別が設定されており、かつ、複数の索引が削除対象となった場合に、一部の索引のみが削除された状態で他のトランザクションが実行されることがありうるかどうかは未定義です。
- 索引の削除要求の完了直後の状態に関しては、gsDropContainerと同様です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] info 処理対象の索引の情報 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 削除対象のカラム、索引名が上記の規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- Since
- 3.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsDouble | ( | GSAggregationResult * | aggregationResult, | 
| double * | value, | ||
| GSBool * | assigned | ||
| ) | 
数値型の集計値をDOUBLE型(double)として取得します。
- 数値型以外の値を保持している場合、assigned引数にはGS_FALSEが格納されます。DOUBLE型以外の数値を保持している場合、DOUBLE型に変換したものが格納されます。
- Parameters
- 
  [in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULLが指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- assigned以外の引数に- NULLが指定された場合
 
- Since
- 3.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsLong | ( | GSAggregationResult * | aggregationResult, | 
| int64_t * | value, | ||
| GSBool * | assigned | ||
| ) | 
数値型の集計値をLONG型(int64_t)として取得します。
- 数値型以外の値を保持している場合、assigned引数にはGS_FALSEが格納されます。LONG型以外の数値を保持している場合、LONG型に変換したものが格納されます。
- Parameters
- 
  [in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULLが指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- assigned以外の引数に- NULLが指定された場合
 
- Since
- 3.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsTimestamp | ( | GSAggregationResult * | aggregationResult, | 
| GSTimestamp * | value, | ||
| GSBool * | assigned | ||
| ) | 
時刻型の集計値をTIMESTAMP型(GSTimestamp)で取得します。
- TIMESTAMP型以外の値を保持している場合、assigned引数にはGS_FALSEが格納されます。
- Parameters
- 
  [in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULLが指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- assigned以外の引数に- NULLが指定された場合
 
- Since
- 3.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldNull | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSBool * | nullValue | ||
| ) | 
指定のフィールドにNULLが設定されているかどうかを返します。
- NOT NULL制約の設定されたカラムが指定された場合、常にGS_FALSEを返します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] nullValue NULLが設定されているかどうか受け取る変数へのポインタ値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 3.5
指定のフィールドにNULLを設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- NOT NULL制約の設定されたカラムが指定された場合
 
- ポインタ型引数に
- Since
- 3.5
| Functions | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorStackSize (void *gsResource) | 
| 指定のリソースに関する直前のエラー情報のスタックサイズを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetErrorCode (void *gsResource, size_t stackIndex) | 
| 指定のリソースに関する直前のエラーのエラーコードを取得します。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorMessage (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) | 
| 指定のリソースに関する直前のエラーのメッセージを取得します。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorLocation (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) | 
| 指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsIsTimeoutError (GSResult result) | 
| 要求した処理が既定の時間内に終了しなかった場合に発生したエラーに該当するエラーコードかどうかを判定します。More... | |
Detailed Description
Function Documentation
| GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorLocation | ( | void * | gsResource, | 
| size_t | stackIndex, | ||
| GSChar * | strBuf, | ||
| size_t | bufSize | ||
| ) | 
指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。
- 設定によっては常に空文字列しか求まらない場合があります。
- Parameters
- 
  [in] gsResource リソースのアドレス。ここでのリソースとは、GSGridStoreFactoryインスタンス、または、GSGridStoreFactoryを介して生成された、クローズ関数により破棄できるリソースのことです。 NULLが指定された場合、有効な結果を取得できません。[in] stackIndex エラースタックのインデックス。 0以上スタックサイズ未満の値を指定した場合のみ、有効な結果を取得できます。[out] strBuf エラー位置情報を格納する文字列バッファ。 NULLの場合、有効な結果を取得できません。NULLではなく、別の原因で有効な結果が取得できなかった場合、bufSizeが正の値であれば空文字列を格納します。[in] bufSize エラー位置情報を格納する文字列バッファの終端文字を含む文字数。格納する文字列の終端文字を含む文字数の方が大きい場合、終端文字を除く後方の文字列を切り詰めて格納します。 0の場合、文字列バッファにアクセスしません。
- Returns
- 文字列バッファに格納したエラー位置情報文字列の終端文字を含む文字数。該当する情報を取得できなかった場合、0
| GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorMessage | ( | void * | gsResource, | 
| size_t | stackIndex, | ||
| GSChar * | strBuf, | ||
| size_t | bufSize | ||
| ) | 
指定のリソースに関する直前のエラーのメッセージを取得します。
- Parameters
- 
  [in] gsResource リソースのアドレス。ここでのリソースとは、GSGridStoreFactoryインスタンス、または、GSGridStoreFactoryを介して生成された、クローズ関数により破棄できるリソースのことです。 NULLが指定された場合、有効な結果を取得できません。[in] stackIndex エラースタックのインデックス。 0以上スタックサイズ未満の値を指定した場合のみ、有効な結果を取得できます。[out] strBuf エラーメッセージを格納する文字列バッファ。 NULLの場合、有効な結果を取得できません。NULLではなく、別の原因で有効な結果が取得できなかった場合、bufSizeが正の値であれば空文字列を格納します。[in] bufSize エラーメッセージを格納する文字列バッファの終端文字を含む文字数。格納する文字列の終端文字を含む文字数の方が大きい場合、終端文字を除く後方の文字列を切り詰めて格納します。 0の場合、文字列バッファにアクセスしません。
- Returns
- 文字列バッファに格納したエラーメッセージ文字列の終端文字を含む文字数。該当する情報を取得できなかった場合、0
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetErrorCode | ( | void * | gsResource, | 
| size_t | stackIndex | ||
| ) | 
指定のリソースに関する直前のエラーのエラーコードを取得します。
- Parameters
- 
  [in] gsResource リソースのアドレス。ここでのリソースとは、GSGridStoreFactoryインスタンス、または、GSGridStoreFactoryを介して生成された、クローズ関数により破棄できるリソースのことです。 NULLが指定された場合、有効な結果を取得できません。[in] stackIndex エラースタックのインデックス。 0以上スタックサイズ未満の値を指定した場合のみ、有効な結果を取得できます。
- Returns
- エラーコード。該当する情報を取得できなかった場合、GS_RESULT_OK以外の値
| GS_DLL_PUBLIC size_t GS_API_CALL gsGetErrorStackSize | ( | void * | gsResource | ) | 
指定のリソースに関する直前のエラー情報のスタックサイズを取得します。
- エラー情報はスタック構造になっており、スタック番号の大きいものほどより直接的なエラー原因と対応します。
- Parameters
- 
  [in] gsResource リソースのアドレス。ここでのリソースとは、GSGridStoreFactoryインスタンス、または、GSGridStoreFactoryを介して生成された、クローズ関数により破棄可能なリソースのことです。 NULLが指定された場合、有効な結果を取得できません。
- Returns
- スタックサイズ。該当する情報を取得できなかった場合、0
| Typedefs | |
| typedef struct GSAggregationResultTag | GSAggregationResult | 
| 集計演算の結果を保持します。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseAggregationResult (GSAggregationResult **aggregationResult) | 
| 指定のGSAggregationResultインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsGetAggregationValue (GSAggregationResult *aggregationResult, void *value, GSType valueType) | 
| 集計結果を指定の型の値として取得します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSAggregationResultTag GSAggregationResult | 
集計演算の結果を保持します。
- gsGetNextAggregationもしくはgsAggregateTimeSeriesにより取得できる、集計演算の結果を保持します。整数型カラムに対する演算結果を浮動小数点型として、また、有効桁数の少ない数値型のカラムに対する演算結果をより桁数の多い数値型として受け取ることができます。
- 保持する型は、集計演算の種別や集計対象のカラムの型によって決定されます。具体的な規則はGSAggregationまたはTQLの仕様を参照してください。
- 取り出しできる型は、保持する型によって決まります。保持する型が数値型の場合はDOUBLE型またはLONG型、TIMESTAMP型の場合はTIMESTAMP型の値としてのみ取り出しできます。
Function Documentation
| GS_DLL_PUBLIC void GS_API_CALL gsCloseAggregationResult | ( | GSAggregationResult ** | aggregationResult | ) | 
指定のGSAggregationResultインスタンスを解放します。
- Parameters
- 
  [in,out] aggregationResult クローズ対象のGSAggregationResultインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULLが設定されます。以後、解放したGSAggregationResultインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
| GS_DLL_PUBLIC GSBool GS_API_CALL gsGetAggregationValue | ( | GSAggregationResult * | aggregationResult, | 
| void * | value, | ||
| GSType | valueType | ||
| ) | 
集計結果を指定の型の値として取得します。
- 取り出しできる型は、指定のaggregationResultが保持している値の型によって、次のように決まります。取り出しできる値の型 保持している値の型 LONG型(GS_TYPE_LONG) 数値型 DOUBLE型(GS_TYPE_DOUBLE) 数値型 TIMESTAMP型(GS_TYPE_TIMESTAMP) TIMESTAMP型 
- また、valueとして指定できる型は、valueTypeによって次のように決まります。valueTypevalueの型LONG型(GS_TYPE_LONG) int64_t* DOUBLE型(GS_TYPE_DOUBLE) double* TIMESTAMP型(GS_TYPE_TIMESTAMP) GSTimestamp* 
- Attention
- valueTypeと- valueの型との対応が正しくない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] aggregationResult 処理対象のGSAggregationResult [out] value 取り出す値を格納するための変数へのポインタ値。 aggregationResultがNULLの場合、また、valueTypeがvalueとして指定できる型のいずれとも対応しない場合は、何も格納しません。aggregationResultが保持している値の型と照らし合わせて、valueTypeが取り出しできない型であった場合、初期値として0を格納します。[in] valueType 取り出す値の型 
- Returns
- 指定のaggregationResultが保持している値を取り出しできたかどうか。次の場合、GS_FALSEを返します。- valueTypeとして取り出しできない型が指定された場合
- ポインタ型引数にNULLが指定された場合
 
| Typedefs | |
| typedef GSContainer | GSCollection | 
| ロウ集合を汎用的に管理するためのコンテナです。More... | |
| Functions | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometry (GSCollection *collection, const GSChar *column, const GSChar *geometry, GSGeometryOperator geometryOp, GSQuery **query) | 
| 指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometryWithDisjointCondition (GSCollection *collection, const GSChar *column, const GSChar *geometryIntersection, const GSChar *geometryDisjoint, GSQuery **query) | 
| 除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
Detailed Description
Typedef Documentation
| typedef GSContainer GSCollection | 
ロウ集合を汎用的に管理するためのコンテナです。
- ロウキーには次の型が使用できます。- STRING型(GSChar*)
- INTEGER型(int32_t)
- LONG型(int64_t)
- TIMESTAMP型(GSTimestamp)
 
- ロウキーの設定は必須ではありません。
- ロウ操作について、コンテナ固有の制限は設けられていません。
- gsQueryもしくはgsGetMultipleContainerRowsなどより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序は不定となります。
- ロック粒度はロウ単位です。
Function Documentation
| GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByGeometry | ( | GSCollection * | collection, | 
| const GSChar * | column, | ||
| const GSChar * | geometry, | ||
| GSGeometryOperator | geometryOp, | ||
| GSQuery ** | query | ||
| ) | 
指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
- 
  [in] collection 処理対象のGSCollection [in] column 比較対象の空間型カラムの名前 [in] geometry 比較対象として与える空間構造 [in] geometryOp 比較方法 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナの種別がコレクションではない場合
- 対応する名前のカラムが存在しない場合
- geometryOp以外の引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByGeometryWithDisjointCondition | ( | GSCollection * | collection, | 
| const GSChar * | column, | ||
| const GSChar * | geometryIntersection, | ||
| const GSChar * | geometryDisjoint, | ||
| GSQuery ** | query | ||
| ) | 
除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。
- geometryIntersectionと交差し、かつ、- geometryDisjointと交差しないカラム値を持つロウ集合を取得します。交差判定の条件は、GS_GEOMETRY_OPERATOR_INTERSECTと同一です。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
- 
  [in] collection 処理対象のGSCollection [in] column 比較対象の空間型カラムの名前 [in] geometryIntersection カラム上の値と交差する範囲を示す空間構造 [in] geometryDisjoint 上の値と交差しない範囲を示す空間構造 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナの種別がコレクションではない場合
- 対応する名前のカラムが存在しない場合
- 引数にNULLが指定された場合
 
| Typedefs | |
| typedef struct GSContainerTag | GSContainer | 
| 同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseContainer (GSContainer **container, GSBool allRelated) | 
| 指定のGSContainerインスタンスについて、必要に応じこのインスタンスならびに関連するリソースを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateTrigger (GSContainer *container, const GSTriggerInfo *info) | 
| トリガを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) | 
| 指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTrigger (GSContainer *container, const GSChar *name) | 
| トリガを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) | 
| 指定された名前のカラムのうち、指定された種別の索引のみを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsFlush (GSContainer *container) | 
| これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRow (GSContainer *container, const void *key, void *rowObj, GSBool *exists) | 
| ロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRow (GSContainer *container, const void *key, const void *rowObj, GSBool *exists) | 
| 必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleRows (GSContainer *container, const void *const *rowObjs, size_t rowCount, GSBool *exists) | 
| 指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQuery (GSContainer *container, const GSChar *queryString, GSQuery **query) | 
| 指定のTQL文を実行するためのクエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRow (GSContainer *container, const void *key, GSBool *exists) | 
| 指定のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerType (GSContainer *container, GSContainerType *type) | 
| 指定のコンテナの種別を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowByContainer (GSContainer *container, GSRow **row) | 
| 指定のコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAbort (GSContainer *container) | 
| 手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、新たなトランザクションを開始します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCommit (GSContainer *container) | 
| 手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、新たなトランザクションを開始します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowForUpdate (GSContainer *container, const void *key, void *rowObj, GSBool *exists) | 
| ロウキーに対応するロウについて、更新用ロックを獲得し内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetAutoCommit (GSContainer *container, GSBool enabled) | 
| コミットモードの設定を変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByInteger (GSContainer *container, int32_t key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| INTEGER型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByLong (GSContainer *container, int64_t key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| LONG型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByTimestamp (GSContainer *container, GSTimestamp key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| TIMESTAMP型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByString (GSContainer *container, const GSChar *key, void *rowObj, GSBool forUpdate, GSBool *exists) | 
| STRING型のロウキーに対応するロウの内容を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByInteger (GSContainer *container, int32_t key, const void *rowObj, GSBool *exists) | 
| INTEGER型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByLong (GSContainer *container, int64_t key, const void *rowObj, GSBool *exists) | 
| LONG型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByTimestamp (GSContainer *container, GSTimestamp key, const void *rowObj, GSBool *exists) | 
| TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByString (GSContainer *container, const GSChar *key, const void *rowObj, GSBool *exists) | 
| STRING型のロウキーを指定して、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByInteger (GSContainer *container, int32_t key, GSBool *exists) | 
| INTEGER型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByLong (GSContainer *container, int64_t key, GSBool *exists) | 
| LONG型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByTimestamp (GSContainer *container, GSTimestamp key, GSBool *exists) | 
| TIMESTAMP型のロウキーに対応するロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByString (GSContainer *container, const GSChar *key, GSBool *exists) | 
| STRING型のロウキーに対応するロウを削除します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSContainerTag GSContainer | 
同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。
- ロウオブジェクトを入出力の基本単位として、各種管理機能を提供します。ロウオブジェクトとGridDB上のロウは、指定のロウオブジェクト型とGridDB上のスキーマとの対応関係に基づいて、相互にマッピングされます。
- GridDB上のスキーマを構成する各カラムは、対応するGS_STRUCT_BINDINGの内容に基づき決定されます。1つのコンテナは1つ以上のカラムにより構成されます。
- 1つのコンテナのカラム間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、コンテナ定義におけるカラム名の文字種や長さ、カラム数には制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、カラム名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- カラムの型と、ロウオブジェクト内の各値の型との対応は、それぞれ次の通りです。カラム型 ロウオブジェクト内の各値の型 STRING GSChar* BOOL GSBool BYTE int8_t SHORT int16_t INTEGER int32_t LONG int64_t FLOAT float DOUBLE double TIMESTAMP GSTimestamp GEOMETRY GSChar* BLOB GSBlob STRING配列 GSChar** BOOL配列 GSBool* BYTE配列 int8_t* SHORT配列 int16_t* INTEGER配列 int32_t* LONG配列 int64_t* FLOAT配列 float* DOUBLE配列 double* TIMESTAMP配列 GSTimestamp* 
- フィールドの値の表現範囲やサイズには制限があります。具体的には、付録の章の値の範囲の説明、ならびに、GridDBテクニカルリファレンスを参照してください。制限に反する値をコンテナに格納することはできません。
- ロウキーとして許可されている型や、ロウキーに対応するカラムの有無、ロウ更新の可否といった制約は、このコンテナ型から派生した個別の型の定義によって異なります。
- GridDB上のロウにおけるNULLは、NOT NULL制約が設定されていない限り保持することができます。NULLは、GSRowを通じて格納や取り出しを行うことができます。一方、GS_STRUCT_BINDINGと対応付くロウオブジェクトにおいては、常に後述の空の値にマッピングされます。
- ロウオブジェクト型におけるNOT NULL制約は、GS_TYPE_OPTION_NULLABLEならびにGS_TYPE_OPTION_NOT_NULLにより明示的に指定できます。NOT NULL制約がいずれの指定対象にも指定されていない場合、ロウキー以外のカラムはNOT NULL制約なしであるとみなされます。ロウキーは暗黙的にNOT NULL制約が設定された状態となっており、この制約を外すような指定はできません。また、同一指定対象での矛盾したNOT NULL制約は指定できません。NOT NULL制約は、GSColumnInfoTag::optionsを通じて指定することができます。
- 空の値は、GSRowの作成など各種操作の初期値などとして用いられることのある、フィールド値の一種です。以下のように、カラム型ごとに値が定義されています。カラム型 空の値 STRING ""(長さ0の文字列)BOOL 偽(GS_FALSE) 数値型 0TIMESTAMP 1970-01-01T00:00:00ZGEOMETRY POINT(EMPTY)BLOB 長さ0のBLOBデータ 配列型 要素数0の配列 
- トランザクション処理では、デフォルトで自動コミットモードが有効になっています。自動コミットモードでは、変更操作は逐次確定し、明示的に取り消すことができません。手動コミットモードにおいて、GSContainerインスタンスを介した操作によりクラスタノード上でエラーが検出された場合、コミット前の更新操作はすべて取り消されます。トランザクション分離レベルはREAD COMMITTEDのみをサポートします。ロック粒度は、コンテナの種別によって異なります。
- ロウの更新・追加・削除、ならびに更新用ロック獲得を行った場合、内部でトランザクションが生成されます。このトランザクションには、有効期限が存在します。これらの操作をあるGSContainerインスタンスに対してはじめて行った時刻を起点として、GridDB上で定められている期間だけ経過した後に、さらに同様の操作やトランザクション操作を行おうとすると、該当するGSContainerインスタンスを介した以降の操作は常に失敗するようになります。
- あるコンテナへの操作要求に対するクラスタノード上での処理が開始され、終了するまでの間、同一のコンテナに対する操作が待機させられる場合があります。ここでの操作には、コンテナのスキーマや索引などの定義変更、コンテナ情報の参照、ロウ操作などが含まれます。一貫性レベルがIMMEDIATEのGSGridStoreインスタンスを通じてコンテナを操作する場合、同一のコンテナに対するIMMEDIATE設定での他の操作処理の途中、原則としては待機させられます。また、コンテナに対する他の操作処理の途中の状態に基づいて処理が行われることは、原則としてはありません。例外事項については、個別の操作ごとの説明を参照してください。
Function Documentation
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAbort | ( | GSContainer * | container | ) | 
手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、新たなトランザクションを開始します。
- Parameters
- 
  [in] container 処理対象のGSContainer 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 自動コミットモードでないにもかかわらず呼び出した場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC void GS_API_CALL gsCloseContainer | ( | GSContainer ** | container, | 
| GSBool | allRelated | ||
| ) | 
指定のGSContainerインスタンスについて、必要に応じこのインスタンスならびに関連するリソースを解放します。
- トランザクションを保持している場合、未コミットの更新内容はすべて元に戻されます。
- この処理を行うために接続障害が発生したとしても、ローカルリソースの解放処理は適宜実施されます。ただし、GridDB上のトランザクション状態などは状態などは残る可能性があります。
- Parameters
- 
  [in,out] container クローズ対象のGSContainerインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULLが設定されます。以後、解放したGSContainerインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。[in] allRelated 指定のGSContainerと関連する下位のリソースのうち、未クローズのものすべてをクローズするかどうか。関連する下位のリソースとは、指定のGSContainerを介して取得したGSQuery、GSAggregationResult、ならびに、これらのリソースと関連する下位のリソースのことを指します。GS_FALSEを指定した場合、指定のGSContainerを介して取得したリソースを個別にクローズする必要があり、すべてクローズした時点で指定のGSContainer自体のリソースが解放されます。 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsCommit | ( | GSContainer * | container | ) | 
手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、新たなトランザクションを開始します。
- Parameters
- 
  [in] container 処理対象のGSContainer 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 自動コミットモードでないにもかかわらず呼び出した場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateIndex | ( | GSContainer * | container, | 
| const GSChar * | columnName, | ||
| GSIndexTypeFlags | flags | ||
| ) | 
指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。
- カラム名と種別のみが設定されたGSIndexInfoを指定してgsCreateIndexDetailを呼び出した場合と同様に振る舞います。ただし、flagsにデフォルト種別を含め一つも種別が指定されていない場合、索引は作成されません。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] columnName 処理対象のカラムの名前 [in] flags 作成する索引種別のフラグ値のビット和。指定できる値はgsCreateIndexDetailの場合と同様です 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のカラム名と種別がgsCreateIndexDetailの規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- flags以外の引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowByContainer | ( | GSContainer * | container, | 
| GSRow ** | row | ||
| ) | 
指定のコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。
- 作成されるGSRowの各フィールドにはgsCreateRowByStoreにより作成した場合と同様に既定の初期値が設定されます。
- Parameters
- 
  [in] container 処理対象のGSContainer [out] row GSRowインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateTrigger | ( | GSContainer * | container, | 
| const GSTriggerInfo * | info | ||
| ) | 
トリガを設定します。
- 指定のコンテナに対して特定の種別の更新操作が行われた場合に、指定のURIに通知が送信されるようになります。指定されたトリガと同名のトリガが存在した場合、設定内容が上書きされます。
- トリガ設定内容の詳細は、GSTriggerInfoの定義を参照してください。トリガ名、トリガ種別、通知条件、通知先URI、通知内容の詳細は以下の通りです。
- トリガ名
- トリガ種別や通知条件などの違いによらず、1つのコンテナのトリガ間で、ASCIIの大文字・小文字表記を含め同一の名前のものを複数定義することはできません。その他、トリガの定義において使用できるトリガ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、トリガ名を指定する操作では、ASCIIの大文字・小文字表記の違いが区別されます。
- トリガ種別
- 次のトリガ種別をサポートします。名称 説明 REST コンテナに指定された種別の更新操作が行われた際に、指定されたURIにREST(HTTP POSTメソッド)で通知するトリガです。 Java Message Service(JMS) コンテナに指定された種別の更新操作が行われた際に、指定されたURIのJMSサーバへJMSメッセージを通知するトリガです。JMSプロバイダとしてApache ActiveMQを使用します。 
- 通知条件
- 指定のコンテナに対するロウ新規作成/更新(gsPutRow、gsPutMultipleRows、gsPutMultipleContainerRows、gsUpdateCurrentRow)・削除(gsDeleteRow、gsDeleteCurrentRow)操作命令の実行直後に通知を行います。監視対象として複数の操作が指定された場合は、そのうちのいずれかが実行された際に通知を行います。
- 通知を行った時点でのレプリケーションの完了は保証されません。自動コミットモード無効で実行されたロウ新規作成/更新・削除命令に対応する通知については、通知を行った時点でトランザクションが未コミットであったり、通知後にトランザクションがアボートされたりした場合、通知を受けた時点で通知に含まれるデータが取得できないことがあります。
- 複数ロウ一括操作の場合、1件のロウ操作ごとに通知を行います。指定されたURIに通知を行っても一定時間以内に応答がない場合、タイムアウトし再送は行いません。GridDBクラスタに障害が発生した場合、ある更新操作に対応する通知が行われないことのほか、複数回通知されることがあります。
- 通知先URI
- 通知先URIは次の書式で記述します。ただし、トリガ種別がRESTの場合、メソッド名にはhttpのみ指定できます。(メソッド名)://(ホスト名):(ポート番号)/(パス)
- 通知内容
- 更新が行われたコンテナ名、更新操作名、更新されたロウデータの指定したカラムの値を通知します。更新操作名は、ロウ新規作成/更新では"put"、削除では"delete"となります。
- 通知する値は、ロウ新規作成では新規作成直後、更新では更新後、削除では削除前のロウデータについての、指定カラムの値となります。カラムの型がTIMESTAMPの場合、1970-01-01T00:00:00Zからの経過ミリ秒を示す整数が値として設定されます。カラムの型が、BLOB型、GEOMETRY型、配列型の場合、空文字列が値として設定されます。
- 通知方法―RESTの場合
- 以下のようなJSON文字列を、MIMEタイプapplication/jsonで送信します。{"container" : "(コンテナ名)","event" : "(更新操作名)","row" : {"(カラム名)" : (カラムデータ),"(カラム名)" : (カラムデータ),...}}
- 通知方法―JMSの場合
- javax.jms.TextMessageを、指定されたデスティネーション種別・デスティネーション名で送信します。
- コンテナ名は、javax.jms.Message::setStringProperty("@container", "(コンテナ名)")で設定されます。更新操作名は、javax.jms.Message::setStringProperty("@event", "(更新操作名)")で設定されます。
- カラムの値は、カラムの型に応じたjavax.jms.Message::setXXXProperty("(カラム名)", (カラムデータ))で設定されます。
- トリガが設定されているコンテナに対してgsPutCollection、gsPutTimeSeriesなどによりカラムレイアウトが変更された際に、トリガの通知対象となっているカラムの削除または名称変更があった場合、該当するカラムはトリガの通知対象から削除されます。
- GridDBからの通知の際に、設定されている通知先URIへのリクエストに対応するサーバが応答しなかった場合、タイムアウト時刻までの待機処理が発生します。この待機処理は、このコンテナならびに他の一部のコンテナの更新に対する通知が遅れる要因となります。したがって、無効となった通知先URIを持つトリガはgsDropTriggerにより削除することが推奨されます。
- 一つのコンテナに対して設定できるトリガの最大数、ならびに、トリガの各種設定値の上限については、GridDBテクニカルリファレンスを参照してください。
- Parameters
- 
  [in] container 設定対象のGSContainer [in] info 設定対象のトリガ情報 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- トリガ名がNULL空、またはその他の規則に合致しない場合
- 監視対象更新操作の指定がない場合
- 通知先のURIが規定の構文に合致しない場合
- トリガ種別でJMSが指定され、かつJMSデスティネーション種別がNULL、または空、または指定の書式に合致しない場合
- トリガ種別でJMSが指定され、かつJMSデスティネーション名がNULL、または空の場合
- この処理のタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- トリガ名が
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRow | ( | GSContainer * | container, | 
| const void * | key, | ||
| GSBool * | exists | ||
| ) | 
指定のロウキーに対応するロウを削除します。
- ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトのロウキーの型と指定のロウキーの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。 [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
- exists以外の引数に- NULLが指定された場合。また、- keyに対応する文字列キーのポインタ値が- NULLの場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByInteger | ( | GSContainer * | container, | 
| int32_t | key, | ||
| GSBool * | exists | ||
| ) | 
INTEGER型のロウキーに対応するロウを削除します。
- ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するINTEGER型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
 
- See Also
- gsDeleteRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByLong | ( | GSContainer * | container, | 
| int64_t | key, | ||
| GSBool * | exists | ||
| ) | 
LONG型のロウキーに対応するロウを削除します。
- ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するLONG型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
 
- See Also
- gsDeleteRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByString | ( | GSContainer * | container, | 
| const GSChar * | key, | ||
| GSBool * | exists | ||
| ) | 
STRING型のロウキーに対応するロウを削除します。
- ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するSTRING型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
 
- See Also
- gsDeleteRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByTimestamp | ( | GSContainer * | container, | 
| GSTimestamp | key, | ||
| GSBool * | exists | ||
| ) | 
TIMESTAMP型のロウキーに対応するロウを削除します。
- ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
 
- See Also
- gsDeleteRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDropIndex | ( | GSContainer * | container, | 
| const GSChar * | columnName, | ||
| GSIndexTypeFlags | flags | ||
| ) | 
指定された名前のカラムのうち、指定された種別の索引のみを削除します。
- カラム名と種別のみが設定されたGSIndexInfoを指定してgsDropIndexDetailを呼び出した場合と同様に振る舞います。ただし、flagsにデフォルト種別を含め一つも種別が指定されていない場合、いずれの索引も削除対象にはなりません。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] columnName 処理対象のカラムの名前 [in] flags 削除する索引種別のフラグ値のビット和。指定できる値はgsDropIndexDetailの場合と同様です 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のカラム名と種別がgsDropIndexDetailの規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- flags以外の引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDropTrigger | ( | GSContainer * | container, | 
| const GSChar * | name | ||
| ) | 
トリガを削除します。
- 指定された名前のトリガが存在しない場合は何も削除しません。
- Parameters
- 
  [in] container 削除対象のGSContainer [in] name 削除対象のトリガ名 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理のタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsFlush | ( | GSContainer * | container | ) | 
これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。
- 通常より信頼性が要求される処理のために使用します。ただし、頻繁に実行すると性能低下を引き起こす可能性が高まります。
- 書き出し対象のクラスタノードの範囲など、挙動の詳細はGridDB上の設定によって変化します。
- Parameters
- 
  [in] container 処理対象のGSContainer 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetContainerType | ( | GSContainer * | container, | 
| GSContainerType * | type | ||
| ) | 
指定のコンテナの種別を取得します。
- 現バージョンでは、インスタンス生成時点で常に種別が確定するため、この操作によりGridDBクラスタに問い合わせを行うことはありません。
- Parameters
- 
  [in] container 処理対象のGSContainer [out] type 指定のコンテナの種別を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_COLLECTIONが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRow | ( | GSContainer * | container, | 
| const void * | key, | ||
| void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
ロウキーに対応するロウの内容を取得します。
- ロウキーに対応するカラムが存在する場合のみ使用できます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は次のようになります。 コンテナ上の型 引数の型 STRING GSChar** ※GSChar*との取り違えに注意 INTEGER int32_t* LONG int64_t* TIMESTAMP GSTimeStamp* [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
- exists以外の引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByInteger | ( | GSContainer * | container, | 
| int32_t | key, | ||
| void * | rowObj, | ||
| GSBool | forUpdate, | ||
| GSBool * | exists | ||
| ) | 
INTEGER型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するINTEGER型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
- exists以外の引数に- NULLが指定された場合
 
- See Also
- gsGetRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByLong | ( | GSContainer * | container, | 
| int64_t | key, | ||
| void * | rowObj, | ||
| GSBool | forUpdate, | ||
| GSBool * | exists | ||
| ) | 
LONG型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するLONG型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
- exists以外の引数に- NULLが指定された場合
 
- See Also
- gsGetRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByString | ( | GSContainer * | container, | 
| const GSChar * | key, | ||
| void * | rowObj, | ||
| GSBool | forUpdate, | ||
| GSBool * | exists | ||
| ) | 
STRING型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するSTRING型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
- exists以外の引数に- NULLが指定された場合
 
- See Also
- gsGetRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByTimestamp | ( | GSContainer * | container, | 
| GSTimestamp | key, | ||
| void * | rowObj, | ||
| GSBool | forUpdate, | ||
| GSBool * | exists | ||
| ) | 
TIMESTAMP型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
- exists以外の引数に- NULLが指定された場合
 
- See Also
- gsGetRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowForUpdate | ( | GSContainer * | container, | 
| const void * | key, | ||
| void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
ロウキーに対応するロウについて、更新用ロックを獲得し内容を取得します。
- ロウキーに対応するカラムが存在する場合、かつ、手動コミットモードの場合のみ使用できます。
- トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。 [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するカラムが存在しない場合
- 自動コミットモードの場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
- exists以外の引数に- NULLが指定された場合
 
- See Also
- gsGetRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutMultipleRows | ( | GSContainer * | container, | 
| const void *const * | rowObjs, | ||
| size_t | rowCount, | ||
| GSBool * | exists | ||
| ) | 
指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。
- 指定のロウオブジェクト集合の各ロウについて、配列要素の順序にしたがってgsPutRowを呼び出した場合と同様に新規作成または更新操作を行います。
- 指定のロウオブジェクト集合内に同一のロウキーを持つ複数のロウが存在する場合、ロウオブジェクト集合を構成する配列要素の順序を基準として、同一のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。
- コンテナの種別ならびに設定によっては、操作できるロウの内容についてgsPutRowと同様の制限が設けられています。具体的な制限事項は、個別のコンテナ種別の定義を参照してください。
- 手動コミットモードの場合、対象のロウがロックされます。
- 自動コミットモードのときに、コンテナならびにロウに対する処理の途中で例外が発生した場合、コンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] rowObjs 新規作成するロウ集合の内容と対応するロウオブジェクト列。このロウオブジェクト列は、個々のロウオブジェクトへのポインタ値の配列により構成されます。 rowCountが0の場合、この配列を参照することはなく、NULLを指定することもできます。[in] rowCount 新規作成するロウの個数。 0の場合、ロウを新規作成せず正常に処理を終えます。[out] exists 現バージョンでは、ポインタ値が NULLではない限り常にGS_FALSEが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 特定コンテナ種別固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
- containerが- NULLの場合
- exists以外のポインタ型引数に- NULLが指定された場合。また、指定のロウオブジェクト内のフィールドについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合
- rowCountが正の値であるにもかかわらず、- rowObjsに- NULLが指定された場合
- ロウオブジェクト列を構成する配列要素にNULLが含まれていた場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRow | ( | GSContainer * | container, | 
| const void * | key, | ||
| const void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するカラムが存在する場合、ロウキーとコンテナの状態を基に、ロウを新規作成するか、更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクトとは別にロウキーを指定した場合、ロウオブジェクト内のロウキーより優先して使用されます。
- ロウキーに対応するカラムを持たない場合、常に新規のロウを作成します。別途指定するロウキーには、常にNULLを指定します。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。指定のコンテナが時系列であり、圧縮オプションが設定されている場合、以下の操作のみを条件付きで行うことができます。- 新規作成- 最も新しい時刻を持つ既存ロウより新しい時刻のロウを指定した場合のみ
 
- 既存ロウの内容の保持- 最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合のみ
 
 
- 新規作成
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。ロウキーに対応するカラムが存在しない場合、もしくは指定のロウオブジェクト内のキーを用いる場合は NULLを指定します。[in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するカラムが存在しないにもかかわらず、キーが指定された場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
- exists以外の引数に- NULLが指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合。もしくは、ロウキーに対応するカラムが存在し- keyが- NULLであるにもかかわらず、ロウキーのフィールドに同様に- NULLが含まれていた場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByInteger | ( | GSContainer * | container, | 
| int32_t | key, | ||
| const void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
INTEGER型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するINTEGER型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
- exists以外の引数に- NULLが指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合。もしくは、ロウキーに対応するカラムが存在し- keyが- NULLであるにもかかわらず、ロウキーのフィールドに同様に- NULLが含まれていた場合
 
- See Also
- gsPutRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByLong | ( | GSContainer * | container, | 
| int64_t | key, | ||
| const void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
LONG型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するLONG型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
- exists以外の引数に- NULLが指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合。もしくは、ロウキーに対応するカラムが存在し- keyが- NULLであるにもかかわらず、ロウキーのフィールドに同様に- NULLが含まれていた場合
 
- See Also
- gsPutRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByString | ( | GSContainer * | container, | 
| const GSChar * | key, | ||
| const void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
STRING型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するSTRING型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
- exists以外の引数に- NULLが指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合
 
- See Also
- gsPutRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByTimestamp | ( | GSContainer * | container, | 
| GSTimestamp | key, | ||
| const void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。指定のコンテナが時系列であり、圧縮オプションが設定されている場合、以下の操作のみを条件付きで行うことができます。- 新規作成- 最も新しい時刻を持つ既存ロウより新しい時刻のロウを指定した場合のみ
 
- 既存ロウの内容の保持- 最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合のみ
 
 
- 新規作成
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
- exists以外の引数に- NULLが指定された場合。また、指定のロウオブジェクト内のフィールドについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合
 
- See Also
- gsPutRow
| GS_DLL_PUBLIC GSResult GS_API_CALL gsQuery | ( | GSContainer * | container, | 
| const GSChar * | queryString, | ||
| GSQuery ** | query | ||
| ) | 
指定のTQL文を実行するためのクエリを作成します。
- gsFetchを通じてロウ集合を求める際に更新用ロックのオプションを有効できるのは、指定のコンテナ上に実在しないロウが選択されることのないクエリのみです。たとえば、補間演算を含むクエリに対しては有効にできません。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] queryString TQL文 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetAutoCommit | ( | GSContainer * | container, | 
| GSBool | enabled | ||
| ) | 
コミットモードの設定を変更します。
- 自動コミットモードでは、直接トランザクション状態を制御できず、変更操作が逐次コミットされます。自動コミットモードが有効でない場合、すなわち手動コミットモードの場合は、直接gsCommitを呼び出すかトランザクションがタイムアウトしない限り、指定のコンテナ内で同一のトランザクションが使用され続け、変更操作はコミットされません。
- 自動コミットモードが無効から有効に切り替わる際、未コミットの変更内容は暗黙的にコミットされます。コミットモードに変更がない場合、トランザクション状態は変更されません。
- Parameters
- 
  [in] container 処理対象のGSContainer [in] enabled 自動コミットモードを有効にするかどうか。GS_TRUEの場合は自動コミットモード、GS_FALSEの場合は手動コミットモードが有効になります。 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- モード変更に伴いコミット処理を要求した際に、この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- ポインタ型引数にNULLが指定された場合
 
| Typedefs | |
| typedef struct GSGridStoreTag | GSGridStore | 
| 1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseGridStore (GSGridStore **store, GSBool allRelated) | 
| 指定のGSGridStoreインスタンスについて、対応するGridDBクラスタとの接続状態を解除し、必要に応じて指定のインスタンスならびに関連するリソースを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropCollection (GSGridStore *store, const GSChar *name) | 
| 指定の名前を持つコレクションを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTimeSeries (GSGridStore *store, const GSChar *name) | 
| 指定の名前を持つ時系列を削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSCollection **collection) | 
| 指定の名前のコレクションを操作するためのGSCollectionインスタンスを取得します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetContainerInfo (GSGridStore *store, const GSChar *name, GSContainerInfo *info, GSBool *exists) | 
| 指定の名前のコンテナに関する情報を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSTimeSeries **timeSeries) | 
| 指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutContainer (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) | 
| バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSCollectionProperties *properties, GSBool modifiable, GSCollection **collection) | 
| コレクションを新規作成または変更します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSTimeSeriesProperties *properties, GSBool modifiable, GSTimeSeries **timeSeries) | 
| 時系列を新規作成または変更します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainerGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) | 
| GSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerGeneral (GSGridStore *store, const GSChar *name, GSContainer **container) | 
| GSRowによりロウ操作できるGSContainerインスタンスを取得します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutCollectionGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSCollection **collection) | 
| GSContainerInfoを指定して、コレクションを新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetCollectionGeneral (GSGridStore *store, const GSChar *name, GSCollection **collection) | 
| GSRowによりロウ操作できるGSCollectionインスタンスを取得します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeriesGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSTimeSeries **timeSeries) | 
| GSContainerInfoを指定して、時系列を新規作成または変更します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetTimeSeriesGeneral (GSGridStore *store, const GSChar *name, GSTimeSeries **timeSeries) | 
| GSRowによりロウ操作できるGSTimeSeriesインスタンスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropContainer (GSGridStore *store, const GSChar *name) | 
| 指定の名前を持つコンテナを削除します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsCreateRowByStore (GSGridStore *store, const GSContainerInfo *info, GSRow **row) | 
| GSContainerInfoを指定して、GSRowを新規作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetchAll (GSGridStore *store, GSQuery *const *queryList, size_t queryCount) | 
| 指定された任意個数のGSQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleContainerRows (GSGridStore *store, const GSContainerRowEntry *entryList, size_t entryCount) | 
| 任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetMultipleContainerRows (GSGridStore *store, const GSRowKeyPredicateEntry *const *predicateList, size_t predicateCount, const GSContainerRowEntry **entryList, size_t *entryCount) | 
| 指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionController (GSGridStore *store, GSPartitionController **partitionController) | 
| 対応するGridDBクラスタについてのGSPartitionControllerを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyPredicate (GSGridStore *store, GSType keyType, GSRowKeyPredicate **predicate) | 
| 指定のGSTypeをロウキーの型とする合致条件を作成します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSGridStoreTag GSGridStore | 
1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。
- コレクションや時系列といったコンテナの追加・削除・構成変更、ならびに、コンテナを構成するロウの操作機能を提供します。
- コンテナ種別などの違いによらず、1つのデータベースのコンテナ間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。コンテナ名は、ベースコンテナ名単独、もしくは、ベースコンテナ名の後ろにノードアフィニティ名をアットマーク「@」で連結した形式で表記します。その他、コンテナの定義において使用できるコンテナ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、コンテナ名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- この型のポインタを第一引数とする関数のスレッド安全性は保証されません。
- See Also
- GSCollection
- GSTimeSeries
- GSContainer
Function Documentation
| GS_DLL_PUBLIC void GS_API_CALL gsCloseGridStore | ( | GSGridStore ** | store, | 
| GSBool | allRelated | ||
| ) | 
指定のGSGridStoreインスタンスについて、対応するGridDBクラスタとの接続状態を解除し、必要に応じて指定のインスタンスならびに関連するリソースを解放します。
- Parameters
- 
  [in,out] store クローズ対象のGSGridStoreインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULLが設定されます。以後、解放したGSGridStoreインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。[in] allRelated 指定のGSGridStoreと関連する下位のリソースのうち、未クローズのものすべてをクローズするかどうか。関連する下位のリソースとは、指定のGSGridStoreを介して取得したGSCollection、GSTimeSeries、ならびに、これらのリソースと関連する下位のリソースのことを指します。GS_FALSEを指定した場合、指定のGSGridStoreを介して取得したリソースを個別にクローズする必要があり、すべてクローズした時点で指定のGSGridStore自体のリソースが解放されます。 
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsCreateRowByStore | ( | GSGridStore * | store, | 
| const GSContainerInfo * | info, | ||
| GSRow ** | row | ||
| ) | 
GSContainerInfoを指定して、GSRowを新規作成します。
- GSContainerにて規定された制約に合致するよう、GSColumnInfoのリストならびにロウキーの有無を含むカラムレイアウトをGSContainerInfoに指定します。
- また、コンテナ種別をGSContainerInfoに含めることで、特定のコンテナ種別固有の制約に合致するかどうかを検証できます。ただし、作成されたGSRowに対してgsGetRowSchemaを呼び出したとしても、常に固定の値であるGS_CONTAINER_COLLECTIONがコンテナ種別として設定されたGSContainerInfoが求まります。
- 作成されたGSRowの各フィールドには、GSContainerInfoに含まれる各カラムのGSColumnInfoに基づいた初期値が設定されます。初期値として、GSColumnInfo::optionsに含まれるオプションに応じた次の値が使用されます。オプション 初期値 GS_TYPE_OPTION_DEFAULT_VALUE_NULL NULL。ただし制約に反するロウは作成できない。 GS_TYPE_OPTION_DEFAULT_VALUE_NOT_NULL 空の値。GSContainerの定義を参照。 (上記いずれも指定なし) 現バージョンでは、GS_TYPE_OPTION_DEFAULT_VALUE_NOT_NULLが指定された場合と同様。 (上記オプションを両方指定) GSTypeOptionの定義に基づき矛盾する設定と見なされ、ロウを作成できない。 
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] info カラムレイアウトを含むコンテナ情報。その他の内容は無視される [out] row GSRowインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
- 引数にNULLが指定された場合
 
- See Also
- GSContainer
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowKeyPredicate | ( | GSGridStore * | store, | 
| GSType | keyType, | ||
| GSRowKeyPredicate ** | predicate | ||
| ) | 
指定のGSTypeをロウキーの型とする合致条件を作成します。
- 合致条件の評価対象とするコンテナは、ロウキーを持ち、かつ、ロウキーの型が指定のGSTypeと同一の型でなければなりません。
- 設定可能なロウキーの型は、GSContainerから派生した個別のコンテナ型にて許容されている型のみです。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] keyType 合致条件の評価対象とするロウキーの型 [out] predicate GSRowKeyPredicateインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定された型がロウキーとして常にサポート外となる場合
- ポインタ型引数にNULLが指定された場合
 
- See Also
- GSContainer
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDropCollection | ( | GSGridStore * | store, | 
| const GSChar * | name | ||
| ) | 
指定の名前を持つコレクションを削除します。
- 削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、gsDropContainerと同様です。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 種別の異なるコンテナを削除しようとした場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDropContainer | ( | GSGridStore * | store, | 
| const GSChar * | name | ||
| ) | 
指定の名前を持つコンテナを削除します。
- 削除済みの場合は何も変更しません。
- 処理対象のコンテナにおいて実行中のトランザクションが存在する場合、それらの終了を待ってから削除を行います。
- コンテナの削除要求が完了した直後は、削除したコンテナの索引やロウなどのために使用されていたメモリやストレージ領域を他の用途にただちに再利用できない場合があります。また、削除処理に関連した処理がクラスタ上で動作することにより、削除前と比べて負荷が高まる期間が一定程度継続する場合があります。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- See Also
- gsDropCollection
- gsTimeSeries
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsDropTimeSeries | ( | GSGridStore * | store, | 
| const GSChar * | name | ||
| ) | 
指定の名前を持つ時系列を削除します。
- 削除済みの場合は何も変更しません。
- 削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、gsDropContainerと同様です。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 種別の異なるコンテナを削除しようとした場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsFetchAll | ( | GSGridStore * | store, | 
| GSQuery *const * | queryList, | ||
| size_t | queryCount | ||
| ) | 
指定された任意個数のGSQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。
- 指定のクエリ列に含まれる各GSQueryについて、個別にgsFetchを行った場合と同様にクエリ実行とフェッチを行い、結果のGSRowSetを設定します。GSQueryの実行結果を取り出すには、gsGetRowSetを使用します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、リストの要素数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。リスト内のGSQueryの実行順序は不定です。
- 指定のクエリ列には、指定のGSGridStoreインスタンスを介して得られた、対応するGSContainerがクローズされていないGSQueryのみを含めることができます。gsFetchと同様、各GSQueryが持つ最後に生成されたGSRowSetを介するロウ操作ができなくなります。同一のインスタンスが配列に複数含まれていた場合、それぞれ異なるインスタンスであった場合と同様に振る舞います。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- 指定のGSQueryに対応する各GSContainerのコミットモードが自動コミットモード、手動コミットモードのいずれであったとしても、使用できます。トランザクション状態はクエリの実行結果に反映されます。正常に操作が完了した場合、トランザクションタイムアウト時間に到達しない限り、対応する各GSContainerのトランザクションをアボートすることはありません。
- 各GSQueryに対する処理の途中でエラーが発生した場合、一部のGSQueryについてのみ新たなGSRowSetが設定されることがあります。また、指定のGSQueryに対応する各GSContainerの未コミットのトランザクションについては、アボートされることがあります。
- 一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] queryList 対象とするクエリ列。GSQueryへのポインタ値の配列により構成されます。 queryCountが0の場合、この配列を参照することはなく、NULLを指定することもできます。[in] queryCount 対象とするクエリ列の要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のGSGridStoreインスタンスを介して得られたGSQuery以外のGSQueryが含まれていた場合
- 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、指定のクエリを作成する機能の各種定義を参照してください
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
- queryCountが正の値であるにもかかわらず、- queryListに- NULLが指定された場合
- クエリ列を構成する配列要素にNULLが含まれていた場合
 
- See Also
- gsFetch
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetCollection | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSBinding * | binding, | ||
| GSCollection ** | collection | ||
| ) | 
指定の名前のコレクションを操作するためのGSCollectionインスタンスを取得します。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- Parameters
- 
  [in] store 処理対象のコレクションが格納されているGSGridStore [in] name 処理対象のコレクションの名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコレクションが存在しない場合、 NULLが設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 同名の時系列が存在する場合
- 指定の型と既存のカラムレイアウトが一致しない場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetCollectionGeneral | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| GSCollection ** | collection | ||
| ) | 
GSRowによりロウ操作できるGSCollectionインスタンスを取得します。
- 期待するコンテナ種別がGS_CONTAINER_COLLECTIONに限定され、常にGSContainerインスタンスが格納される点を除き、gsGetContainerGeneralと同様に振る舞います。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコレクションが存在しない場合、 NULLが設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 同名の時系列が存在する場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- See Also
- gsGetContainerGeneral
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetContainerGeneral | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| GSContainer ** | container | ||
| ) | 
GSRowによりロウ操作できるGSContainerインスタンスを取得します。
- 次の点を除き、gsGetCollectionもしくはgsGetTimeSeriesと同様に振る舞います。- 既存のコンテナの種別ならびにカラムレイアウトに基づきGSContainerインスタンスを返却する
- コンテナの種別ならびにカラムレイアウトを指定しないため、これらの不一致に伴うエラーが発生しない
- 返却されるGSContainerのロウオブジェクトの型が常にGSRowとなるそれぞれの同名の引数nameの用法についても同様です。
 
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 [out] container GSContainerインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコンテナが存在しない場合、 NULLが設定されます。指定の名前のコンテナが存在し、種別がGS_CONTAINER_COLLECTIONであった場合はGSCollection、GS_CONTAINER_TIME_SERIESであった場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- See Also
- gsGetCollection
- gsGetTimeSeries
- Since
- 1.5
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetContainerInfo | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| GSContainerInfo * | info, | ||
| GSBool * | exists | ||
| ) | 
指定の名前のコンテナに関する情報を取得します。
- 返却されるGSContainerInfoに含まれるコンテナ名は、GridDB上に格納されているものが設定されます。したがって、指定したコンテナ名と比較すると、ASCIIの大文字・小文字表記が異なる場合があります。
- カラム順序を無視するかどうかについては、無視しない状態に設定されます。この設定は、GSContainerInfo::columnOrderIgnorableを通じて確認できます。
- 現バージョンでは、初期値でのNULL使用有無は未設定状態で求まります。この設定は、GSColumnInfo::optionsを通じて確認できます。
- Attention
- カラム情報の列などの可変長データを格納するために、指定のGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用します。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] store 処理対象のコンテナが格納されているGSGridStore [in] name 処理対象のコンテナの名前 [out] info 指定の名前のコンテナに関する情報を格納するためのGSContainerInfoへのポインタ値。指定の名前のコンテナが存在しない場合、もしくは、実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。 [out] exists 処理対象のコンテナが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理のタイムアウト、接続障害が発生した場合
- exists以外の引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetMultipleContainerRows | ( | GSGridStore * | store, | 
| const GSRowKeyPredicateEntry *const * | predicateList, | ||
| size_t | predicateCount, | ||
| const GSContainerRowEntry ** | entryList, | ||
| size_t * | entryCount | ||
| ) | 
指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。
- 指定のエントリ列に含まれる条件に従い、個別にgsGetRowもしくはgsFetchを呼び出した場合と同様に、ロウの内容を取得します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や条件に合致するロウの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。
- 指定の条件エントリ列は、コンテナ名と、GSRowKeyPredicateで表現される取得条件との組からなる任意個数の条件エントリから構成されます。同一のGSRowKeyPredicateインスタンスを複数含めることもできます。また、対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、コンテナの構成によっては評価できない取得条件が存在します。具体的な制限については、GSRowKeyPredicateに対する各種設定機能の定義を参照してください。コンテナ名または取得条件としてNULLを設定することはできません。
- 取得するエントリ列は、コンテナ名とロウオブジェクト列との組からなるエントリにより構成されます。また、取得するエントリ列には、取得条件として指定したエントリ列のうち、リクエスト時点で実在するコンテナに関するエントリのみが含まれます。同一のコンテナを指す複数のエントリが指定の条件エントリ列に含まれていた場合、取得するエントリ列にはこれらを1つにまとめたエントリが格納されます。同一のリストに複数のロウオブジェクトが含まれる場合、格納される順序はコンテナ種別と対応するGSContainerから派生した個別のコンテナ型の定義に従います。指定のコンテナに対応するロウが1つも存在しない場合、対応するロウオブジェクト列の要素数は0となります。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- gsGetRowForUpdateもしくはgsFetchのように、トランザクションを維持し、更新用ロックを要求することはできません。
- 一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。
- Attention
- 取得するエントリ列ならびにその中に含まれるコンテナ名やロウオブジェクト列の可変長のデータを格納するために、指定のGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] predicateList 対象とするコンテナの名前と取得条件との組からなる条件エントリの列。GSContainerRowEntryの配列により構成されます。 predicateCountが0の場合、この配列を参照することはなく、NULLを指定することもできます。[in] predicateCount 条件エントリ列の要素数 [out] entryList 取得結果エントリ列のアドレスを格納するためのポインタ変数へのポインタ値。取得結果エントリ列はGSContainerRowEntryの配列により構成されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。[out] entryCount 取得結果エントリ列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナに関して評価できない取得条件が指定された場合
- 特定コンテナ種別固有の制限に反する操作を行った場合
- この処理または関連するトランザクションのタイムアウト、接続障害が発生した場合
- predicateList以外のポインタ型引数に- NULLが指定された場合
- predicateCountが正の値であるにもかかわらず、- predicateListに- NULLが指定された場合
- エントリ列を構成するエントリのコンテナ名もしくは取得条件としてNULLが含まれていた場合
 
- See Also
- gsGetRow
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionController | ( | GSGridStore * | store, | 
| GSPartitionController ** | partitionController | ||
| ) | 
対応するGridDBクラスタについてのGSPartitionControllerを取得します。
- 指定のGSGridStoreをクローズした時点で使用できなくなります。
- Parameters
- 
  [in] store 処理対象のGSGridStore [out] partitionController GSPartitionControllerインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- See Also
- GSPartitionController
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetTimeSeries | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSBinding * | binding, | ||
| GSTimeSeries ** | timeSeries | ||
| ) | 
指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- Parameters
- 
  [in] store 処理対象の時系列が格納されているGSGridStore [in] name 処理対象の時系列の名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [out] timeSeries GSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前の時系列が存在しない場合、 NULLが設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 同名のコレクションが存在する場合
- 指定の型と既存のカラムレイアウトが一致しない場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetTimeSeriesGeneral | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| GSTimeSeries ** | timeSeries | ||
| ) | 
GSRowによりロウ操作できるGSTimeSeriesインスタンスを取得します。
- 期待するコンテナ種別がGS_CONTAINER_TIME_SERIESに限定され、常にGSTimeSeriesインスタンスが格納される点を除き、gsGetContainerGeneralと同様に振る舞います。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 [out] timeSeries GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前の時系列が存在しない場合、 NULLが設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 同名のコレクションが存在する場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数にNULLが指定された場合
 
- See Also
- gsGetContainerGeneral
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutCollection | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSBinding * | binding, | ||
| const GSCollectionProperties * | properties, | ||
| GSBool | modifiable, | ||
| GSCollection ** | collection | ||
| ) | 
コレクションを新規作成または変更します。
- 同名のコンテナが存在しない場合、指定のバインディング情報により定義されたカラムレイアウトに従い、新規にコレクションを作成します。すでに同名のコレクションが存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除きgsGetCollectionと同様に振る舞います。
- modifiableがGS_TRUEであり、すでに同名のコレクションが存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存のコレクションにない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除はできません。
- コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。
- 新たに追加されるカラムの値は、GSContainerにて定義されている空の値を初期値として初期化されます。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。
- ロウキーを持つコレクションを新規に作成する場合、ロウキーに対し、gsCreateIndexにて定義されているデフォルト種別の索引が作成されます。この索引は、削除することができます。
- 現バージョンでは、コンテナの規模など諸条件を満たした場合、カラムレイアウトの変更開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、更新ロックなしでのロウの参照操作を行える場合があります。それ以外の操作は、GSContainerでの定義通り待機させる場合があります。カラムレイアウトの変更途中に別の操作が行われる場合は、変更前のカラムレイアウトが使用されます。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [in] properties コレクションの構成オプション。 NULLを指定できます。現バージョンでは使用されておらず、内容はチェックされません。[in] modifiable 既存コレクションのカラムレイアウト変更を許可するかどうか [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 同名の時系列が存在する場合。
- modifiableがGS_FALSEであり、既存の同名のコレクションに関してカラムレイアウトの内容が一致しない場合
- modifiableがGS_TRUEであり、既存の同名のコレクションに関して変更できない項目を変更しようとした場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- properties以外のポインタ型引数に- NULLが指定された場合
 
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutCollectionGeneral | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSContainerInfo * | info, | ||
| GSBool | modifiable, | ||
| GSCollection ** | collection | ||
| ) | 
GSContainerInfoを指定して、コレクションを新規作成または変更します。
- コンテナ種別がGS_CONTAINER_COLLECTIONに限定され、GSContainerインスタンスが格納される点を除き、gsPutContainerGeneralと同様に振る舞います。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 [in] info 処理対象のコレクションの情報。コンテナ種別には常にGS_CONTAINER_COLLECTIONを指定 [in] modifiable 既存コレクションのカラムレイアウト変更を許可するかどうか [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- コンテナ種別以外の指定内容に関して、gsPutContainerGeneralの規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
- この処理のタイムアウト、接続障害が発生した場合
- name以外のポインタ型引数に- NULLが指定された場合
 
- See Also
- gsPutContainerGeneral
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutContainer | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSBinding * | binding, | ||
| const GSContainerInfo * | info, | ||
| GSBool | modifiable, | ||
| GSContainer ** | container | ||
| ) | 
バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。
- 主に、バインディング情報を指定して、追加設定を持つコンテナを新規作成する場合に使用します。
- カラムレイアウトならびにカラム順序の無視設定をGSContainerInfoに指定できない点を除けば、gsPutContainerGeneralと同様です。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [in] info 処理対象のコンテナの情報。 NULLの場合は無視される[in] modifiable 既存コレクションのカラムレイアウト変更を許可するかどうか [out] container GSContainerインスタンスを格納するためのポインタ変数へのポインタ値。GS_CONTAINER_COLLECTIONを指定した場合はGSCollection、GS_CONTAINER_TIME_SERIESを指定した場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- nameならびに- info引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更関数の規則に合致しない場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- name以外のポインタ型引数に- NULLが指定された場合
 
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutContainerGeneral | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSContainerInfo * | info, | ||
| GSBool | modifiable, | ||
| GSContainer ** | container | ||
| ) | 
GSContainerInfoを指定して、コンテナを新規作成または変更します。
- 次の点を除き、gsPutCollectionもしくはgsPutTimeSeriesと同様に振る舞います。- GSContainerInfoを用いてコンテナ種別、カラムレイアウト、ならびに、必要に応じ時系列構成オプションを指定する
- 返却されるGSContainerのロウオブジェクトの型が常にGSRowとなるそれぞれの同名の引数modifiableの用法についても同様です。
 
- コンテナに関する情報の指定方法の一覧は次の通りです。項目 引数 説明 コンテナ名 nameまたはinfo少なくともいずれかの引数に NULLではない値を指定する。両方に指定する場合、異なる値を指定してはならない。コンテナ種別 infoGS_CONTAINER_COLLECTIONを指定した場合、gsPutCollectionと同様の振る舞いとなる。GS_CONTAINER_TIME_SERIESを指定した場合、gsPutTimeSeriesと同様の振る舞いとなる。 カラムレイアウト infoGSContainerにて規定された制約に合致するようGSColumnInfoのリストならびにロウキーの有無を設定する。ただし現バージョンでは、初期値でのNULL使用有無が設定されたGSColumnInfo::optionsを持つGSColumnInfoを含めることはできない。 カラム順序の無視 info無視する場合、同名の既存のコンテナのカラム順序と一致するかどうかを検証しない。 時系列構成オプション infoコンテナ種別がGS_CONTAINER_TIME_SERIESの場合のみ、 NULLではない値を指定できる。索引設定 info現バージョンでは無視される。今後のバージョンでは、gsCreateIndexの規則に合致しない設定が含まれていた場合、エラーとなる可能性がある。 トリガ設定 info現バージョンでは無視される。今後のバージョンでは、gsCreateTriggerの規則に合致しない設定が含まれていた場合、エラーとなる可能性がある。 コンテナ類似性 infoNULL以外を指定し新規作成する場合、指定の内容が反映される。既存コンテナの設定を変更することはできない。NULLを指定した場合は無視される。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 [in] info 処理対象のコンテナの情報 [in] modifiable 既存コンテナのカラムレイアウト変更を許可するかどうか [out] container GSContainerインスタンスを格納するためのポインタ変数へのポインタ値。GS_CONTAINER_COLLECTIONを指定した場合はGSCollection、GS_CONTAINER_TIME_SERIESを指定した場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- nameならびに- info引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更関数の規則に合致しない場合
- この処理のタイムアウト、接続障害が発生した場合
- name以外のポインタ型引数に- NULLが指定された場合
 
- See Also
- gsPutCollection
- gsPutTimeSeries
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsPutMultipleContainerRows | ( | GSGridStore * | store, | 
| const GSContainerRowEntry * | entryList, | ||
| size_t | entryCount | ||
| ) | 
任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。
- 指定のエントリ列に含まれる各ロウオブジェクトについて、個別にgsPutRowを呼び出した場合と同様に新規作成または更新操作を行います。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や指定のロウオブジェクトの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。
- 指定のエントリ列は、コンテナ名とロウオブジェクト列との組からなる任意個数のエントリから構成されます。対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、すでに存在するコンテナでなければなりません。エントリ列のコンテナ名としてNULLを設定することはできません。また、ロウオブジェクト列の要素数が正ならば、ロウオブジェクト列の配列アドレスとしてNULLを設定することはできません。
- 各ロウオブジェクト列には、対象のコンテナと同一のカラムレイアウトのGSRowのみを任意個数含めることができます。現バージョンでは、カラム順序についてもすべて同一でなければなりません。ロウオブジェクト列の要素としてNULLを含めることはできません。
- 指定のエントリ列内に同一コンテナを対象とした同一ロウキーを持つ複数のロウオブジェクト列が存在する場合、異なるリスト間であればエントリ列の要素順、同一ロウオブジェクト列内であればその要素順を基準として、同値のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。
- トランザクションを維持し、ロックを保持し続けることはできません。ただし、既存のトランザクションが対象ロウに影響するロックを確保している場合、すべてのロックが解放されるまで待機し続けます。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- 各コンテナならびにロウに対する処理の途中でエラーが発生した場合、一部のコンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。
- Attention
- エントリ列に含まれるロウオブジェクトへのアドレスとしてGSRow以外のものが含まれており、異常を検知できなかった場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] entryList 対象とするコンテナの名前とロウオブジェクト列からなるエントリの列。GSContainerRowEntryの配列により構成されます。 entryCountが0の場合、この配列を参照することはなく、NULLを指定することもできます。[in] entryCount エントリ列の要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 対象とするコンテナが存在しない場合、また、対象とするコンテナとロウオブジェクトとのカラムレイアウトが一致しない場合
- 特定コンテナ種別固有の制限に反する操作を行った場合
- この処理または関連するトランザクションのタイムアウト、接続障害が発生した場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
- storeが- NULLの場合
- queryCountが正の値であるにもかかわらず、- queryListに- NULLが指定された場合
- エントリ列に含まれるロウオブジェクトへのアドレスとしてGSRow以外のものが含まれており、異常検知に成功した場合
- エントリ列を構成するエントリのコンテナ名としてNULLが含まれていた場合、ロウオブジェクト列の要素数が正であるにも関わらずロウオブジェクト列の配列アドレスとしてNULLが含まれていた場合、また、ロウオブジェクト列の要素としてNULLが含まれていた場合
 
- See Also
- gsPutRow
- Since
- 1.5
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutTimeSeries | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSBinding * | binding, | ||
| const GSTimeSeriesProperties * | properties, | ||
| GSBool | modifiable, | ||
| GSTimeSeries ** | timeSeries | ||
| ) | 
時系列を新規作成または変更します。
- 同名のコンテナが存在しない場合、指定のバインディング情報により定義されたカラムレイアウトに従い、新規に時系列を作成します。すでに同名の時系列が存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除きgsGetTimeSeriesと同様に振る舞います。
- modifiableがGS_TRUEであり、すでに同名の時系列が存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存の時系列にない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除、時系列構成オプションの変更はできません。時系列構成オプションを指定する場合は、既存の設定内容とすべて同値にする必要があります。
- コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。
- 新たに追加されるカラムの値は、gsPutCollectionの定義を参照してください。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [in] properties 時系列の構成オプション。 NULLを指定すると、同名の時系列が存在する場合は既存の設定が継承され、存在しない場合は初期設定を指定したものとみなされます。初期設定とは、GS_TIME_SERIES_PROPERTIES_INITIALIZERにより初期化した時系列構成オプションと同値の設定のことです。[in] modifiable 既存時系列のカラムレイアウト変更を許可するかどうか [out] timeSeries GSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 同名の時系列が存在する場合。
- modifiableがGS_FALSEであり、既存の同名の時系列に関してカラムレイアウトの内容が一致しない場合
- modifiableがGS_TRUEであり、既存の同名の時系列に関して変更できない項目を変更しようとした場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- properties以外のポインタ型引数に- NULLが指定された場合
 
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutTimeSeriesGeneral | ( | GSGridStore * | store, | 
| const GSChar * | name, | ||
| const GSContainerInfo * | info, | ||
| GSBool | modifiable, | ||
| GSTimeSeries ** | timeSeries | ||
| ) | 
GSContainerInfoを指定して、時系列を新規作成または変更します。
- コンテナ種別がGS_CONTAINER_TIME_SERIESに限定され、GSTimeSeriesインスタンスが格納される点を除き、gsPutTimeSeriesGeneralと同様に振る舞います。
- Parameters
- 
  [in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 [in] info 処理対象の時系列の情報。コンテナ種別には常にGS_CONTAINER_TIME_SERIESを指定 [in] modifiable 既存時系列のカラムレイアウト変更を許可するかどうか [out] timeSeries GSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- コンテナ種別以外の指定内容に関して、gsPutContainerGeneralの規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
- この処理のタイムアウト、接続障害が発生した場合
- name以外のポインタ型引数に- NULLが指定された場合
 
- See Also
- gsPutContainerGeneral
- Since
- 1.5
| Typedefs | |
| typedef struct GSGridStoreFactoryTag | GSGridStoreFactory | 
| GSGridStoreインスタンスを管理します。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseFactory (GSGridStoreFactory **factory, GSBool allRelated) | 
| 必要に応じ、指定のGSGridStoreFactoryに関連するリソースをクローズします。More... | |
| GS_DLL_PUBLIC GSGridStoreFactory *GS_API_CALL | gsGetDefaultFactory () | 
| デフォルトのGSGridStoreFactoryインスタンスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetGridStore (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount, GSGridStore **store) | 
| 指定のプロパティを持つGSGridStoreを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFactoryProperties (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount) | 
| 指定のファクトリの設定を変更します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSGridStoreFactoryTag GSGridStoreFactory | 
GSGridStoreインスタンスを管理します。
- GSGridStoreインスタンス共通のクライアント設定や使用済みのコネクションを管理します。
- GridDBにアクセスするためには、このファクトリを介してGSGridStoreインスタンスを取得する必要があります。
- この型のポインタを第一引数とする関数は、すべてスレッド安全です。
Function Documentation
| GS_DLL_PUBLIC void GS_API_CALL gsCloseFactory | ( | GSGridStoreFactory ** | factory, | 
| GSBool | allRelated | ||
| ) | 
必要に応じ、指定のGSGridStoreFactoryに関連するリソースをクローズします。
- Note
- 現バージョンでは、何もクローズ処理を行いません。
- Parameters
- 
  [in,out] factory 対象とするGSGridStoreFactoryインスタンスのポインタ変数へのポインタ値 [in] allRelated 現バージョンでは、結果に影響しません。 
| GS_DLL_PUBLIC GSGridStoreFactory* GS_API_CALL gsGetDefaultFactory | ( | ) | 
デフォルトのGSGridStoreFactoryインスタンスを取得します。
- Returns
- GSGridStoreFactoryインスタンスへのポインタ値
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetGridStore | ( | GSGridStoreFactory * | factory, | 
| const GSPropertyEntry * | properties, | ||
| size_t | propertyCount, | ||
| GSGridStore ** | store | ||
| ) | 
指定のプロパティを持つGSGridStoreを取得します。
- GSGridStoreを取得した時点では、各GSContainerを管理するマスタノード(以下、マスタ)のアドレス探索を必要に応じて行うだけであり、認証処理は行われません。実際に各GSContainerに対応するノードに接続する必要が生じたタイミングで、認証処理が行われます。
- 以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。名称 説明 host 接続先ホスト名。IPアドレス(IPV4のみ)も可。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しない。notificationMemberおよびnotificationProviderと同時に指定することはできない port 接続先ポート番号。 0から65535までの数値の文字列表現。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しないnotificationAddress マスタ自動検出に用いられる通知情報を受信するためのIPアドレス(IPV4のみ)。省略時はデフォルトのアドレスを使用 notificationPort マスタ自動検出に用いられる通知情報を受信するためのポート番号。 0から65535までの数値の文字列表現。省略時はデフォルトのポートを使用clusterName クラスタ名。接続先のクラスタに設定されているクラスタ名と一致するかどうかを確認するために使用される。省略時もしくは空文字列を指定した場合、クラスタ名の確認は行われない。 database 接続先のデータベース名。省略時は全てのユーザがアクセス可能な「public」データベースに自動接続される。接続ユーザは接続データベースに属するコンテナを操作できる。 user ユーザ名 password ユーザ認証用のパスワード consistency 以下のいずれかの一貫性レベル。デフォルトでは IMMEDIATEを適用- IMMEDIATE- 他のクライアントからの更新結果は、該当トランザクションの完了後即座に反映される
 
- EVENTUAL- 他のクライアントからの更新結果は、該当トランザクションが完了した後でも反映されない場合がある。GSContainerに対する更新操作は実行できない
 
 transactionTimeout トランザクションタイムアウト時間の最低値。関係するGSContainerにおける各トランザクションの開始時点から適用。 0からINTEGER型の最大値までの値の文字列表現であり、単位は秒。ただし、タイムアウト時間として有効に機能する範囲に上限があり、上限を超える指定は上限値が指定されたものとみなされる。0の場合、後続のトランザクション処理がタイムアウトエラーになるかどうかは常に不定となる。省略時は接続先GridDB上のデフォルト値を使用failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。 0からINTEGER型の最大値までの数値の文字列表現であり、単位は秒。0の場合、フェイルオーバ処理を行わない。省略時は指定のファクトリの設定値を使用containerCacheSize コンテナキャッシュに格納するコンテナ情報の最大個数。 0からINTEGER型の最大値までの数値の文字列表現。値が0の場合、コンテナキャッシュを使用しないことを意味する。GSContainerを取得する際にキャッシュにヒットした場合は、GridDBへのコンテナ情報の問い合わせを行わない。省略時は既存の設定値を使用。バージョン1.5よりサポートnotificationMember 固定リスト方式を使用して構成されたクラスタに接続する場合に、クラスタノードのアドレス・ポートのリストを次のように指定する。 (アドレス1):(ポート1),(アドレス2):(ポート2),... notificationAddressおよびnotificationProviderと同時に指定することはできない。バージョン2.9よりサポートnotificationProvider プロバイダ方式を使用して構成されたクラスタに接続する場合に、アドレスプロバイダのURLを指定する。notificationAddressおよびnotificationMemberと同時に指定することはできない。バージョン2.9よりサポート 
- クラスタ名、データベース名、ユーザ名、パスワードについては、ASCIIの大文字・小文字表記の違いがいずれも区別されます。その他、これらの定義に使用できる文字種や長さの上限などの制限については、GridDBテクニカルリファレンスを参照してください。ただし、制限に反する文字列をプロパティ値として指定した場合、各ノードへの接続のタイミングまでエラーが検知されないことや、認証情報の不一致など別のエラーになることがあります。
- 取得のたびに、新たなGSGridStoreインスタンスが生成されます。異なるGSGridStoreインスタンスならびに関連するリソースに対する操作は、スレッド安全です。すなわち、ある2つのリソースがそれぞれGSGridStoreインスタンスを基にして生成されたものまたはGSGridStoreインスタンスそのものであり、かつ、該当する関連GSGridStoreインスタンスが異なる場合、一方のリソースに対してどのスレッドからどのタイミングで関連する関数が呼び出されていたとしても、他方のリソースの関連する関数を呼び出すことができます。ただし、GSGridStore自体のスレッド安全性は保証されていないため、同一GSGridStoreインスタンスに対して複数スレッドから任意のタイミングで関連する関数を呼び出すことはできません。
- Parameters
- 
  [in] factory 取得元のGSGridStoreFactoryインスタンス。 NULLの場合、gsGetDefaultFactoryにより得られるインスタンスと同一のものが使用されます。[in] properties 取得設定を指示するためのプロパティ。GSPropertyEntryの配列により構成されます。エントリ数が 0の場合、この配列を参照することはなく、NULLを指定することもできます。エントリを構成する名前もしくは値にNULLを含めることはできません。[in] propertyCount propertiesとして引数に指定するプロパティのエントリ数。[out] store GSGridStoreインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のホストについて名前解決できなかった場合
- 指定のプロパティが上で説明した形式・制限に合致しないことを検知できた場合
- storeに- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetFactoryProperties | ( | GSGridStoreFactory * | factory, | 
| const GSPropertyEntry * | properties, | ||
| size_t | propertyCount | ||
| ) | 
指定のファクトリの設定を変更します。
- 設定の変更は、指定のファクトリより生成されたGSGridStore、ならびに、今後指定のファクトリで生成されるGSGridStoreに反映されます。
- 以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。名称 説明 maxConnectionPoolSize 内部で使用されるコネクションプールの最大コネクション数。 0からINTEGER型の最大値までの数値の文字列表現。値が0の場合、コネクションプールを使用しないことを意味する。省略時は既存の設定値を使用failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。 0からINTEGER型の最大値までの数値の文字列表現であり、単位は秒。0の場合、フェイルオーバ処理を行わない。省略時は既存の設定値を使用
- Parameters
- 
  [in] factory 取得元のGSGridStoreFactoryインスタンス。 NULLの場合、gsGetDefaultFactoryにより得られるインスタンスと同一のものが使用されます。[in] properties 取得設定を指示するためのプロパティ。GSPropertyEntryの配列により構成されます。エントリ数が 0の場合、NULLを指定することもできます。エントリを構成する名前もしくは値にNULLを含めることはできません。[in] propertyCount propertiesとして引数に指定するプロパティのエントリ数。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のプロパティが上で説明した形式に合致しない場合
- propertiesに- NULLが指定された場合
 
| Typedefs | |
| typedef struct GSPartitionControllerTag | GSPartitionController | 
| パーティション状態の取得や操作のためのコントローラです。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsClosePartitionController (GSPartitionController **controller) | 
| 指定のGSPartitionControllerインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionCount (GSPartitionController *controller, int32_t *partitionCount) | 
| 対象とするGridDBクラスタのパーティション数を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerCount (GSPartitionController *controller, int32_t partitionIndex, int64_t *containerCount) | 
| 指定のパーティションに属するコンテナの総数を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerNames (GSPartitionController *controller, int32_t partitionIndex, int64_t start, const int64_t *limit, const GSChar *const **nameList, size_t *size) | 
| 指定のパーティションに所属するコンテナの名前の一覧を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) | 
| 指定のパーティションに対応するノードのアドレス一覧を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionOwnerHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar **address) | 
| 指定のパーティションに対応するオーナノードのアドレスを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionBackupHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) | 
| 指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAssignPartitionPreferableHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar *host) | 
| 優先的に選択されるホストのアドレスを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionIndexOfContainer (GSPartitionController *controller, const GSChar *containerName, int32_t *partitionIndex) | 
| 指定のコンテナ名に対応するパーティションインデックスを取得します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSPartitionControllerTag GSPartitionController | 
パーティション状態の取得や操作のためのコントローラです。
- パーティションとは、データを格納する論理的な領域です。GridDBクラスタ内のデータ配置に基づいた操作を行うために使用します。
- Since
- 1.5
Function Documentation
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAssignPartitionPreferableHost | ( | GSPartitionController * | controller, | 
| int32_t | partitionIndex, | ||
| const GSChar * | host | ||
| ) | 
優先的に選択されるホストのアドレスを設定します。
- バックアップノードへの接続など、可能な接続先が複数存在する場合に、設定されたアドレスが候補に含まれていれば常に選択されるようになります。それ以外の場合は設定が無視されます。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0以上パーティション数未満の値。[in] host 優先的に選択されるホストのアドレス。IPアドレス(IPV4のみ)も可。 NULLの場合、設定が解除される
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- controller引数に- NULLが指定された場合
- 範囲外のパーティションインデックスが指定された場合
- アドレスの名前解決に失敗した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- Since
- 1.5
| GS_DLL_PUBLIC void GS_API_CALL gsClosePartitionController | ( | GSPartitionController ** | controller | ) | 
指定のGSPartitionControllerインスタンスを解放します。
- Parameters
- 
  [in,out] controller クローズ対象のGSPartitionControllerインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULLが設定されます。以後、解放したGSPartitionControllerインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionBackupHosts | ( | GSPartitionController * | controller, | 
| int32_t | partitionIndex, | ||
| const GSChar *const ** | addressList, | ||
| size_t * | size | ||
| ) | 
指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。
- オーナノードとは、gsGetGridStoreおける一貫性レベルとして"EVENTUAL"を指定した場合に、優先的に選択されるノードのことです。
- 一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。
- Attention
- アドレス一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0以上パーティション数未満の値。[out] addressList アドレスの文字列表現一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size コンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerCount | ( | GSPartitionController * | controller, | 
| int32_t | partitionIndex, | ||
| int64_t * | containerCount | ||
| ) | 
指定のパーティションに属するコンテナの総数を取得します。
- コンテナ数を求める際の計算量は、コンテナ数にはおおむね依存しません。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0以上パーティション数未満の値[out] containerCount コンテナ数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerNames | ( | GSPartitionController * | controller, | 
| int32_t | partitionIndex, | ||
| int64_t | start, | ||
| const int64_t * | limit, | ||
| const GSChar *const ** | nameList, | ||
| size_t * | size | ||
| ) | 
指定のパーティションに所属するコンテナの名前の一覧を取得します。
- 指定のパーティションについてコンテナの新規作成・構成変更・削除が行われたとしても、該当コンテナを除くとその前後で一覧の取得結果の順序が変わることはありません。それ以外の一覧の順序に関しては不定です。重複する名前が含まれることはありません。
- 取得件数の上限が指定された場合、上限を超える場合、後方のものから切り捨てられます。指定条件に該当するものが存在しない場合、空のリストが求まります。
- Attention
- コンテナ名一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0以上パーティション数未満の値。[in] start 取得範囲の開始位置。 0以上の値[in] limit 取得件数の上限。 NULLの場合、上限なしとみなされる[out] nameList コンテナ名一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size コンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- limit以外のポインタ型引数に- NULLが指定された場合
- 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionCount | ( | GSPartitionController * | controller, | 
| int32_t * | partitionCount | ||
| ) | 
対象とするGridDBクラスタのパーティション数を取得します。
- 対象とするGridDBクラスタにおけるパーティション数設定の値を取得します。一度取得した結果はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [out] partitionCount パーティション数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 -1が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionHosts | ( | GSPartitionController * | controller, | 
| int32_t | partitionIndex, | ||
| const GSChar *const ** | addressList, | ||
| size_t * | size | ||
| ) | 
指定のパーティションに対応するノードのアドレス一覧を取得します。
- 一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。
- Attention
- アドレス一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0以上パーティション数未満の値。[out] addressList アドレスの文字列表現一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size コンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionIndexOfContainer | ( | GSPartitionController * | controller, | 
| const GSChar * | containerName, | ||
| int32_t * | partitionIndex | ||
| ) | 
指定のコンテナ名に対応するパーティションインデックスを取得します。
- 一度GridDBクラスタが構築されると、コンテナの所属先のパーティションが変化することはなく、パーティションインデックスも一定となります。指定の名前に対応するコンテナが存在するかどうかは、結果に依存しません。
- パーティションインデックスの算出に必要とする情報はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] containerName コンテナ名 [out] partitionIndex パーティションインデックスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 -1が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- コンテナ名として許可されない文字列が指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionOwnerHost | ( | GSPartitionController * | controller, | 
| int32_t | partitionIndex, | ||
| const GSChar ** | address | ||
| ) | 
指定のパーティションに対応するオーナノードのアドレスを取得します。
- オーナノードとは、gsGetGridStoreおける一貫性レベルとして"IMMEDIATE"を指定した場合に、常に選択されるノードのことです。
- Attention
- アドレスを格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0以上パーティション数未満の値。[out] address アドレスの文字列表現を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
 
- ポインタ型引数に
- Since
- 1.5
| Typedefs | |
| typedef struct GSQueryTag | GSQuery | 
| 特定のGSContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。 | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseQuery (GSQuery **query) | 
| 指定のGSQueryインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetch (GSQuery *query, GSBool forUpdate, GSRowSet **rowSet) | 
| オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFetchOption (GSQuery *query, GSFetchOption fetchOption, const void *value, GSType valueType) | 
| 結果取得に関するオプションを設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowSet (GSQuery *query, GSRowSet **rowSet) | 
| 直近に実行した結果のGSRowSetを取得します。More... | |
Detailed Description
Function Documentation
| GS_DLL_PUBLIC void GS_API_CALL gsCloseQuery | ( | GSQuery ** | query | ) | 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsFetch | ( | GSQuery * | query, | 
| GSBool | forUpdate, | ||
| GSRowSet ** | rowSet | ||
| ) | 
オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。
- forUpdateにGS_TRUEが指定された場合、取得対象のロウすべてをロックします。ロックすると、対応するトランザクションが有効である間、他のトランザクションからの対象ロウに対する変更操作が阻止されます。対応するコンテナの自動コミットモードが無効の場合のみ、指定できます。
- 新たなロウ集合を取得すると、指定のクエリについて直近に実行した結果のGSRowSetを介するロウ操作はできなくなります。
- 一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。
- Parameters
- 
  [in] query 処理対象のGSQuery [in] forUpdate 更新用ロックを要求するかどうか [out] rowSet GSRowSetインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 対応するコレクションの自動コミットモード有効であるにもかかわらず、forUpdateにGS_TRUEが指定された場合
- ロックできないクエリであるにもかかわらず、forUpdateにGS_TRUEが指定された場合。具体的なロックの可否は、指定のクエリを作成する機能の各種定義を参照してください。
- 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。具体的な制約は、指定のクエリを作成する機能の各種定義を参照してください。
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するGSContainerのクローズ後に呼び出された場合
- ポインタ型引数にNULLが指定された場合
 
- 対応するコレクションの自動コミットモード有効であるにもかかわらず、
直近に実行した結果のGSRowSetを取得します。
- 一度取得すると、以降新たに指定のクエリを実行するまでGSRowSetが取得できなくなります。
- GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。
- Parameters
- 
  [in] query 処理対象のGSQuery [out] rowSet 直近に実行した結果のGSRowSetインスタンスを格納するためのポインタ変数へのポインタ値。取得済みの場合、もしくは、一度もクエリを実行したことのない場合は NULLが設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはGSContainerのクローズ後に呼び出された場合
- ポインタ型引数にNULLが指定された場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetFetchOption | ( | GSQuery * | query, | 
| GSFetchOption | fetchOption, | ||
| const void * | value, | ||
| GSType | valueType | ||
| ) | 
結果取得に関するオプションを設定します。
- 設定可能なオプション項目と値の定義については、GSFetchOptionTagを参照してください。
- Attention
- valueTypeと- valueの型との対応が正しくない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] query 処理対象のGSQuery [in] fetchOption オプション項目 [in] value オプションの値。指定可能な型は、 valueTypeによって次のように異なります。valueTypevalueの型INTEGER int32_t* LONG int64_t* BOOL GSBool* [in] valueType オプションの値の型 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- オプション項目固有の制約に違反した場合
- ポインタ型引数にNULLが指定された場合
- 対応するGSContainerのクローズ後に呼び出された場合
 
| Typedefs | |
| typedef struct GSRowTag | GSRow | 
| 任意のスキーマについて汎用的にフィールド操作できるロウです。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseRow (GSRow **row) | 
| 指定のGSRowインスタンスを解放します。More... | |
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetRowSchema (GSRow *row, GSContainerInfo *schemaInfo) | 
| 指定のロウに対応するスキーマを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldGeneral (GSRow *row, int32_t column, const GSValue *fieldValue, GSType type) | 
| 指定のフィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldGeneral (GSRow *row, int32_t column, GSValue *fieldValue, GSType *type) | 
| 指定のフィールドの値とその型を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByString (GSRow *row, int32_t column, const GSChar *fieldValue) | 
| 指定のSTRING型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsString (GSRow *row, int32_t column, const GSChar **fieldValue) | 
| 指定のSTRING型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBool (GSRow *row, int32_t column, GSBool fieldValue) | 
| 指定のBOOL型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBool (GSRow *row, int32_t column, GSBool *fieldValue) | 
| 指定のBOOL型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByte (GSRow *row, int32_t column, int8_t fieldValue) | 
| 指定のBYTE型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByte (GSRow *row, int32_t column, int8_t *fieldValue) | 
| 指定のBYTE型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShort (GSRow *row, int32_t column, int16_t fieldValue) | 
| 指定のSHORT型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShort (GSRow *row, int32_t column, int16_t *fieldValue) | 
| 指定のSHORT型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByInteger (GSRow *row, int32_t column, int32_t fieldValue) | 
| 指定のINTEGER型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsInteger (GSRow *row, int32_t column, int32_t *fieldValue) | 
| 指定のINTEGER型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLong (GSRow *row, int32_t column, int64_t fieldValue) | 
| 指定のLONG型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLong (GSRow *row, int32_t column, int64_t *fieldValue) | 
| 指定のLONG型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloat (GSRow *row, int32_t column, float fieldValue) | 
| 指定のFLOAT型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloat (GSRow *row, int32_t column, float *fieldValue) | 
| 指定のFLOAT型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDouble (GSRow *row, int32_t column, double fieldValue) | 
| 指定のDOUBLE型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDouble (GSRow *row, int32_t column, double *fieldValue) | 
| 指定のDOUBLE型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestamp (GSRow *row, int32_t column, GSTimestamp fieldValue) | 
| 指定のTIMESTAMP型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestamp (GSRow *row, int32_t column, GSTimestamp *fieldValue) | 
| 指定のTIMESTAMP型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByGeometry (GSRow *row, int32_t column, const GSChar *fieldValue) | 
| 指定のGEOMETRY型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsGeometry (GSRow *row, int32_t column, const GSChar **fieldValue) | 
| 指定のGEOMETRY型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBlob (GSRow *row, int32_t column, const GSBlob *fieldValue) | 
| 指定のBLOB型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBlob (GSRow *row, int32_t column, GSBlob *fieldValue) | 
| 指定のBLOB型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByStringArray (GSRow *row, int32_t column, const GSChar *const *fieldValue, size_t size) | 
| 指定のSTRING配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsStringArray (GSRow *row, int32_t column, const GSChar *const **fieldValue, size_t *size) | 
| 指定のSTRING配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBoolArray (GSRow *row, int32_t column, const GSBool *fieldValue, size_t size) | 
| 指定のBOOL配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBoolArray (GSRow *row, int32_t column, const GSBool **fieldValue, size_t *size) | 
| 指定のBOOL配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByteArray (GSRow *row, int32_t column, const int8_t *fieldValue, size_t size) | 
| 指定のBYTE配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByteArray (GSRow *row, int32_t column, const int8_t **fieldValue, size_t *size) | 
| 指定のBYTE配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShortArray (GSRow *row, int32_t column, const int16_t *fieldValue, size_t size) | 
| 指定のSHORT配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShortArray (GSRow *row, int32_t column, const int16_t **fieldValue, size_t *size) | 
| 指定のSHORT配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByIntegerArray (GSRow *row, int32_t column, const int32_t *fieldValue, size_t size) | 
| 指定のINTEGER配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsIntegerArray (GSRow *row, int32_t column, const int32_t **fieldValue, size_t *size) | 
| 指定のINTEGER配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLongArray (GSRow *row, int32_t column, const int64_t *fieldValue, size_t size) | 
| 指定のLONG配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLongArray (GSRow *row, int32_t column, const int64_t **fieldValue, size_t *size) | 
| 指定のLONG配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloatArray (GSRow *row, int32_t column, const float *fieldValue, size_t size) | 
| 指定のFLOAT配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloatArray (GSRow *row, int32_t column, const float **fieldValue, size_t *size) | 
| 指定のFLOAT配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDoubleArray (GSRow *row, int32_t column, const double *fieldValue, size_t size) | 
| 指定のDOUBLE配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDoubleArray (GSRow *row, int32_t column, const double **fieldValue, size_t *size) | 
| 指定のDOUBLE配列型フィールドの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestampArray (GSRow *row, int32_t column, const GSTimestamp *fieldValue, size_t size) | 
| 指定のTIMESTAMP配列型フィールドに値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestampArray (GSRow *row, int32_t column, const GSTimestamp **fieldValue, size_t *size) | 
| 指定のTIMESTAMP配列型フィールドの値を取得します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSRowTag GSRow | 
任意のスキーマについて汎用的にフィールド操作できるロウです。
- NULLが設定されたフィールドに対して型指定のフィールド値取得機能を用いた場合、NULLの代わりにGSContainerにて定義されている空の値が求まります。たとえば文字列型カラムに対応するフィールドにNULLが設定されており、かつ、gsGetRowFieldAsStringを用いた場合、NULLアドレスではなく、空の値である長さ0の文字列を指すアドレスが求まります。
- Since
- 1.5
Function Documentation
| GS_DLL_PUBLIC void GS_API_CALL gsCloseRow | ( | GSRow ** | row | ) | 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBlob | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSBlob * | fieldValue | ||
| ) | 
指定のBLOB型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBool | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSBool * | fieldValue | ||
| ) | 
指定のBOOL型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBoolArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSBool ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のBOOL配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByte | ( | GSRow * | row, | 
| int32_t | column, | ||
| int8_t * | fieldValue | ||
| ) | 
指定のBYTE型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByteArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int8_t ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のBYTE配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDouble | ( | GSRow * | row, | 
| int32_t | column, | ||
| double * | fieldValue | ||
| ) | 
指定のDOUBLE型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDoubleArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const double ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のDOUBLE配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloat | ( | GSRow * | row, | 
| int32_t | column, | ||
| float * | fieldValue | ||
| ) | 
指定のFLOAT型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloatArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const float ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のFLOAT配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsGeometry | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSChar ** | fieldValue | ||
| ) | 
指定のGEOMETRY型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsInteger | ( | GSRow * | row, | 
| int32_t | column, | ||
| int32_t * | fieldValue | ||
| ) | 
指定のINTEGER型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsIntegerArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int32_t ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のINTEGER配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLong | ( | GSRow * | row, | 
| int32_t | column, | ||
| int64_t * | fieldValue | ||
| ) | 
指定のLONG型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLongArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int64_t ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のLONG配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShort | ( | GSRow * | row, | 
| int32_t | column, | ||
| int16_t * | fieldValue | ||
| ) | 
指定のSHORT型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShortArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int16_t ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のSHORT配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsString | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSChar ** | fieldValue | ||
| ) | 
指定のSTRING型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsStringArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSChar *const ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のSTRING配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestamp | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSTimestamp * | fieldValue | ||
| ) | 
指定のTIMESTAMP型フィールドの値を取得します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestampArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSTimestamp ** | fieldValue, | ||
| size_t * | size | ||
| ) | 
指定のTIMESTAMP配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldGeneral | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSValue * | fieldValue, | ||
| GSType * | type | ||
| ) | 
指定のフィールドの値とその型を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] type 対象フィールドの値の型を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetRowSchema | ( | GSRow * | row, | 
| GSContainerInfo * | schemaInfo | ||
| ) | 
指定のロウに対応するスキーマを取得します。
- ロウキーの有無を含むカラムレイアウトにする情報のみが設定されたGSContainerInfoが求まります。コンテナ名、コンテナ種別、索引設定、時系列構成オプションなどその他のコンテナ情報は含まれません。
- Attention
- カラム情報の列などの可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用します。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] row 処理対象のGSRow [out] schemaInfo スキーマ情報を格納するためのGSContainerInfoへのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBlob | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSBlob * | fieldValue | ||
| ) | 
指定のBLOB型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBool | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSBool | fieldValue | ||
| ) | 
指定のBOOL型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBoolArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSBool * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のBOOL配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByte | ( | GSRow * | row, | 
| int32_t | column, | ||
| int8_t | fieldValue | ||
| ) | 
指定のBYTE型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByteArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int8_t * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のBYTE配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDouble | ( | GSRow * | row, | 
| int32_t | column, | ||
| double | fieldValue | ||
| ) | 
指定のDOUBLE型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDoubleArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const double * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のDOUBLE配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloat | ( | GSRow * | row, | 
| int32_t | column, | ||
| float | fieldValue | ||
| ) | 
指定のFLOAT型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloatArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const float * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のFLOAT配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByGeometry | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSChar * | fieldValue | ||
| ) | 
指定のGEOMETRY型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByInteger | ( | GSRow * | row, | 
| int32_t | column, | ||
| int32_t | fieldValue | ||
| ) | 
指定のINTEGER型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByIntegerArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int32_t * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のINTEGER配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLong | ( | GSRow * | row, | 
| int32_t | column, | ||
| int64_t | fieldValue | ||
| ) | 
指定のLONG型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLongArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int64_t * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のLONG配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShort | ( | GSRow * | row, | 
| int32_t | column, | ||
| int16_t | fieldValue | ||
| ) | 
指定のSHORT型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShortArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const int16_t * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のSHORT配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByString | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSChar * | fieldValue | ||
| ) | 
指定のSTRING型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByStringArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSChar *const * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のSTRING配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- 配列要素にNULLが含まれる場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestamp | ( | GSRow * | row, | 
| int32_t | column, | ||
| GSTimestamp | fieldValue | ||
| ) | 
指定のTIMESTAMP型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestampArray | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSTimestamp * | fieldValue, | ||
| size_t | size | ||
| ) | 
指定のTIMESTAMP配列型フィールドに値を設定します。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldGeneral | ( | GSRow * | row, | 
| int32_t | column, | ||
| const GSValue * | fieldValue, | ||
| GSType | type | ||
| ) | 
指定のフィールドに値を設定します。
- Attention
- 対象フィールドの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0以上かつカラム数未満の値[in] fieldValue 対象フィールドの値。 typeとしてGS_TYPE_NULLが指定された場合は、指定の内容が参照されることはありません。ただし、NULL以外のポインタ値を指定する必要があります[in] type 対象フィールドの値の型 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 範囲外のカラム番号が指定された場合
- NOT NULL制約の設定されたカラムに対して、フィールド値の型としてGS_TYPE_NULLが指定された場合
- フィールドの値の構成要素のポインタ値としてNULLが含まれていた場合
- フィールドの値がカラムの型と一致しない場合
 
- ポインタ型引数に
- Since
- 1.5
| Typedefs | |
| typedef struct GSRowKeyPredicateTag | GSRowKeyPredicate | 
| ロウキーの合致条件を表します。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowKeyPredicate (GSRowKeyPredicate **predicate) | 
| 指定のGSRowKeyPredicateインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateKeyType (GSRowKeyPredicate *predicate, GSType *keyType) | 
| 合致条件の評価対象とするロウキーの型を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **startKey) | 
| 範囲条件の開始位置とするロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsString (GSRowKeyPredicate *predicate, const GSChar **startKey) | 
| 範囲条件の開始位置とするSTRING型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **startKey) | 
| 範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **startKey) | 
| 範囲条件の開始位置とするLONG型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **startKey) | 
| 範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **finishKey) | 
| 範囲条件の終了位置とするロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsString (GSRowKeyPredicate *predicate, const GSChar **finishKey) | 
| 範囲条件の終了位置とするSTRING型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **finishKey) | 
| 範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **finishKey) | 
| 範囲条件の終了位置とするLONG型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **finishKey) | 
| 範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysGeneral (GSRowKeyPredicate *predicate, const GSValue **keyList, size_t *size) | 
| 個別条件を構成するロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsString (GSRowKeyPredicate *predicate, const GSChar *const **keyList, size_t *size) | 
| 個別条件を構成するSTRING型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsInteger (GSRowKeyPredicate *predicate, const int32_t **keyList, size_t *size) | 
| 個別条件を構成するINTEGER型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsLong (GSRowKeyPredicate *predicate, const int64_t **keyList, size_t *size) | 
| 個別条件を構成するLONG型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **keyList, size_t *size) | 
| 個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *startKey, GSType keyType) | 
| 範囲条件の開始位置とするロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByString (GSRowKeyPredicate *predicate, const GSChar *startKey) | 
| 範囲条件の開始位置とするSTRING型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *startKey) | 
| 範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByLong (GSRowKeyPredicate *predicate, const int64_t *startKey) | 
| 範囲条件の開始位置とするLONG型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *startKey) | 
| 範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *finishKey, GSType keyType) | 
| 範囲条件の終了位置とするロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByString (GSRowKeyPredicate *predicate, const GSChar *finishKey) | 
| 範囲条件の終了位置とするSTRING型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *finishKey) | 
| 範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByLong (GSRowKeyPredicate *predicate, const int64_t *finishKey) | 
| 範囲条件の終了位置とするLONG型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *finishKey) | 
| 範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *key, GSType keyType) | 
| 個別条件の要素の一つとするロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByString (GSRowKeyPredicate *predicate, const GSChar *key) | 
| 個別条件の要素の一つとするSTRING型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByInteger (GSRowKeyPredicate *predicate, int32_t key) | 
| 個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByLong (GSRowKeyPredicate *predicate, int64_t key) | 
| 個別条件の要素の一つとするLONG型ロウキーの値を追加します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByTimestamp (GSRowKeyPredicate *predicate, GSTimestamp key) | 
| 個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSRowKeyPredicateTag GSRowKeyPredicate | 
ロウキーの合致条件を表します。
- gsGetMultipleContainerRowsにおける取得条件を構成するために使用できます。
- 条件の種別として、範囲条件と個別条件の2つの種別があります。両方の種別の条件を共に指定することはできません。条件の内容を何も指定しない場合、対象とするすべてのロウキーに合致することを表します。
- Since
- 1.5
Function Documentation
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByInteger | ( | GSRowKeyPredicate * | predicate, | 
| int32_t | key | ||
| ) | 
個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByLong | ( | GSRowKeyPredicate * | predicate, | 
| int64_t | key | ||
| ) | 
個別条件の要素の一つとするLONG型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByString | ( | GSRowKeyPredicate * | predicate, | 
| const GSChar * | key | ||
| ) | 
個別条件の要素の一つとするSTRING型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByTimestamp | ( | GSRowKeyPredicate * | predicate, | 
| GSTimestamp | key | ||
| ) | 
個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyGeneral | ( | GSRowKeyPredicate * | predicate, | 
| const GSValue * | key, | ||
| GSType | keyType | ||
| ) | 
個別条件の要素の一つとするロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Attention
- 指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULLの場合、設定が解除されます[in] keyType 終了位置とするロウキーの値の型 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- ポインタ型引数にNULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- ポインタ型引数に
- Since
- 1.5
| GS_DLL_PUBLIC void GS_API_CALL gsCloseRowKeyPredicate | ( | GSRowKeyPredicate ** | predicate | ) | 
指定のGSRowKeyPredicateインスタンスを解放します。
- Parameters
- 
  [in,out] predicate クローズ対象のGSRowKeyPredicateインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULLが設定されます。以後、解放したGSRowKeyPredicateインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsInteger | ( | GSRowKeyPredicate * | predicate, | 
| const int32_t ** | keyList, | ||
| size_t * | size | ||
| ) | 
個別条件を構成するINTEGER型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsLong | ( | GSRowKeyPredicate * | predicate, | 
| const int64_t ** | keyList, | ||
| size_t * | size | ||
| ) | 
個別条件を構成するLONG型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsString | ( | GSRowKeyPredicate * | predicate, | 
| const GSChar *const ** | keyList, | ||
| size_t * | size | ||
| ) | 
個別条件を構成するSTRING型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsTimestamp | ( | GSRowKeyPredicate * | predicate, | 
| const GSTimestamp ** | keyList, | ||
| size_t * | size | ||
| ) | 
個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysGeneral | ( | GSRowKeyPredicate * | predicate, | 
| const GSValue ** | keyList, | ||
| size_t * | size | ||
| ) | 
個別条件を構成するロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsInteger | ( | GSRowKeyPredicate * | predicate, | 
| const int32_t ** | finishKey | ||
| ) | 
範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsLong | ( | GSRowKeyPredicate * | predicate, | 
| const int64_t ** | finishKey | ||
| ) | 
範囲条件の終了位置とするLONG型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsString | ( | GSRowKeyPredicate * | predicate, | 
| const GSChar ** | finishKey | ||
| ) | 
範囲条件の終了位置とするSTRING型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsTimestamp | ( | GSRowKeyPredicate * | predicate, | 
| const GSTimestamp ** | finishKey | ||
| ) | 
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyGeneral | ( | GSRowKeyPredicate * | predicate, | 
| const GSValue ** | finishKey | ||
| ) | 
範囲条件の終了位置とするロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeyType | ( | GSRowKeyPredicate * | predicate, | 
| GSType * | keyType | ||
| ) | 
合致条件の評価対象とするロウキーの型を取得します。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] keyType 合致条件の評価対象とするロウキーの型を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsInteger | ( | GSRowKeyPredicate * | predicate, | 
| const int32_t ** | startKey | ||
| ) | 
範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsLong | ( | GSRowKeyPredicate * | predicate, | 
| const int64_t ** | startKey | ||
| ) | 
範囲条件の開始位置とするLONG型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsString | ( | GSRowKeyPredicate * | predicate, | 
| const GSChar ** | startKey | ||
| ) | 
範囲条件の開始位置とするSTRING型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsTimestamp | ( | GSRowKeyPredicate * | predicate, | 
| const GSTimestamp ** | startKey | ||
| ) | 
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyGeneral | ( | GSRowKeyPredicate * | predicate, | 
| const GSValue ** | startKey | ||
| ) | 
範囲条件の開始位置とするロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 引数にNULLが指定された場合
 
- 引数に
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByInteger | ( | GSRowKeyPredicate * | predicate, | 
| const int32_t * | finishKey | ||
| ) | 
範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByLong | ( | GSRowKeyPredicate * | predicate, | 
| const int64_t * | finishKey | ||
| ) | 
範囲条件の終了位置とするLONG型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByString | ( | GSRowKeyPredicate * | predicate, | 
| const GSChar * | finishKey | ||
| ) | 
範囲条件の終了位置とするSTRING型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型では大小関係が定義されていないため、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByTimestamp | ( | GSRowKeyPredicate * | predicate, | 
| const GSTimestamp * | finishKey | ||
| ) | 
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyGeneral | ( | GSRowKeyPredicate * | predicate, | 
| const GSValue * | finishKey, | ||
| GSType | keyType | ||
| ) | 
範囲条件の終了位置とするロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Attention
- 指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULLの場合、設定が解除されます[in] keyType 終了位置とするロウキーの値の型 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByInteger | ( | GSRowKeyPredicate * | predicate, | 
| const int32_t * | startKey | ||
| ) | 
範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByLong | ( | GSRowKeyPredicate * | predicate, | 
| const int64_t * | startKey | ||
| ) | 
範囲条件の開始位置とするLONG型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByString | ( | GSRowKeyPredicate * | predicate, | 
| const GSChar * | startKey | ||
| ) | 
範囲条件の開始位置とするSTRING型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型では大小関係が定義されていないため、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByTimestamp | ( | GSRowKeyPredicate * | predicate, | 
| const GSTimestamp * | startKey | ||
| ) | 
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULLの場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyGeneral | ( | GSRowKeyPredicate * | predicate, | 
| const GSValue * | startKey, | ||
| GSType | keyType | ||
| ) | 
範囲条件の開始位置とするロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Attention
- 指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULLの場合、設定が解除されます[in] keyType 開始位置とするロウキーの値の型 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- predicate引数に- NULLが指定された場合
- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
 
- Since
- 1.5
| Typedefs | |
| typedef struct GSRowSetTag | GSRowSet | 
| クエリ実行より求めたロウの集合を管理します。More... | |
| Functions | |
| GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowSet (GSRowSet **rowSet) | 
| 指定のGSRowSetインスタンスを解放します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteCurrentRow (GSRowSet *rowSet) | 
| 現在のカーソル位置のロウを削除します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextRow (GSRowSet *rowSet, void *rowObj) | 
| ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextAggregation (GSRowSet *rowSet, GSAggregationResult **aggregationResult) | 
| ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextQueryAnalysis (GSRowSet *rowSet, GSQueryAnalysisEntry *queryAnalysis) | 
| ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。More... | |
| GS_DLL_PUBLIC GSRowSetType GS_API_CALL | gsGetRowSetType (GSRowSet *rowSet) | 
| ロウ集合の種別を取得します。More... | |
| GS_DLL_PUBLIC int32_t GS_API_CALL | gsGetRowSetSize (GSRowSet *rowSet) | 
| ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsHasNextRow (GSRowSet *rowSet) | 
| 現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsUpdateCurrentRow (GSRowSet *rowSet, const void *rowObj) | 
| 現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。More... | |
Detailed Description
Typedef Documentation
| typedef struct GSRowSetTag GSRowSet | 
クエリ実行より求めたロウの集合を管理します。
- ロウ単位・ロウフィールド単位での操作機能を持ち、対象とするロウを指し示すためのカーソル状態を保持します。初期状態のカーソルは、ロウ集合の先頭より手前に位置しています。
Function Documentation
| GS_DLL_PUBLIC void GS_API_CALL gsCloseRowSet | ( | GSRowSet ** | rowSet | ) | 
現在のカーソル位置のロウを削除します。
- ロックを有効にして取得したGSRowSetに対してのみ使用できます。また、gsDeleteRowと同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
- 対象位置のロウが存在しない場合
- ロックを有効にせずに取得したGSRowSetに対して呼び出された場合
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
- 引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextAggregation | ( | GSRowSet * | rowSet, | 
| GSAggregationResult ** | aggregationResult | ||
| ) | 
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet [out] aggregationResult 集計結果をGSAggregationResultとして格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のロウ集合の種別がGS_ROW_SET_AGGREGATION_RESULT以外の場合
- 対象位置の集計結果が存在しない場合
- 引数にNULLが指定された場合
- 対応するGSContainerのクローズ後に呼び出された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextQueryAnalysis | ( | GSRowSet * | rowSet, | 
| GSQueryAnalysisEntry * | queryAnalysis | ||
| ) | 
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet [out] queryAnalysis クエリ解析結果エントリの内容を格納するためのGSQueryAnalysisEntry。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、GS_QUERY_ANALYSIS_ENTRY_INITIALIZERと同一の内容の初期値が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のロウ集合の種別がGS_ROW_SET_QUERY_ANALYSIS以外の場合
- 対象位置のエントリが存在しない場合
- 引数にNULLが指定された場合
- 対応するGSContainerのクローズ後に呼び出された場合
 
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。
- GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。
- Attention
- 対応するGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSRowSetと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
- 対象位置のロウが存在しない場合
- 引数にNULLが指定された場合
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 対応するGSContainerのクローズ後に呼び出された場合
 
| GS_DLL_PUBLIC int32_t GS_API_CALL gsGetRowSetSize | ( | GSRowSet * | rowSet | ) | 
ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。
- GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の進行状況によらず、結果を求めることはできません。
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet 
- Returns
- ロウ集合のサイズ。ただし、rowSetにNULLが指定された場合、またはオプション設定の影響によりロウの数を取得できない場合は-1
| GS_DLL_PUBLIC GSRowSetType GS_API_CALL gsGetRowSetType | ( | GSRowSet * | rowSet | ) | 
ロウ集合の種別を取得します。
- ロウ集合の種別に応じて、それぞれ次の取得機能が使用できます。ロウ集合の種別 使用できる取得機能 GS_ROW_SET_CONTAINER_ROWS gsGetNextRow GS_ROW_SET_AGGREGATION_RESULT gsGetNextAggregation GS_ROW_SET_QUERY_ANALYSIS gsGetNextQueryAnalysis 
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet 
- Returns
- ロウ集合の種別。ただし、rowSetにNULLが指定された場合は-1
現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。
- Attention
- 対応するGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] rowSet 処理対象のGSRowSet [in] rowObj 更新するロウの内容と対応するロウオブジェクト。ロウキーの内容は無視されます。 
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
- 対象位置のロウが存在しない場合
- ロックを有効にせずに取得したGSRowSetに対して呼び出された場合
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULLが含まれていた場合
- 引数にNULLが指定された場合
 
| Typedefs | |
| typedef GSContainer | GSTimeSeries | 
| 時刻をロウキーとする、時系列処理に特化したコンテナです。More... | |
| Functions | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAggregateTimeSeries (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *column, GSAggregation aggregation, GSAggregationResult **aggregationResult) | 
| 開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsAppendTimeSeriesRow (GSTimeSeries *timeSeries, const void *rowObj, GSBool *exists) | 
| GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByBaseTime (GSTimeSeries *timeSeries, GSTimestamp base, GSTimeOperator timeOp, void *rowObj, GSBool *exists) | 
| 指定の時刻を基準として、関係する1つのロウを取得します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsInterpolateTimeSeriesRow (GSTimeSeries *timeSeries, GSTimestamp base, const GSChar *column, void *rowObj, GSBool *exists) | 
| 指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesRange (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, GSQuery **query) | 
| 開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesOrderedRange (GSTimeSeries *timeSeries, const GSTimestamp *start, const GSTimestamp *end, GSQueryOrder order, GSQuery **query) | 
| 開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
| GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesSampling (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *const *columnSet, size_t columnCount, GSInterpolationMode mode, int32_t interval, GSTimeUnit intervalUnit, GSQuery **query) | 
| 特定範囲のロウ集合をサンプリングするクエリを作成します。More... | |
Detailed Description
Typedef Documentation
| typedef GSContainer GSTimeSeries | 
時刻をロウキーとする、時系列処理に特化したコンテナです。
- 一般的に、範囲取得や集計演算といった処理は、GSCollectionよりも効率的な実装が選択されます。
- ロウ操作については、GSCollectionと異なり一部制限が設けられています。GSTimeSeriesPropertiesに基づき圧縮オプションが設定されている場合、次のロウ操作を行えません。- 指定ロウの更新
- 指定ロウの削除
- 指定時刻より新しい時刻のロウが存在する場合の、ロウの新規作成
 
- gsQueryもしくはgsGetMultipleContainerRowsなどより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序はロウキーの時刻を基準としてGS_ORDER_ASCENDING相当の順序に整列されます。
- ロック粒度は、1つ以上のロウ集合をひとまとまりとする内部格納単位となります。したがって、特定ロウについてロックする際、そのロウが属する内部格納単位上の他のロウも同時にロックしようとします。
Function Documentation
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAggregateTimeSeries | ( | GSTimeSeries * | timeSeries, | 
| GSTimestamp | start, | ||
| GSTimestamp | end, | ||
| const GSChar * | column, | ||
| GSAggregation | aggregation, | ||
| GSAggregationResult ** | aggregationResult | ||
| ) | 
開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。
- columnは- aggregation次第で無視されることがあります。演算対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻 [in] end 終了時刻 [in] column 集計対象のカラム名。合計演算のように、特定のカラムを対象としない場合は NULL[in] aggregation 集計方法 [out] aggregationResult 集計結果をGSAggregationResultとして格納するためのポインタ変数へのポインタ値。対象時系列の内容と集計方法によっては、 NULLが設定されることもあります。詳細はGSAggregationの定義を参照してください。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナの種別が時系列ではない場合
- 指定の演算方法で許可されていない型のカラムを指定した場合
- 対応する名前のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- ポインタ型引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsAppendTimeSeriesRow | ( | GSTimeSeries * | timeSeries, | 
| const void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。
- GridDB上の現在時刻に相当するTIMESTAMP値をロウキーとする点を除き、gsPutRowと同様に振る舞います。指定のロウオブジェクト内のロウキーは無視されます。
- 圧縮オプションが設定された状態の時系列に対しては、GridDB上の現在時刻より新しい時刻のロウが存在しない場合のみ使用できます。最も新しい時刻を持つ既存ロウの時刻が現在時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。
- 手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。
- Attention
- 指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists GridDB上の現在時刻と一致するロウが存在したかどうかを格納するための、ブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定の時系列について圧縮オプションが設定されており、現在時刻より新しい時刻のロウが存在した場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
- exists以外の引数に- NULLが指定された場合。また、指定のロウオブジェクトについて、文字列など可変長サイズのデータへのポインタ値に- NULLが含まれていた場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByBaseTime | ( | GSTimeSeries * | timeSeries, | 
| GSTimestamp | base, | ||
| GSTimeOperator | timeOp, | ||
| void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
指定の時刻を基準として、関係する1つのロウを取得します。
- Attention
- 指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSTimeSeriesと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] base 基準となる時刻 [in] timeOp 取得方法 [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 条件に一致するロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値が基準時刻として指定された場合
- exists以外のポインタ型引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsInterpolateTimeSeriesRow | ( | GSTimeSeries * | timeSeries, | 
| GSTimestamp | base, | ||
| const GSChar * | column, | ||
| void * | rowObj, | ||
| GSBool * | exists | ||
| ) | 
指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。
- 一致する時系列ロウの指定のカラムの値、もしくは、前後時刻のロウの指定カラムの値を線形補間して得られた値を基にロウオブジェクトを生成します。前後時刻のロウの少なくともいずれか、もしくは、一致するロウが存在しない場合は生成されません。
- 補間対象として指定できるカラムの型は、数値型のみです。指定のカラムならびにロウキー以外のフィールドには、指定時刻と同一またはより前の時刻のロウのうち、最も新しい時刻を持つロウのフィールドの値が設定されます。
- Attention
- 指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSTimeSeriesと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] base 基準となる時刻 [in] column 線形補間対象のカラム [out] rowObj 生成結果を格納するためのロウオブジェクト。生成のために必要とするロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 生成のために必要とするロウが存在したかどうかを格納するための、ブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULLの場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 対応する名前のカラムが存在しない場合。また、サポートされていない型のカラムが指定された場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値が基準時刻として指定された場合
- exists以外のポインタ型引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesOrderedRange | ( | GSTimeSeries * | timeSeries, | 
| const GSTimestamp * | start, | ||
| const GSTimestamp * | end, | ||
| GSQueryOrder | order, | ||
| GSQuery ** | query | ||
| ) | 
開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。
- 取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻または NULL。NULLの場合、指定の時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなします。[in] end 終了時刻または NULL。NULLの場合、指定の時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなします。[in] order 取得するロウ集合の時刻順序。GS_ORDER_ASCENDINGの場合は古い時刻から新しい時刻の順、GS_ORDER_DESCENDINGの場合は新しい時刻から古い時刻の順となります。 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが設定されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナの種別が時系列ではない場合
- start、- end以外のポインタ型引数に- NULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesRange | ( | GSTimeSeries * | timeSeries, | 
| GSTimestamp | start, | ||
| GSTimestamp | end, | ||
| GSQuery ** | query | ||
| ) | 
開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。
- 取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。要求するロウ集合は昇順、すなわち古い時刻から新しい時刻の順となります。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻 [in] end 終了時刻 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが設定されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナの種別が時系列ではない場合
- ポインタ型引数にNULLが指定された場合
 
| GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesSampling | ( | GSTimeSeries * | timeSeries, | 
| GSTimestamp | start, | ||
| GSTimestamp | end, | ||
| const GSChar *const * | columnSet, | ||
| size_t | columnCount, | ||
| GSInterpolationMode | mode, | ||
| int32_t | interval, | ||
| GSTimeUnit | intervalUnit, | ||
| GSQuery ** | query | ||
| ) | 
特定範囲のロウ集合をサンプリングするクエリを作成します。
- サンプリング対象の時刻は、開始時刻に対し非負整数倍のサンプリング間隔を加えた時刻のうち、終了時刻と同じかそれ以前のもののみです。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
- 作成したクエリを実行すると、各サンプリング位置の時刻と一致するロウが存在する場合は該当ロウの値を、存在しない場合はcolumnSetとmode引数の指定に従い補間された値を使用しロウ集合を生成します。個別の補間方法については、GSInterpolationModeの定義を参照してください。
- 補間のために参照する必要のあるロウが存在しない場合、該当するサンプリング時刻のロウは生成されず、該当箇所の数だけ結果件数が減少します。サンプリング間隔をより短く設定すると、補間方法次第では異なるサンプリング時刻であっても同一のロウの内容が使用される可能性が高まります。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることはできません。
- Parameters
- 
  [in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻 [in] end 終了時刻 [in] columnSet modeに基づき特定の補間処理を適用するカラムの名前の集合。文字列ポインタの配列より構成されます。空集合の場合は、適用対象のカラムを何も指定しないことを示します。NULLの場合は、空集合を指定した場合と同様です。[in] columnCount modeに基づき特定の補間処理を適用するカラムの個数[in] mode 補間方法 [in] interval サンプリング間隔。 0および負の値は指定できません[in] intervalUnit サンプリング間隔の時間単位。GS_TIME_UNIT_YEAR、GS_TIME_UNIT_MONTHは指定できません [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。- 指定のコンテナの種別が時系列ではない場合
- columnSet以外のポインタ型引数に- NULLが指定された場合
 
| Macros | |
| #define | GS_TIME_STRING_SIZE_MAX 32 | 
| TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
| Typedefs | |
| typedef int64_t | GSTimestamp | 
| GridDB上のTIMESTAMP型と対応する時刻型です。ミリ秒単位のUNIX時刻を保持します。 | |
| Functions | |
| GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsCurrentTime () | 
| 現在時刻を求めます。More... | |
| GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsAddTime (GSTimestamp timestamp, int32_t amount, GSTimeUnit timeUnit) | 
| 時刻に一定の値を加算します。More... | |
| GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize) | 
| TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。More... | |
| GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTime (const GSChar *str, GSTimestamp *timestamp) | 
| TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。More... | |
Detailed Description
Macro Definition Documentation
| #define GS_TIME_STRING_SIZE_MAX 32 | 
TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。
- See Also
- gsFormatTime
Function Documentation
| GS_DLL_PUBLIC GSTimestamp GS_API_CALL gsAddTime | ( | GSTimestamp | timestamp, | 
| int32_t | amount, | ||
| GSTimeUnit | timeUnit | ||
| ) | 
時刻に一定の値を加算します。
- amountに負の値を指定することで、指定の時刻より前の時刻を求めることができます。
- 現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。
- Parameters
- 
  [in] timestamp 対象とする時刻 [in] amount 加算する値 [in] timeUnit 加算する値の単位 
- Returns
- 加算後のGSTimestamp。次の場合は-1- 年・月単位の加算において桁あふれを起こすなどし、内部のシステムコールに失敗した場合
 
| GS_DLL_PUBLIC GSTimestamp GS_API_CALL gsCurrentTime | ( | ) | 
現在時刻を求めます。
- Returns
- 現在時刻に相当するGSTimestamp。内部のシステムコールに失敗した場合、-1
| GS_DLL_PUBLIC size_t GS_API_CALL gsFormatTime | ( | GSTimestamp | timestamp, | 
| GSChar * | strBuf, | ||
| size_t | bufSize | ||
| ) | 
TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。
- 現バージョンでは、変換の際に使用されるタイムゾーンはUTCです。
- Parameters
- 
  [in] timestamp 対象とする時刻 [out] strBuf 出力先の文字列バッファ。 bufSizeを超えない範囲で終端文字を含む文字列を出力します。bufSizeが1以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBufがNULLまたはbufSizeが0の場合、文字列は出力されません。[in] bufSize 出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ 
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし、内部のシステムコールに失敗した場合は空文字列のサイズに相当する1。
- See Also
- GS_TIME_STRING_SIZE_MAX
| GS_DLL_PUBLIC GSBool GS_API_CALL gsParseTime | ( | const GSChar * | str, | 
| GSTimestamp * | timestamp | ||
| ) | 
TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。
- 現バージョンでは、変換の際に使用されるタイムゾーンはUTCです。
- Parameters
- 
  [in] str 対象とする時刻の文字列表現 [out] timestamp 格納先のGSTimestamp変数へのポインタ値。戻り値がGS_FALSEとなる場合、このポインタ値が NULLではない限り-1が格納されます。
- Returns
- GSTimestamp値への変換に成功し結果を格納できたかどうか。次の場合、GS_FALSEを返します。- 時刻の文字列表記と一致しない文字列が指定された場合
- 内部のシステムコールに失敗した場合
- 引数にNULLが指定された場合
 
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。 More...
#include <gridstore.h>
Detailed Description
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。
ロウオブジェクトにおけるBLOB構造を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| size_t | size | 
| BLOBデータのサイズです。 | |
| const void * | data | 
| BLOBデータの格納先ポインタです。 | |
Detailed Description
ロウオブジェクトにおけるBLOB構造を表します。
コレクションの構成オプションを表します。 More...
#include <gridstore.h>
Detailed Description
コレクションの構成オプションを表します。
- Note
- 現バージョンでは使用されておりません。
特定のカラムの圧縮設定を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | columnName | 
| 設定対象のカラムの名前です。More... | |
| GSBool | relative | 
| 間引き圧縮における判定基準値として、相対誤差を適用するかどうかを示します。More... | |
| double | rate | 
| 相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率です。More... | |
| double | span | 
| 相対誤差あり間引き圧縮における、値がとりうる範囲の最大値と最小値の差です。More... | |
| double | width | 
| 絶対誤差あり間引き圧縮における、誤差境界の幅です。More... | |
Detailed Description
特定のカラムの圧縮設定を表します。
- 時系列を対象とした誤差あり間引き圧縮のカラム別設定に使用します。
Member Data Documentation
| const GSChar* GSColumnCompressionTag::columnName | 
設定対象のカラムの名前です。
- 間引き圧縮方式(GS_COMPRESSION_HI)を選択し、次の型のカラムに対して指定した場合のみ、カラム別の圧縮設定として使用できます。
| double GSColumnCompressionTag::rate | 
相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率です。
- 値がとりうる範囲は、spanメンバと対応します。また、比率は0以上1以下でなければ、時系列を作成することができません。
- 誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeにGS_TRUEを指定)した場合のみ有効です。
| GSBool GSColumnCompressionTag::relative | 
間引き圧縮における判定基準値として、相対誤差を適用するかどうかを示します。
- 間引き圧縮方式(GS_COMPRESSION_HI)以外を選択した場合は無視されます。
| double GSColumnCompressionTag::span | 
相対誤差あり間引き圧縮における、値がとりうる範囲の最大値と最小値の差です。
- 誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeにGS_TRUEを指定)した場合のみ有効です。
| double GSColumnCompressionTag::width | 
絶対誤差あり間引き圧縮における、誤差境界の幅です。
- 誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeにGS_TRUEを指定)した場合のみ有効です。
カラムのスキーマに関する情報を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | name | 
| カラム名です。 | |
| GSType | type | 
| カラムの型、すなわち、カラムに対応する各フィールド値の型です。 | |
| GSIndexTypeFlags | indexTypeFlags | 
| 索引種別を示すフラグ値のビット和です。More... | |
| GSTypeOption | options | 
| カラムに関するオプション設定を示すフラグ値のビット和です。More... | |
Detailed Description
カラムのスキーマに関する情報を表します。
Member Data Documentation
| GSIndexTypeFlags GSColumnInfoTag::indexTypeFlags | 
| GSTypeOption GSColumnInfoTag::options | 
カラムに関するオプション設定を示すフラグ値のビット和です。
- 現バージョンでは、NOT NULL制約または初期値に関連する、以下のフラグ値のみを含めることができます。
- Since
- 3.5
特定のコンテナに関する情報を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | name | 
| コンテナ名です。 | |
| GSContainerType | type | 
| コンテナの種別です。 | |
| size_t | columnCount | 
| カラム数です。 | |
| const GSColumnInfo * | columnInfoList | 
| カラム情報のリストです。More... | |
| GSBool | rowKeyAssigned | 
| ロウキーに対応するカラムが設定されているかどうかを示す真偽値です。More... | |
| GSBool | columnOrderIgnorable | 
| カラム順序が無視できるかどうかを示す真偽値です。More... | |
| const GSTimeSeriesProperties * | timeSeriesProperties | 
| 時系列構成オプションです。More... | |
| size_t | triggerInfoCount | 
| トリガ情報のエントリ数です。More... | |
| const GSTriggerInfo * | triggerInfoList | 
| トリガ情報の一覧です。More... | |
| const GSChar * | dataAffinity | 
| データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列です。More... | |
| size_t | indexInfoCount | 
| 索引情報のエントリ数です。More... | |
| const GSIndexInfo * | indexInfoList | 
| 索引情報の一覧です。More... | |
Detailed Description
特定のコンテナに関する情報を表します。
Member Data Documentation
| const GSColumnInfo* GSContainerInfoTag::columnInfoList | 
カラム情報のリストです。
- カラム数と同一の長さのGSColumnInfoの配列です。各要素はカラムの定義順と対応します。
| GSBool GSContainerInfoTag::columnOrderIgnorable | 
| const GSChar* GSContainerInfoTag::dataAffinity | 
データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列です。
- 同一クラスタノード上の同一管理領域内に格納されるコンテナについて、配置先を最適化するために使用されます。
- データアフィニティが同一のコンテナの内容は、近接する配置先に格納される可能性が高くなります。また、解放期限が設定され、近接する配置先に格納された時系列について、登録頻度などの変更パターンが類似している場合、解放期限に到達したロウの解放処理が効率的に行われる可能性が高くなります。
- コンテナの定義において使用できるデータアフィニティ文字列の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。ただし、文字列を設定した時点で必ずしもすべての制限を検査するとは限りません。特に記載のない限り、データアフィニティ文字列が使用される操作では、ASCIIの大文字・小文字表記の違いが区別されます。
- 値がNULLの場合、標準設定を優先することを示します。
- Since
- 2.1
| size_t GSContainerInfoTag::indexInfoCount | 
索引情報のエントリ数です。
- Since
- 3.5
| const GSIndexInfo* GSContainerInfoTag::indexInfoList | 
索引情報の一覧です。
- Since
- 3.5
| GSBool GSContainerInfoTag::rowKeyAssigned | 
ロウキーに対応するカラムが設定されているかどうかを示す真偽値です。
- コンテナがロウキーを持つ場合、対応するカラム番号は0です。
| const GSTimeSeriesProperties* GSContainerInfoTag::timeSeriesProperties | 
時系列構成オプションです。
- Since
- 1.5
| size_t GSContainerInfoTag::triggerInfoCount | 
トリガ情報のエントリ数です。
- Since
- 1.5
| const GSTriggerInfo* GSContainerInfoTag::triggerInfoList | 
トリガ情報の一覧です。
- Since
- 1.5
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | containerName | 
| コンテナ名です。 | |
| void *const * | rowList | 
| ロウオブジェクトへのアドレスのリストです。More... | |
| size_t | rowCount | 
| ロウオブジェクトの個数です。 | |
Detailed Description
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。
- Since
- 1.5
Member Data Documentation
| void* const* GSContainerRowEntryTag::rowList | 
ロウオブジェクトへのアドレスのリストです。
- 現バージョンでは、GSRowのアドレスのみを要素として含めることができます。
索引の設定内容を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | name | 
| 索引名です。More... | |
| GSIndexTypeFlags | type | 
| 索引種別を示すフラグ値です。More... | |
| int32_t | column | 
| 索引に対応するカラムのカラム番号です。More... | |
| const GSChar * | columnName | 
| 索引に対応するカラムのカラム名です。More... | |
Detailed Description
索引の設定内容を表します。
- Since
- 3.5
Member Data Documentation
| int32_t GSIndexInfoTag::column | 
索引に対応するカラムのカラム番号です。
- Since
- 3.5
| const GSChar* GSIndexInfoTag::columnName | 
索引に対応するカラムのカラム名です。
- Since
- 3.5
| const GSChar* GSIndexInfoTag::name | 
索引名です。
- Since
- 3.5
| GSIndexTypeFlags GSIndexInfoTag::type | 
索引種別を示すフラグ値です。
- デフォルトまたは任意個数の索引種別を含めることができます。複数個の索引種別を含める場合は、各種別のフラグ値のビット和により表現します。コンテナ情報の一部として得られた索引情報では、デフォルトを除くいずれか一つの索引種別のみが設定されます。
- Since
- 3.5
プロパティの構成エントリです。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | name | 
| プロパティエントリの名前です。 | |
| const GSChar * | value | 
| プロパティエントリの値です。 | |
Detailed Description
プロパティの構成エントリです。
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。 More...
#include <gridstore.h>
| Public Attributes | |
| int32_t | id | 
| 一連のエントリ列における、このエントリの位置を示すIDです。More... | |
| int32_t | depth | 
| 他のエントリとの関係を表すための、深さです。More... | |
| const GSChar * | type | 
| このエントリが示す情報の種別です。More... | |
| const GSChar * | valueType | 
| このエントリが示す情報に対応付けられた値の型名です。More... | |
| const GSChar * | value | 
| このエントリが示す情報に対応付けられた値の文字列表現です。 | |
| const GSChar * | statement | 
| このエントリが示す情報に対応するTQL文の一部です。 | |
Detailed Description
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。
- TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。
Member Data Documentation
| int32_t GSQueryAnalysisEntryTag::depth | 
他のエントリとの関係を表すための、深さです。
- このエントリより小さな値のIDを順にたどり、このエントリの深さより1だけ浅いエントリが存在した場合、このエントリは、該当するエントリの内容をより詳しく説明するためのものであることを意味します。
| int32_t GSQueryAnalysisEntryTag::id | 
一連のエントリ列における、このエントリの位置を示すIDです。
- TQLを実行した結果を受け取る場合、IDは1から順に割り当てられます。
| const GSChar* GSQueryAnalysisEntryTag::type | 
このエントリが示す情報の種別です。
- 実行時間といった解析結果の種別、クエリプランの構成要素の種別などを表します。
| const GSChar* GSQueryAnalysisEntryTag::valueType | 
このエントリが示す情報に対応付けられた値の型名です。
- 実行時間といった解析結果などに対応する値の型名です。型の名称は、TQLで定義された基本型のうち次のものです。- STRING
- BOOL
- BYTE
- SHORT
- INTEGER
- LONG
- FLOAT
- DOUBLE
 
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | containerName | 
| コンテナ名です。 | |
| GSRowKeyPredicate * | predicate | 
| コンテナのロウキーについての合致条件です。 | |
Detailed Description
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。
- Since
- 1.5
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| int32_t | rowExpirationTime | 
| ロウの有効期限の基準となる経過期間です。More... | |
| GSTimeUnit | rowExpirationTimeUnit | 
| ロウの有効期限の基準とする経過時間の単位です。More... | |
| int32_t | compressionWindowSize | 
| 間引き圧縮において連続して間引きされるロウの最大期間です。More... | |
| GSTimeUnit | compressionWindowSizeUnit | 
| 間引き圧縮において連続して間引きされるロウの最大期間の単位です。More... | |
| GSCompressionMethod | compressionMethod | 
| 時系列圧縮方式の種別です。 | |
| size_t | compressionListSize | 
| カラム別圧縮設定( compressionList)のエントリ数です。More... | |
| GSColumnCompression * | compressionList | 
| カラム別の圧縮設定です。More... | |
| int32_t | expirationDivisionCount | 
| 期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数です。More... | |
Detailed Description
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。
- カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。
Member Data Documentation
| GSColumnCompression* GSTimeSeriesPropertiesTag::compressionList | 
カラム別の圧縮設定です。
- エントリ数が0の場合、時系列を新規作成または更新する際に無視されます。
| size_t GSTimeSeriesPropertiesTag::compressionListSize | 
カラム別圧縮設定(compressionList)のエントリ数です。
- 1つの時系列に対してパラメータ設定できるカラムの上限数については、GridDBテクニカルリファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。
| int32_t GSTimeSeriesPropertiesTag::compressionWindowSize | 
間引き圧縮において連続して間引きされるロウの最大期間です。
- この期間が設定された時系列のロウについて、前方のロウと指定の期間以上時刻が離れていた場合、間引き圧縮として間引き可能な条件を満たしていたとしても、間引かれなくなります。
- 時系列圧縮方式としてGS_COMPRESSION_NOが設定されていた場合、この期間の設定は無視されます。
- 時系列圧縮方式としてGS_COMPRESSION_HIまたはGS_COMPRESSION_SSが設定されており、この期間として0以下の値が設定された場合、TIMESTAMP型の取りうる値の範囲全体が期間として設定されたとみなされます。
- 前方のロウと指定の期間以上時刻が離れておらず、かつ、間引き圧縮として間引き可能な条件を満たしていたとしても、格納先の内部の配置などによっては間引かれない場合があります。
| GSTimeUnit GSTimeSeriesPropertiesTag::compressionWindowSizeUnit | 
間引き圧縮において連続して間引きされるロウの最大期間の単位です。
- 最大期間の値が明示的に設定されていた場合、GS_TIME_UNIT_YEARまたはGS_TIME_UNIT_MONTHが設定されたオプションを指定して、時系列を作成することはできません。
| int32_t GSTimeSeriesPropertiesTag::expirationDivisionCount | 
期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数です。
- 分割数を設定すると、期限に到達したロウデータの管理領域を解放するための条件を制御できます。期限に到達したロウデータが分割数に相当する期間だけ集まった時点で解放しようとします。
- 分割数の上限については、GridDBテクニカルリファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。
- 値が負の場合、分割数が設定されていないことを示します。0が設定されたオプションを指定して時系列を作成することはできません。
- ロウの有効期限の基準となる経過期間の設定がない場合、この分割数の設定は無視されます。一方、ロウの有効期限の基準となる経過期間の設定がある場合にこの分割数の設定を省略すると、作成される時系列にはGridDBクラスタ上のデフォルトの分割数が設定されます。
- Since
- 2.0
| int32_t GSTimeSeriesPropertiesTag::rowExpirationTime | 
ロウの有効期限の基準となる経過期間です。
- ロウの有効期限の時刻は、ロウキーの時刻から指定の経過期間を加算することで求まります。有効期限の時刻がGridDB上の現在時刻よりも古いロウは、有効期限の切れたロウとみなされます。期限切れのロウは、検索や更新といったロウ操作の対象から外れ、存在しないものとみなされます。対応するGridDB上の内部データは、随時削除されます。
- Attention
- 有効期限超過の判定に使用される現在時刻は、GridDBの各ノードの実行環境に依存します。したがって、ネットワークの遅延や実行環境の時刻設定のずれなどにより、このプロセスの実行環境の現在時刻より前に期限切れ前のロウにアクセスできなくなる場合や、この現在時刻より後に期限切れロウにアクセスできる場合があります。意図しないロウの喪失を避けるために、最低限必要な期間よりも大きな値を設定することを推奨します。
- 作成済みの時系列の設定を変更することはできません。
- 値が負の場合、有効期限はないものとみなされ、明示的に削除操作を行わない限りロウが削除されなくなります。0が設定されたオプションを指定して時系列を作成することはできません。
| GSTimeUnit GSTimeSeriesPropertiesTag::rowExpirationTimeUnit | 
ロウの有効期限の基準とする経過時間の単位です。
- 有効期限の期間値が設定されていた場合、GS_TIME_UNIT_YEARまたはGS_TIME_UNIT_MONTHが設定されたオプションを指定して、時系列を作成することはできません。
トリガに関する情報を表します。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | name | 
| トリガ名です。 | |
| GSTriggerType | type | 
| トリガ種別です。 | |
| const GSChar * | uri | 
| 通知先URIです。 | |
| GSTriggerEventTypeFlags | eventTypeFlags | 
| 監視対象とする更新操作種別です。 | |
| const GSChar *const * | columnSet | 
| 通知対象とするカラム名の集合です。 | |
| size_t | columnCount | 
| 通知対象とするカラム名の数です。 | |
| const GSChar * | jmsDestinationType | 
| JMS通知で使用するJMSデスティネーション種別です。 | |
| const GSChar * | jmsDestinationName | 
| JMS通知で使用するJMSデスティネーション名です。 | |
| const GSChar * | user | 
| 通知先サーバに接続する際のユーザ名です。 | |
| const GSChar * | password | 
| 通知先サーバに接続する際のパスワードです。 | |
Detailed Description
トリガに関する情報を表します。
- Since
- 1.5
ロウフィールドに格納できるいずれかの型の値です。 More...
#include <gridstore.h>
| Public Attributes | |
| const GSChar * | asString | 
| STRING型のロウフィールドに対応する値です。 | |
| GSBool | asBool | 
| BOOL型のロウフィールドに対応する値です。 | |
| int8_t | asByte | 
| BYTE型のロウフィールドに対応する値です。 | |
| int16_t | asShort | 
| SHORT型のロウフィールドに対応する値です。 | |
| int32_t | asInteger | 
| INTEGER型のロウフィールドに対応する値です。 | |
| int64_t | asLong | 
| LONG型のロウフィールドに対応する値です。 | |
| float | asFloat | 
| FLOAT型のロウフィールドに対応する値です。 | |
| double | asDouble | 
| DOUBLE型のロウフィールドに対応する値です。 | |
| GSTimestamp | asTimestamp | 
| TIMESTAMP型のロウフィールドに対応する値です。 | |
| const GSChar * | asGeometry | 
| GEOMETRY型のロウフィールドに対応する値です。 | |
| GSBlob | asBlob | 
| BLOB型のロウフィールドに対応する値です。 | |
| struct { | |
| size_t length | |
| 配列の要素数です。 | |
| union { | |
| const void * data | |
| 配列の要素列へのアドレスです。 | |
| const GSChar *const * asString | |
| STRING型配列の要素列へのアドレスです。 | |
| const GSBool * asBool | |
| BOOL型配列の要素列へのアドレスです。 | |
| const int8_t * asByte | |
| BYTE型配列の要素列へのアドレスです。 | |
| const int16_t * asShort | |
| SHORT型配列の要素列へのアドレスです。 | |
| const int32_t * asInteger | |
| INTEGER型配列の要素列へのアドレスです。 | |
| const int64_t * asLong | |
| LONG型配列の要素列へのアドレスです。 | |
| const float * asFloat | |
| FLOAT型配列の要素列へのアドレスです。 | |
| const double * asDouble | |
| DOUBLE型配列の要素列へのアドレスです。 | |
| const GSTimestamp * asTimestamp | |
| TIMESTAMP型配列の要素列へのアドレスです。 | |
| } elements | |
| 配列の要素です。 | |
| } | asArray | 
| 配列型のロウフィールドに対応する値です。 | |
Detailed Description
ロウフィールドに格納できるいずれかの型の値です。
- Since
- 1.5
6.2 APIサンプル(C言語)
6.2.1 基本: コレクション操作のサンプル(C言語)
#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>
typedef struct {
	const GSChar *name;
	GSBool status;
	uint64_t count;
	const int8_t *lob;
	size_t lobSize;
} Person;
GS_STRUCT_BINDING(Person,
	GS_STRUCT_BINDING_KEY(name, GS_TYPE_STRING)
	GS_STRUCT_BINDING_ELEMENT(status, GS_TYPE_BOOL)
	GS_STRUCT_BINDING_ELEMENT(count, GS_TYPE_LONG)
	GS_STRUCT_BINDING_ARRAY(lob, lobSize, GS_TYPE_BYTE));
// コレクションデータの操作
int sample1(const char *args[5]) {
	static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
	static const GSBool update = GS_TRUE;
	GSGridStore *store;
	GSCollection *col;
	GSQuery *query;
	GSRowSet *rs;
	Person person;
	GSResult ret;
	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);
	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);
	// コレクションの作成
	gsPutCollection(store, "col01",
			GS_GET_STRUCT_BINDING(Person), NULL, GS_FALSE, &col);
	// カラムに索引を設定
	gsCreateIndex(col, "count", GS_INDEX_FLAG_DEFAULT);
	// 自動コミットモードをオフ
	gsSetAutoCommit(col, GS_FALSE);
	// Rowのデータを用意
	person.name = "name01";
	person.status = GS_FALSE;
	person.count = 1;
	person.lob = personLob;
	person.lobSize = sizeof(personLob);
	// KV形式でRowを操作: RowKeyは"name01"
	gsPutRow(col, NULL, &person, NULL);	// 登録
	gsGetRowForUpdate(col, &person.name, &person, NULL);	// 取得(更新用にロック)
	gsDeleteRow(col, &person.name, NULL);	// 削除
	// KV形式でRowを操作: RowKeyは"name02"
	gsPutRowByString(col, "name02", &person, NULL);	// 登録(RowKeyを指定)
	// トランザクションの確定(ロック解除)
	gsCommit(col);
	// コレクション内のRowを検索(クエリ使用)
	gsQuery(col, "select * where name = 'name02'", &query);
	// 検索したRowの取得と更新
	gsFetch(query, update, &rs);
	while (gsHasNextRow(rs)) {
		size_t i;
		// 検索したRowの更新
		gsGetNextRow(rs, &person);
		person.count += 1;
		ret = gsUpdateCurrentRow(rs, &person);
		if (!GS_SUCCEEDED(ret)) break;
		printf("Person:");
		printf(" name=%s", person.name);
		printf(" status=%s", person.status ? "true" : "false");
		printf(" count=%d", (int) person.count);
		printf(" lob=[");
		for (i = 0; i < person.lobSize; i++) {
			if (i > 0) printf(", ");
			printf("%d", (int) person.lob[i]);
		}
		printf("]\n");
	}
	// トランザクションの確定
	ret = gsCommit(col);
	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);
	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}
6.2.2 基本: 時系列操作のサンプル(C言語) ― 登録・範囲取得
#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>
typedef struct {
	GSTimestamp timestamp;
	GSBool active;
	double voltage;
} Point;
GS_STRUCT_BINDING(Point,
	GS_STRUCT_BINDING_KEY(timestamp, GS_TYPE_TIMESTAMP)
	GS_STRUCT_BINDING_ELEMENT(active, GS_TYPE_BOOL)
	GS_STRUCT_BINDING_ELEMENT(voltage, GS_TYPE_DOUBLE));
// 時系列データの登録と範囲取得
int sample2(const char *args[5]) {
	GSGridStore *store;
	GSTimeSeries *ts;
	Point point;
	GSTimestamp now;
	GSTimestamp before;
	GSQuery *query;
	GSRowSet *rs;
	GSResult ret = !GS_RESULT_OK;
	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);
	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);
	// 時系列の作成 (既存の場合は取得のみ)
	gsPutTimeSeries(store, "point01",
			GS_GET_STRUCT_BINDING(Point), NULL, GS_FALSE, &ts);
	// 時系列要素のデータを用意
	point.active = GS_FALSE;
	point.voltage = 100;
	// 時系列要素の登録(グリッドストア側で時刻設定)
	gsAppendTimeSeriesRow(ts, &point, NULL);
	// 指定区間の時系列の取得: 6時間前から直近まで
	now = gsCurrentTime();
	before = gsAddTime(now, -6, GS_TIME_UNIT_HOUR);
	gsQueryByTimeSeriesRange(ts, before, now, &query);
	ret = gsFetch(query, GS_FALSE, &rs);
	while (gsHasNextRow(rs)) {
		GSChar timeStr[GS_TIME_STRING_SIZE_MAX];
		ret = gsGetNextRow(rs, &point);
		if (!GS_SUCCEEDED(ret)) break;
		gsFormatTime(point.timestamp, timeStr, sizeof(timeStr));
		printf("Time=%s", timeStr);
		printf(" Active=%s", point.active ? "true" : "false");
		printf(" Voltage=%.1lf\n", point.voltage);
	}
	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);
	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}
6.2.3 基本: 時系列操作のサンプル(C言語) ― 検索・集計
#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>
typedef struct {
	GSTimestamp timestamp;
	GSBool active;
	double voltage;
} Point;
GS_STRUCT_BINDING(Point,
	GS_STRUCT_BINDING_KEY(timestamp, GS_TYPE_TIMESTAMP)
	GS_STRUCT_BINDING_ELEMENT(active, GS_TYPE_BOOL)
	GS_STRUCT_BINDING_ELEMENT(voltage, GS_TYPE_DOUBLE));
// 時系列データの検索と集計
int sample3(const char *args[5]) {
	GSGridStore *store;
	GSTimeSeries *ts;
	GSQuery *query;
	GSRowSet *rs;
	GSResult ret = !GS_RESULT_OK;
	// 読み取りのみなので、一貫性レベルを緩和(デフォルトはIMMEDIATE)
	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] },
			{ "consistency", "EVENTUAL" } };
	const size_t propCount = sizeof(props) / sizeof(*props);
	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);
	// 時系列の取得(既存の場合は取得のみ)
	// ※sample2と同じPoint構造体を使用
	gsGetTimeSeries(store, "point01", GS_GET_STRUCT_BINDING(Point), &ts);
	// 停止中にもかかわらず電圧が基準値以上の箇所を検索
	gsQuery(ts,
			"select * from point01"
			" where not active and voltage > 50", &query);
	gsFetch(query, GS_FALSE, &rs);
	while (gsHasNextRow(rs)) {
		// 各異常ポイントについて調査
		GSTimestamp hot;
		Point hotPoint;
		GSTimestamp start;
		Point startPoint;
		GSTimestamp end;
		GSAggregationResult *avg;
		double avgValue;
		GSChar hotStr[GS_TIME_STRING_SIZE_MAX];
		ret = gsGetNextRow(rs, &hotPoint);
		if (!GS_SUCCEEDED(ret)) break;
		hot = hotPoint.timestamp;
		// 10分前付近のデータを取得
		start = gsAddTime(hot, -10, GS_TIME_UNIT_MINUTE);
		gsGetRowByBaseTime(
				ts, start, GS_TIME_OPERATOR_NEXT, &startPoint, NULL);
		// 前後10分間の平均値を計算
		end = gsAddTime(hot, 10, GS_TIME_UNIT_MINUTE);
		gsAggregateTimeSeries(
				ts, start, end, "voltage", GS_AGGREGATION_AVERAGE, &avg);
		ret = gsGetAggregationValueAsDouble(avg, &avgValue, NULL);
		if (!GS_SUCCEEDED(ret)) break;
		gsFormatTime(hot, hotStr, sizeof(hotStr));
		printf("[Alert] %s", hotStr);
		printf(" start=%.1lf", startPoint.voltage);
		printf(" hot=%.1lf", hotPoint.voltage);
		printf(" avg=%.1lf\n", avgValue);
	}
	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);
	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}
6.2.4 応用: コレクション操作のサンプル(C言語) ― コンテナ情報を用いてスキーマ定義
#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>
// コンテナ情報を用いてスキーマ定義
int sample4(const char *args[5]) {
	static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
	static const GSBool update = GS_TRUE;
	GSGridStore *store;
	GSContainer *container;
	GSContainerInfo info = GS_CONTAINER_INFO_INITIALIZER;
	GSColumnInfo columnInfo = GS_COLUMN_INFO_INITIALIZER;
	GSColumnInfo columnInfoList[4];
	GSRow *row;
	GSQuery *query;
	GSRowSet *rs;
	GSResult ret;
	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);
	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);
	// コンテナ情報を作成
	columnInfo.name = "name";
	columnInfo.type = GS_TYPE_STRING;
	columnInfoList[0] = columnInfo;
	columnInfo.name = "status";
	columnInfo.type = GS_TYPE_BOOL;
	columnInfoList[1] = columnInfo;
	columnInfo.name = "count";
	columnInfo.type = GS_TYPE_LONG;
	columnInfoList[2] = columnInfo;
	columnInfo.name = "lob";
	columnInfo.type = GS_TYPE_BYTE_ARRAY;
	columnInfoList[3] = columnInfo;
	info.type = GS_CONTAINER_COLLECTION;
	info.name = "col01";
	info.columnCount = sizeof(columnInfoList) / sizeof(*columnInfoList);
	info.columnInfoList = columnInfoList;
	info.rowKeyAssigned = GS_TRUE;
	// コレクションの作成
	gsPutContainerGeneral(store, NULL, &info, GS_FALSE, &container);
	// カラムに索引を設定
	gsCreateIndex(container, "count", GS_INDEX_FLAG_DEFAULT);
	// 自動コミットモードをオフ
	gsSetAutoCommit(container, GS_FALSE);
	// Rowのデータを用意
	{
		const GSChar *name = "name01";
		GSBool status = GS_FALSE;
		int64_t count = 1;
		const int8_t *lobData = personLob;
		size_t lobSize = sizeof(personLob);
		gsCreateRowByStore(store, &info, &row);
		gsSetRowFieldByString(row, 0, name);
		gsSetRowFieldByBool(row, 1, status);
		gsSetRowFieldByLong(row, 2, count);
		gsSetRowFieldByByteArray(row, 3, lobData, lobSize);
	}
	// KV形式でRowを操作: RowKeyは"name01"
	gsPutRow(container, NULL, row, NULL);	// 登録
	gsGetRowByString(container, "name01", row, update, NULL);	// 取得(更新用にロック)
	gsDeleteRowByString(container, "name01", NULL);	// 削除
	// KV形式でRowを操作: RowKeyは"name02"
	gsPutRowByString(container, "name02", row, NULL);	// 登録(RowKeyを指定)
	// 不要ロウオブジェクトの解放
	gsCloseRow(&row);
	// トランザクションの確定(ロック解除)
	gsCommit(container);
	// コレクション内のRowを検索(クエリ使用)
	gsQuery(container, "select * where name = 'name02'", &query);
	// 検索したRowの取得と更新
	gsFetch(query, update, &rs);
	while (gsHasNextRow(rs)) {
		const GSChar *name;
		GSBool status;
		int64_t count;
		const int8_t *lobData;
		size_t lobSize;
		size_t i;
		gsCreateRowByContainer(container, &row);
		// 検索したRowの更新
		gsGetNextRow(rs, row);
		gsGetRowFieldAsString(row, 0, &name);
		gsGetRowFieldAsBool(row, 1, &status);
		gsGetRowFieldAsLong(row, 2, &count);
		gsGetRowFieldAsByteArray(row, 3, &lobData, &lobSize);
		count += 1;
		ret = gsUpdateCurrentRow(rs, row);
		if (!GS_SUCCEEDED(ret) || name == NULL) break;
		printf("Person:");
		printf(" name=%s", name);
		printf(" status=%s", status ? "true" : "false");
		printf(" count=%d", (int) count);
		printf(" lob=[");
		for (i = 0; i < lobSize; i++) {
			if (i > 0) {
				printf(", ");
			}
			printf("%d", (int) lobData[i]);
		}
		printf("]\n");
	}
	// トランザクションの確定
	ret = gsCommit(container);
	// コレクションの削除
	gsDropContainer(store, info.name);
	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);
	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}
6.2.5 応用: コレクション操作のサンプル(C言語) ― 複数コンテナ一括操作
#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>
#define SAMPLE5_CONTAINER_COUNT 5
#define SAMPLE5_ROW_COUNT 2
// 複数コンテナ一括操作
int sample5(const char *args[5]) {
	static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
	static const GSChar *const containerNameList[SAMPLE5_CONTAINER_COUNT] = {
			"col01", "col02", "col03", "col04", "col05"
	};
	static const GSChar *const keyList[SAMPLE5_ROW_COUNT] = {
			"name01", "name02"
	};
	static const size_t containerCount = SAMPLE5_CONTAINER_COUNT;
	static const size_t rowCount = SAMPLE5_ROW_COUNT;
	GSGridStore *store;
	GSContainer *containerList[SAMPLE5_CONTAINER_COUNT];
	GSContainerInfo info = GS_CONTAINER_INFO_INITIALIZER;
	GSColumnInfo columnInfo = GS_COLUMN_INFO_INITIALIZER;
	GSColumnInfo columnInfoList[4];
	GSResult ret;
	int failed = 0;
	size_t i, j;
	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);
	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);
	//コンテナ定義情報を作成
	columnInfo.name = "name";
	columnInfo.type = GS_TYPE_STRING;
	columnInfoList[0] = columnInfo;
	columnInfo.name = "status";
	columnInfo.type = GS_TYPE_BOOL;
	columnInfoList[1] = columnInfo;
	columnInfo.name = "count";
	columnInfo.type = GS_TYPE_LONG;
	columnInfoList[2] = columnInfo;
	columnInfo.name = "lob";
	columnInfo.type = GS_TYPE_BYTE_ARRAY;
	columnInfoList[3] = columnInfo;
	info.type = GS_CONTAINER_COLLECTION;
	info.columnCount = sizeof(columnInfoList) / sizeof(*columnInfoList);
	info.columnInfoList = columnInfoList;
	info.rowKeyAssigned = GS_TRUE;
	// コレクションの作成
	for (i = 0; i < containerCount; i++) {
		const GSChar *name = containerNameList[i];
		gsPutContainerGeneral(store, name, &info, GS_FALSE, &containerList[i]);
	}
	// 複数コレクションのRowを一括登録
	{
		void *allRowList[SAMPLE5_CONTAINER_COUNT][SAMPLE5_ROW_COUNT];
		GSContainerRowEntry inEntry = GS_CONTAINER_ROW_ENTRY_INITIALIZER;
		GSContainerRowEntry inEntryList[SAMPLE5_CONTAINER_COUNT];
		GSBool status = GS_FALSE;
		int64_t count = 1;
		const int8_t *lobData = personLob;
		size_t lobSize = sizeof(personLob);
		for (i = 0; i < containerCount; i++) {
			for (j = 0; j < rowCount; j++) {
				GSRow *row;
				const GSChar *name = keyList[j];
				gsCreateRowByStore(store, &info, &row);
				gsSetRowFieldByString(row, 0, name);
				gsSetRowFieldByBool(row, 1, status);
				gsSetRowFieldByLong(row, 2, count);
				gsSetRowFieldByByteArray(row, 3, lobData, lobSize);
				count++;
				allRowList[i][j] = row;
			}
			inEntry.containerName = containerNameList[i];
			inEntry.rowList = allRowList[i];
			inEntry.rowCount = rowCount;
			inEntryList[i] = inEntry;
		}
		ret = gsPutMultipleContainerRows(store, inEntryList, containerCount);
		failed |= !GS_SUCCEEDED(ret);
		for (i = 0; i < containerCount; i++) {
			for (j = 0; j < rowCount; j++) {
				GSRow *row = allRowList[i][j];
				gsCloseRow(&row);
			}
		}
	}
	// 複数コレクションのRowを一括取得
	{
		GSRowKeyPredicateEntry predEntry =
				GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER;
		GSRowKeyPredicateEntry predEntryValueList[SAMPLE5_CONTAINER_COUNT];
		const GSRowKeyPredicateEntry *predEntryList[SAMPLE5_CONTAINER_COUNT];
		const GSContainerRowEntry *outEntryList;
		size_t outEntryCount;
		GSRow *allRowList[SAMPLE5_CONTAINER_COUNT][SAMPLE5_ROW_COUNT];
		// 取得条件を構築
		for (i = 0; i < containerCount; i++) {
			GSRowKeyPredicate *predicate;
			gsCreateRowKeyPredicate(store, GS_TYPE_STRING, &predicate);
			for (j = 0; j < rowCount; j++) {
				gsAddPredicateKeyByString(predicate, keyList[j]);
			}
			predEntry.containerName = containerNameList[i];
			predEntry.predicate = predicate;
			predEntryValueList[i] = predEntry;
			predEntryList[i] = &predEntryValueList[i];
		}
		ret = gsGetMultipleContainerRows(
				store, predEntryList, containerCount,
				&outEntryList, &outEntryCount);
		failed |= !GS_SUCCEEDED(ret);
		// 取得結果ロウ列をコピー
		for (i = 0; i < containerCount || i < outEntryCount; i++) {
			GSContainerRowEntry outEntry = GS_CONTAINER_ROW_ENTRY_INITIALIZER;
			if (i < outEntryCount) {
				outEntry = outEntryList[i];
			}
			for (j = 0; j < rowCount || j < outEntry.rowCount; j++) {
				GSRow *row = NULL;
				if (j < outEntry.rowCount) {
					row = (GSRow*) outEntry.rowList[j];
				}
				if (i < containerCount && j < rowCount) {
					allRowList[i][j] = row;
				}
				else {
					gsCloseRow(&row);
				}
			}
		}
		// 取得結果を出力
		for (i = 0; i < containerCount; i++) {
			for (j = 0; j < rowCount; j++) {
				GSRow *row = allRowList[i][j];
				const GSChar *name;
				int64_t count;
				gsGetRowFieldAsString(row, 0, &name);
				gsGetRowFieldAsLong(row, 2, &count);
				failed |= (name == NULL);
				if (failed) break;
				printf("Person[%d]:", (int) i);
				printf(" name=%s", name);
				printf(" count=%d\n", (int) count);
				gsCloseRow(&row);
			}
			gsCloseRowKeyPredicate(&predEntryValueList[i].predicate);
		}
	}
	// 複数コレクションのRowを一括検索(クエリ使用)
	{
		GSQuery *queryList[SAMPLE5_CONTAINER_COUNT];
		for (i = 0; i < containerCount; i++) {
			const GSChar *tql = "select * where count >= 0";
			gsQuery(containerList[i], tql, &queryList[i]);
		}
		ret = gsFetchAll(store, queryList, containerCount);
		failed |= !GS_SUCCEEDED(ret);
		for (i = 0; i < containerCount; i++) {
			GSRowSet *rs;
			GSRow *row;
			gsCreateRowByContainer(containerList[i], &row);
			gsGetRowSet(queryList[i], &rs);
			while (gsHasNextRow(rs)) {
				const GSChar *name;
				GSBool status;
				int64_t count;
				const int8_t *lobData;
				size_t lobSize;
				ret = gsGetNextRow(rs, row);
				failed |= !GS_SUCCEEDED(ret);
				if (failed) break;
				gsGetRowFieldAsString(row, 0, &name);
				gsGetRowFieldAsBool(row, 1, &status);
				gsGetRowFieldAsLong(row, 2, &count);
				gsGetRowFieldAsByteArray(row, 3, &lobData, &lobSize);
				count += 1;
				failed |= (name == NULL);
				if (failed) break;
				printf("Person[%d]:", (int) i);
				printf(" name=%s", name);
				printf(" status=%s", status ? "true" : "false");
				printf(" count=%d", (int) count);
				printf(" lob=[");
				for (j = 0; j < lobSize; j++) {
					if (j > 0) {
						printf(", ");
					}
					printf("%d", (int) lobData[j]);
				}
				printf("]\n");
			}
			gsCloseRow(&row);
			gsCloseRowSet(&rs);
			gsCloseQuery(&queryList[i]);
		}
	}
	// コレクションの削除
	for (i = 0; i < containerCount; i++) {
		const GSChar *name = containerNameList[i];
		gsDropContainer(store, name);
	}
	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);
	return (failed ? EXIT_FAILURE : EXIT_SUCCESS);
}
7 付録
7.1 値の範囲
値の上限などの値の範囲を説明します。 システムの制限値については、GridDBテクニカルリファレンスを参照してください。
7.1.1 基本型の取りうる値
以下の基本型の取りうる値は、次の通りです。
| 型 | 取りうる値 | 
|---|---|
| ブール(BOOL)型 | 真または偽 | 
| BYTE型 | -27から27-1 | 
| SHORT型 | -215から215-1 | 
| INTEGER型 | -231から231-1 | 
| LONG型 | -263から263-1 | 
| FLOAT型 | IEEE754準拠 | 
| DOUBLE型 | IEEE754準拠 | 
| 時刻(TIMESTAMP)型 | 西暦1970年1月1日のはじめから西暦9999年12月31日の終わりまで(UTC相当)。精度はミリ秒。うるう秒は扱わない | 
空間(GEOMETRY)型でTQL演算に使用できる値はST_GeomFromText関数が返す任意の値です。このうちコンテナに格納できる値はQUADRATICSURFACE構造を除いたものです。
APIを通じて基本型とマッピングされるオブジェクトの表現範囲は、上記の範囲と異なる場合があります。上記の範囲を超えた値を持つオブジェクトの内容をコンテナに格納することはできませんが、検索条件の構築など、その他操作の可否を規定するものではありません。たとえば、Java APIにて時刻型にマッピングされるjava.util.Dateオブジェクトでは、コンテナに格納できない西暦1970年より前の年の時刻も表現でき、その値をロウキーの条件としてRowKeyPredicateオブジェクトや時系列のサンプリングクエリに含めることができます。しかし、その条件でロウを取得しようとした時点でエラーが検出される可能性があります。マッピングされるオブジェクトの具体的な表現範囲は、個々のオブジェクトの型の定義を参照してください。
8 商標
- GridDBは日本国内における東芝デジタルソリューションズ株式会社の登録商標です。
- OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
- 
その他製品名は、それぞれの所有者の商標または登録商標です。
Copyright (c) 2013-2018 Toshiba Digital Solutions Corporation