GridDB C APIリファレンス
Table of Contents
1 API
1.1 API一覧
GridDBの公開C言語インタフェースを定義します
- インタフェース型
- ユーティリティ
- ヘッダファイル
GridDBのC言語向け公開API. More...
#include <stdlib.h>
#include <stdint.h>
Classes | |
struct | GSPreciseTimestampTag |
GridDB上の高精度のTIMESTAMP型と対応する時刻型です。現バージョンではナノ秒単位までの時刻を保持します。More... | |
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... | |
struct | GSTimeZoneTag |
タイムゾーン情報を表します。More... | |
struct | GSTimestampFormatOptionTag |
日時フォーマットに関するオプション情報を表します。More... | |
Macros | |
#define | GS_CLIENT_VERSION_MAJOR 5 |
GridDBクライアントのメジャーバージョンを表す数値です。 | |
#define | GS_CLIENT_VERSION_MINOR 3 |
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_PRECISE_TIMESTAMP_INITIALIZER { 0, 0 } |
GSPreciseTimestampの初期化子です。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 { NULL, GS_TRIGGER_REST, NULL, 0, NULL, 0, NULL, NULL, NULL } |
GSTriggerInfoの初期化子です。 | |
#define | GS_INDEX_INFO_INITIALIZER { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL, 0, NULL, 0, NULL } |
GSIndexInfoの初期化子です。More... | |
#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_ZONE_INITIALIZER { { 0 } } |
GSTimeZoneの初期化子です。More... | |
#define | GS_TIMESTAMP_DEFAULT 0 |
時刻1970-01-01T00:00:00Z に相当するGSTimestamp値です。More... | |
#define | GS_TIMESAMP_FORMAT_OPTION_INITIALIZER { NULL } |
GSTimestampFormatOptionの初期化子です。More... | |
#define | GS_TIME_STRING_SIZE_MAX GS_INTERNAL_TIME_STRING_SIZE_MAX |
TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
#define | GS_TIME_ZONE_STRING_SIZE_MAX 8 |
GSTimeZone値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
#define | GS_GET_STRUCT_BINDING(type) GS_STRUCT_BINDING_GETTER_NAME(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... | |
#define | GS_STRUCT_BINDING_COMPOSITE_KEY(member, bindingType) |
ユーザ定義構造体メンバと複合ロウキー付きカラムスキーマとの対応関係を定義します。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時刻を保持します。More... | |
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 GSRow | GSRowKey |
ロウキーに関するカラムのみから構成されるGSRowの一種です。More... | |
typedef struct GSRowKeyPredicateTag | GSRowKeyPredicate |
ロウキーの合致条件を表します。More... | |
typedef struct GSPartitionControllerTag | GSPartitionController |
パーティション状態の取得や操作のためのコントローラです。More... | |
typedef int32_t | GSResult |
GridDBに対する命令の実行結果コードの型です。 | |
typedef struct GSPreciseTimestampTag | GSPreciseTimestamp |
GridDB上の高精度のTIMESTAMP型と対応する時刻型です。現バージョンではナノ秒単位までの時刻を保持します。More... | |
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... | |
typedef struct GSTimeZoneTag | GSTimeZone |
タイムゾーン情報を表します。More... | |
typedef struct GSTimestampFormatOptionTag | GSTimestampFormatOption |
日時フォーマットに関するオプション情報を表します。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_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSTimeSeries **timeSeries) |
指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainer (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) |
バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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 | gsCreateRowKeyByStore (GSGridStore *store, const GSContainerInfo *info, GSRowKey **key) |
GSContainerInfoを指定して、GSRowKeyを新規作成します。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 GSResult GS_API_CALL | gsCreateRowKeyPredicateGeneral (GSGridStore *store, const GSContainerInfo *info, GSRowKeyPredicate **predicate) |
指定のGSContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。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_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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 | gsGetRowByPreciseTimestamp (GSContainer *container, const GSPreciseTimestamp *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 | gsPutRowByPreciseTimestamp (GSContainer *container, const GSPreciseTimestamp *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 | gsDeleteRowByPreciseTimestamp (GSContainer *container, const GSPreciseTimestamp *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 | gsGetRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool forUpdate, GSBool *exists) |
指定のGSRowKeyに対応するロウの内容をGSRowとして取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool *exists) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowGeneral (GSContainer *container, GSRowKey *keyObj, GSBool *exists) |
指定のロウキーに対応するロウを削除します。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 | gsSetRowFieldByPreciseTimestamp (GSRow *row, int32_t column, const GSPreciseTimestamp *fieldValue) |
指定の高精度のTIMESTAMP型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsPreciseTimestamp (GSRow *row, int32_t column, GSPreciseTimestamp *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 GSResult GS_API_CALL | gsCreateRowByRow (GSRow *row, GSRow **destRow) |
同一のフィールド値からなる新たなGSRowインスタンスを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyByRow (GSRow *row, GSRowKey **key) |
ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなGSRowKeyインスタンスを作成します。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 GSResult GS_API_CALL | gsGetRowSetSchema (GSRowSet *rowSet, GSContainerInfo *schemaInfo, GSBool *exists) |
このロウ集合に対応するスキーマを取得します。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 GSResult GS_API_CALL | gsGetAggregationValueAsPreciseTimestamp (GSAggregationResult *aggregationResult, GSPreciseTimestamp *value, GSBool *assigned) |
時刻型の集計値を高精度のTIMESTAMP型(GSPreciseTimestamp)で取得します。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 | gsGetPredicateKeySchema (GSRowKeyPredicate *predicate, GSContainerInfo *info) |
合致条件の評価対象とするロウキーのスキーマを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartGeneralKey (GSRowKeyPredicate *predicate, GSRowKey **keyObj) |
範囲条件の開始位置とするロウキーを取得します。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 | gsGetPredicateStartKeyAsPreciseTimestamp (GSRowKeyPredicate *predicate, const GSPreciseTimestamp **startKey) |
範囲条件の開始位置とする高精度のTIMESTAMP型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishGeneralKey (GSRowKeyPredicate *predicate, GSRowKey **keyObj) |
範囲条件の終了位置とするロウキーの値を取得します。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 | gsGetPredicateFinishKeyAsPreciseTimestamp (GSRowKeyPredicate *predicate, const GSPreciseTimestamp **finishKey) |
範囲条件の終了位置とする高精度のTIMESTAMP型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctGeneralKeys (GSRowKeyPredicate *predicate, GSRowKey *const **keyObjList, size_t *size) |
個別条件を構成するロウキーの集合を取得します。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 | gsGetPredicateDistinctKeysAsPreciseTimestamp (GSRowKeyPredicate *predicate, const GSPreciseTimestamp **keyList, size_t *size) |
個別条件を構成する高精度のTIMESTAMP型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
範囲条件の開始位置とするロウキーの値を設定します。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 | gsSetPredicateStartKeyByPreciseTimestamp (GSRowKeyPredicate *predicate, const GSPreciseTimestamp *startKey) |
範囲条件の開始位置とする高精度のTIMESTAMP型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
範囲条件の終了位置とするロウキーの値を設定します。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 | gsSetPredicateFinishKeyByPreciseTimestamp (GSRowKeyPredicate *predicate, const GSPreciseTimestamp *finishKey) |
範囲条件の終了位置とする高精度のTIMESTAMP型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
個別条件の要素の一つとするロウキーの値を追加します。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 GSResult GS_API_CALL | gsAddPredicateKeyByPreciseTimestamp (GSRowKeyPredicate *predicate, const GSPreciseTimestamp *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 int64_t GS_API_CALL | gsGetTimeField (GSTimestamp timestamp, GSTimeUnit timeUnit) |
GSTimestampを構成するフィールド値の一つを取得します。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetZonedTimeField (GSTimestamp timestamp, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetTimeField (GSTimestamp *timestamp, int64_t field, GSTimeUnit timeUnit) |
GSTimestampを構成するフィールド値の一つを設定します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetZonedTimeField (GSTimestamp *timestamp, int64_t field, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを設定します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSTimestamp | gsAddTime (GSTimestamp timestamp, int64_t amount, GSTimeUnit timeUnit) |
時刻に一定の値を加算します。More... | |
GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsAddZonedTime (GSTimestamp timestamp, int64_t amount, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、時刻に一定の値を加算します。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeDiff (GSTimestamp timestamp1, GSTimestamp timestamp2, GSTimeUnit timeUnit) |
二つの時刻間の差分値を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetZonedTimeDiff (GSTimestamp timestamp1, GSTimestamp timestamp2, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、二つの時刻間の差分値を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize) |
TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatZonedTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatPreciseTime (const GSPreciseTimestamp *timestamp, GSChar *strBuf, size_t bufSize, const GSTimestampFormatOption *option) |
指定のオプション設定を用い、高精度のTIMESTAMP値表記に従って時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTime (const GSChar *str, GSTimestamp *timestamp) |
TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParsePreciseTime (const GSChar *str, GSPreciseTimestamp *timestamp, const GSTimestampFormatOption *option) |
通常精度もしくは高精度のTIMESTAMP値表記に従い、指定の文字列に対応するGSPreciseTimestamp値を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeZoneOffset (const GSTimeZone *zone, GSTimeUnit timeUnit) |
指定のタイムゾーンのオフセット値を取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetTimeZoneOffset (GSTimeZone *zone, int64_t offset, GSTimeUnit timeUnit) |
指定のタイムゾーンのオフセット値を設定します。More... | |
GS_DLL_PUBLIC size_t | gsFormatTimeZone (const GSTimeZone *zone, GSChar *strBuf, size_t bufSize) |
TQLのTIMESTAMP値表記に従い、タイムゾーン情報の文字列表現を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTimeZone (const GSChar *str, GSTimeZone *zone) |
TQLのTIMESTAMP値表記に従い、指定のタイムゾーン文字列に対応するGSTimeZone値を求めます。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... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorName (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのエラー名を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorDescription (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーの説明内容を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorParameterCount (void *gsResource, size_t stackIndex) |
指定のリソースに関する直前のエラーに関するパラメータの個数を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterName (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの名前を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterValue (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの値を取得します。More... | |
Detailed Description
GridDBのC言語向け公開API.
Classes | |
struct | GSBlobTag |
ロウオブジェクトにおけるBLOB構造を表します。More... | |
struct | GSPropertyEntryTag |
プロパティの構成エントリです。More... | |
union | GSValueTag |
ロウフィールドに格納できるいずれかの型の値です。More... | |
Macros | |
#define | GS_CLIENT_VERSION_MAJOR 5 |
GridDBクライアントのメジャーバージョンを表す数値です。 | |
#define | GS_CLIENT_VERSION_MINOR 3 |
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... | |
Typedefs | |
typedef char | GSChar |
GridDB APIで使用される標準の文字の型です。More... | |
typedef char | GSBool |
GridDB APIで使用されるブール型です。More... | |
typedef int32_t | GSEnum |
列挙型 | |
typedef int32_t | GSResult |
GridDBに対する命令の実行結果コードの型です。 | |
typedef struct GSBlobTag | GSBlob |
ロウオブジェクトにおけるBLOB構造を表します。 | |
typedef struct GSPropertyEntryTag | GSPropertyEntry |
プロパティの構成エントリです。 | |
typedef GSEnum | GSType |
typedef union GSValueTag | GSValue |
ロウフィールドに格納できるいずれかの型の値です。More... | |
Enumerations | |
enum | GSTypeTag { GS_TYPE_STRING, GS_TYPE_BOOL, GS_TYPE_BYTE, GS_TYPE_SHORT, GS_TYPE_INTEGER, GS_TYPE_LONG, GS_TYPE_FLOAT, GS_TYPE_DOUBLE, GS_TYPE_TIMESTAMP, GS_TYPE_GEOMETRY, GS_TYPE_BLOB, GS_TYPE_STRING_ARRAY, GS_TYPE_BOOL_ARRAY, GS_TYPE_BYTE_ARRAY, GS_TYPE_SHORT_ARRAY, GS_TYPE_INTEGER_ARRAY, GS_TYPE_LONG_ARRAY, GS_TYPE_FLOAT_ARRAY, GS_TYPE_DOUBLE_ARRAY, GS_TYPE_TIMESTAMP_ARRAY, GS_TYPE_NULL = -1, GS_TYPE_PRECISE_TIMESTAMP = -2 } |
GridDB上のフィールド値の型を表します。More... | |
Detailed Description
Macro Definition Documentation
#define GS_RESULT_OK 0 |
GridDBに対する命令の実行に成功したことを示す、実行結果コードの値です。
- See Also
- GSResult
#define GS_SUCCEEDED | ( | result | ) | ((result) == GS_RESULT_OK) |
実行結果コードに基づきGridDBに対する命令の実行に成功したかどうかのブール値を求めるマクロです。
- See Also
- GS_RESULT_OK
- GSResult
Typedef Documentation
typedef char GSBool |
GridDB APIで使用されるブール型です。
- GridDB上のBOOL型と対応します。
typedef char GSChar |
GridDB APIで使用される標準の文字の型です。
- この型の文字列エンコーディングは常にUTF-8です。
typedef union GSValueTag GSValue |
ロウフィールドに格納できるいずれかの型の値です。
- Since
- 1.5
Enumeration Type Documentation
enum GSTypeTag |
GridDB上のフィールド値の型を表します。
Enumerator | |
---|---|
GS_TYPE_STRING |
STRING型です。 |
GS_TYPE_BOOL |
BOOL型です。 |
GS_TYPE_BYTE |
BYTE型です。 |
GS_TYPE_SHORT |
SHORT型です。 |
GS_TYPE_INTEGER |
INTEGER型です。 |
GS_TYPE_LONG |
LONG型です。 |
GS_TYPE_FLOAT |
FLOAT型です。 |
GS_TYPE_DOUBLE |
DOUBLE型です。 |
GS_TYPE_TIMESTAMP |
TIMESTAMP型です。
|
GS_TYPE_GEOMETRY |
GEOMETRY型です。 |
GS_TYPE_BLOB |
BLOB型です。 |
GS_TYPE_STRING_ARRAY |
STRING型配列です。 |
GS_TYPE_BOOL_ARRAY |
BOOL型配列です。 |
GS_TYPE_BYTE_ARRAY |
BYTE型配列です。 |
GS_TYPE_SHORT_ARRAY |
SHORT型配列です。 |
GS_TYPE_INTEGER_ARRAY |
INTEGER型配列です。 |
GS_TYPE_LONG_ARRAY |
LONG型配列です。 |
GS_TYPE_FLOAT_ARRAY |
FLOAT型配列です。 |
GS_TYPE_DOUBLE_ARRAY |
DOUBLE型配列です。 |
GS_TYPE_TIMESTAMP_ARRAY |
TIMESTAMP型配列です。 |
GS_TYPE_NULL |
ロウフィールドにNULLが設定されていることを示します。
|
GS_TYPE_PRECISE_TIMESTAMP |
高精度のTIMESTAMP値であることを示します。
|
Classes | |
struct | GSBindingTag |
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。More... | |
Macros | |
#define | GS_GET_STRUCT_BINDING(type) GS_STRUCT_BINDING_GETTER_NAME(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... | |
#define | GS_STRUCT_BINDING_COMPOSITE_KEY(member, bindingType) |
ユーザ定義構造体メンバと複合ロウキー付きカラムスキーマとの対応関係を定義します。More... | |
Typedefs | |
typedef struct GSBindingTag | GSBinding |
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。 | |
Detailed Description
Macro Definition Documentation
#define GS_GET_STRUCT_BINDING | ( | type | ) | GS_STRUCT_BINDING_GETTER_NAME(type) () |
ユーザ定義構造体とコンテナスキーマとの対応関係の定義を取得します。
- 指定の定義名のGS_STRUCT_BINDINGの定義を参照できるようにする必要があります。
- Parameters
-
type 対応関係の定義名。
- Returns
- 対応関係を示すGSBinding*型の値
- See Also
- GS_STRUCT_BINDING
#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_COMPOSITE_KEY | ( | member, | |
bindingType | |||
) |
ユーザ定義構造体メンバと複合ロウキー付きカラムスキーマとの対応関係を定義します。
- Parameters
-
member 構造体メンバの名前 bindingType 複合ロウキーを構成するユーザ定義構造体の名前。対応する複合ロウキーの構成については、別途GS_STRUCT_BINDINGを通じて定義されていなければならない
- See Also
- GS_STRUCT_BINDING
- Since
- 4.3
#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
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... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorName (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのエラー名を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorDescription (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーの説明内容を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorParameterCount (void *gsResource, size_t stackIndex) |
指定のリソースに関する直前のエラーに関するパラメータの個数を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterName (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの名前を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterValue (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの値を取得します。More... | |
Detailed Description
Function Documentation
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorDescription | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーの説明内容を取得します。
- 説明内容は、エラーメッセージのうち、エラー番号・エラー名を除いた部分に相当します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラーの説明内容を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize エラーの説明内容を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorLocation | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。
- 設定によっては常に空文字列しか求まらない場合があります。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラー位置情報を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize エラー位置情報を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorMessage | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーのメッセージを取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラーメッセージを格納する文字列バッファ。 NULL
の場合、有効な結果を取得できません。NULL
ではなく、別の原因で有効な結果が取得できなかった場合、bufSize
が正の値であれば空文字列を格納します。[in] bufSize エラーメッセージを格納する文字列バッファの終端文字を含む文字数。格納する文字列の終端文字を含む文字数の方が大きい場合、終端文字を除く後方の文字列を切り詰めて格納します。 0
の場合、文字列バッファにアクセスしません。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorName | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーのエラー名を取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラー名を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize エラー名を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorParameterName | ( | void * | gsResource, |
size_t | stackIndex, | ||
size_t | parameterIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーに関するパラメータの名前を取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [in] parameterIndex エラーに関するパラメータ集合のインデックス。 0
以上、かつ、パラメータの個数未満の値を指定した場合のみ、有効な結果を取得できます。[out] strBuf パラメータ名を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize パラメータ名を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- See Also
- gsGetErrorParameterCount
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorParameterValue | ( | void * | gsResource, |
size_t | stackIndex, | ||
size_t | parameterIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーに関するパラメータの値を取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [in] parameterIndex エラーに関するパラメータ集合のインデックス。gsFormatErrorParameterNameの同名の引数と同様です。 [out] strBuf パラメータ値を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize パラメータ値を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- See Also
- gsGetErrorParameterCount
- Since
- 4.2
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetErrorCode | ( | void * | gsResource, |
size_t | stackIndex | ||
) |
指定のリソースに関する直前のエラーのエラーコードを取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。 0
以上スタックサイズ未満の値を指定した場合のみ、有効な結果を取得できます。
- Returns
- エラーコード。該当する情報を取得できなかった場合、GS_RESULT_OK以外の値
GS_DLL_PUBLIC size_t GS_API_CALL gsGetErrorParameterCount | ( | void * | gsResource, |
size_t | stackIndex | ||
) |
指定のリソースに関する直前のエラーに関するパラメータの個数を取得します。
- エラーに関する内容のうち、特定の情報についてはパラメータとして取り出すことができます。各パラメータは、名前と値を持ちます。パラメータの個数に基づく各インデックス値を通じ、順不同にパラメータを列挙することができます。取得できるパラメータについては、エラーを引き起こした操作に関する、個々のインタフェースまたは関連するインタフェースの定義を参照してください。
- 取得できるパラメータの内容は、gsFormatErrorMessageもしくはgsFormatErrorDescriptionより求まる文字列にも原則として含まれます。一方、この文字列から特定の情報だけを一定の文字列解析規則で取り出せるとは限りません。特定のバージョンのある状況下では取り出せたとしても、別の条件では意図しない情報が求まるなどして取り出せない可能性があります。エラーに関するパラメータを個々に取得することで、インタフェースの定義で明記された一部の情報については、文字列解析を行わずに取り出せます。
- エラーに関するパラメータだけを記録し、メッセージ文字列などその他のエラー内容を記録しなかった場合、記録された内容からエラーの原因を特定することが困難となる可能性があります。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。
- Returns
- エラーに関するパラメータの個数。該当する情報を取得できなかった場合、
0
- Since
- 4.2
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... | |
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 GSResult GS_API_CALL | gsGetAggregationValueAsPreciseTimestamp (GSAggregationResult *aggregationResult, GSPreciseTimestamp *value, GSBool *assigned) |
時刻型の集計値を高精度のTIMESTAMP型(GSPreciseTimestamp)で取得します。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
によって次のように決まります。valueType
value
の型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
が指定された場合
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 gsGetAggregationValueAsPreciseTimestamp | ( | GSAggregationResult * | aggregationResult, |
GSPreciseTimestamp * | value, | ||
GSBool * | assigned | ||
) |
時刻型の集計値を高精度のTIMESTAMP型(GSPreciseTimestamp)で取得します。
- TIMESTAMP型以外の値を保持している場合、
assigned
引数にはGS_FALSEが格納されます。
- 高精度のTIMESTAMP値を保持している場合、通常精度の値に変換したものが求まります。
- Parameters
-
[in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULL
が指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
assigned
以外の引数にNULL
が指定された場合
- Since
- 5.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsTimestamp | ( | GSAggregationResult * | aggregationResult, |
GSTimestamp * | value, | ||
GSBool * | assigned | ||
) |
時刻型の集計値を通常精度のTIMESTAMP型(GSTimestamp)で取得します。
- TIMESTAMP型以外の値を保持している場合、
assigned
引数にはGS_FALSEが格納されます。
- 通常精度のTIMESTAMP値を保持している場合、高精度の値に変換したものが求まります。
- Parameters
-
[in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULL
が指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
assigned
以外の引数にNULL
が指定された場合
- Since
- 3.5
Classes | |
struct | GSCollectionPropertiesTag |
コレクションの構成オプションを表します。More... | |
Macros | |
#define | GS_COLLECTION_PROPERTIES_INITIALIZER { 0 } |
GSCollectionPropertiesの初期化子です。 | |
Typedefs | |
typedef GSContainer | GSCollection |
ロウ集合を汎用的に管理するためのコンテナです。More... | |
typedef GSEnum | GSGeometryOperator |
typedef struct GSCollectionPropertiesTag | GSCollectionProperties |
コレクションの構成オプションを表します。More... | |
Enumerations | |
enum | GSGeometryOperatorTag { GS_GEOMETRY_OPERATOR_INTERSECT } |
空間範囲同士の関係性についての制約を定義します。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などより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序は不定となります。
- ロック粒度はロウ単位です。
typedef struct GSCollectionPropertiesTag GSCollectionProperties |
コレクションの構成オプションを表します。
- Note
- 現バージョンでは使用されておりません。
typedef GSEnum GSGeometryOperator |
- See Also
- GSGeometryOperatorTag
Enumeration Type Documentation
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
が指定された場合
Classes | |
struct | GSColumnInfoTag |
カラムのスキーマに関する情報を表します。More... | |
struct | GSTriggerInfoTag |
トリガに関する情報を表します。More... | |
struct | GSIndexInfoTag |
索引の設定内容を表します。More... | |
struct | GSContainerInfoTag |
特定のコンテナに関する情報を表します。More... | |
Macros | |
#define | GS_COLUMN_INFO_INITIALIZER { NULL, GS_TYPE_STRING, GS_INDEX_FLAG_DEFAULT, 0 } |
GSColumnInfoの初期化子です。 | |
#define | GS_TRIGGER_INFO_INITIALIZER { NULL, GS_TRIGGER_REST, NULL, 0, NULL, 0, NULL, NULL, NULL } |
GSTriggerInfoの初期化子です。 | |
#define | GS_INDEX_INFO_INITIALIZER { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL, 0, NULL, 0, NULL } |
GSIndexInfoの初期化子です。More... | |
#define | GS_CONTAINER_INFO_INITIALIZER |
GSContainerInfoの初期化子です。 | |
Typedefs | |
typedef struct GSContainerTag | GSContainer |
同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。More... | |
typedef int32_t | GSIndexTypeFlags |
typedef GSEnum | GSContainerType |
typedef int32_t | GSTypeOption |
カラムに関するオプション設定を示すフラグ値のビット和です。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 |
特定のコンテナに関する情報を表します。 | |
Enumerations | |
enum | GSIndexTypeFlagTag { GS_INDEX_FLAG_DEFAULT = -1, GS_INDEX_FLAG_TREE = 1 << 0, GS_INDEX_FLAG_HASH = 1 << 1, GS_INDEX_FLAG_SPATIAL = 1 << 2 } |
GSContainerに設定する索引の種別を示します。More... | |
enum | GSContainerTypeTag { GS_CONTAINER_COLLECTION, GS_CONTAINER_TIME_SERIES } |
コンテナの種別を表します。More... | |
enum | GSTypeOptionTag { GS_TYPE_OPTION_NULLABLE = 1 << 1, GS_TYPE_OPTION_NOT_NULL = 1 << 2, GS_TYPE_OPTION_DEFAULT_VALUE_NULL = 1 << 3, GS_TYPE_OPTION_DEFAULT_VALUE_NOT_NULL = 1 << 4, GS_TYPE_OPTION_TIME_MILLI = 1 << 5, GS_TYPE_OPTION_TIME_MICRO = 1 << 6, GS_TYPE_OPTION_TIME_NANO = 1 << 7 } |
カラムに関するオプション設定を示します。More... | |
enum | GSTriggerTypeTag { GS_TRIGGER_REST, GS_TRIGGER_JMS } |
トリガの種別を表します。More... | |
enum | GSTriggerEventTypeFlagTag { GS_TRIGGER_EVENT_PUT = 1 << 0, GS_TRIGGER_EVENT_DELETE = 1 << 1 } |
トリガで監視対象とする更新操作種別を表します。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_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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 | gsGetRowByPreciseTimestamp (GSContainer *container, const GSPreciseTimestamp *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 | gsPutRowByPreciseTimestamp (GSContainer *container, const GSPreciseTimestamp *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 | gsDeleteRowByPreciseTimestamp (GSContainer *container, const GSPreciseTimestamp *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 | gsGetRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool forUpdate, GSBool *exists) |
指定のGSRowKeyに対応するロウの内容をGSRowとして取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool *exists) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowGeneral (GSContainer *container, GSRowKey *keyObj, GSBool *exists) |
指定のロウキーに対応するロウを削除します。More... | |
Detailed Description
Macro Definition Documentation
#define GS_INDEX_INFO_INITIALIZER { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL, 0, NULL, 0, NULL } |
GSIndexInfoの初期化子です。
- Since
- 3.5
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 TIMESTAMP(高精度:マイクロ・ナノ秒) GSPreciseTimestamp 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) 数値型 0
TIMESTAMP 1970-01-01T00:00:00Z
GEOMETRY POINT(EMPTY)
BLOB 長さ0のBLOBデータ 配列型 要素数0の配列
- 日時精度は、GSTypeOptionの日時精度に関するオプションにより明示的に指定できます。
- トランザクション処理では、デフォルトで自動コミットモードが有効になっています。自動コミットモードでは、変更操作は逐次確定し、明示的に取り消すことができません。手動コミットモードにおいて、GSContainerインスタンスを介した操作によりクラスタノード上でエラーが検出された場合、コミット前の更新操作はすべて取り消されます。トランザクション分離レベルはREAD COMMITTEDのみをサポートします。ロック粒度は、コンテナの種別によって異なります。
- ロウの更新・追加・削除、ならびに更新用ロック獲得を行った場合、内部でトランザクションが生成されます。このトランザクションには、有効期限が存在します。これらの操作をあるGSContainerインスタンスに対してはじめて行った時刻を起点として、GridDB上で定められている期間だけ経過した後に、さらに同様の操作やトランザクション操作を行おうとすると、該当するGSContainerインスタンスを介した以降の操作は常に失敗するようになります。
- あるコンテナへの操作要求に対するクラスタノード上での処理が開始され、終了するまでの間、同一のコンテナに対する操作が待機させられる場合があります。ここでの操作には、コンテナのスキーマや索引などの定義変更、コンテナ情報の参照、ロウ操作などが含まれます。一貫性レベルが
IMMEDIATE
のGSGridStoreインスタンスを通じてコンテナを操作する場合、同一のコンテナに対するIMMEDIATE
設定での他の操作処理の途中、原則としては待機させられます。また、コンテナに対する他の操作処理の途中の状態に基づいて処理が行われることは、原則としてはありません。例外事項については、個別の操作ごとの説明を参照してください。
typedef GSEnum GSContainerType |
- See Also
- GSContainerTypeTag
typedef struct GSIndexInfoTag GSIndexInfo |
索引の設定内容を表します。
- Since
- 3.5
typedef int32_t GSIndexTypeFlags |
- See Also
- GSIndexTypeFlagTag
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
Enumeration Type Documentation
enum GSContainerTypeTag |
enum GSIndexTypeFlagTag |
GSContainerに設定する索引の種別を示します。
Enumerator | |
---|---|
GS_INDEX_FLAG_DEFAULT |
デフォルトの索引を示します。
|
GS_INDEX_FLAG_TREE |
ツリー索引を示します。
|
GS_INDEX_FLAG_HASH |
ハッシュ索引を示します。
|
GS_INDEX_FLAG_SPATIAL |
空間索引を示します。
|
enum GSTriggerTypeTag |
enum GSTypeOptionTag |
カラムに関するオプション設定を示します。
- See Also
- GSTypeOption
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_STATIC_HEADER_FUNC_SPECIFIER GSResult 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 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 gsDeleteRowByPreciseTimestamp | ( | GSContainer * | container, |
const GSPreciseTimestamp * | 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
- Since
- 5.3
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 gsDeleteRowGeneral | ( | GSContainer * | container, |
GSRowKey * | keyObj, | ||
GSBool * | exists | ||
) |
指定のロウキーに対応するロウを削除します。
- ロウキーを持つコンテナであれば、ロウキーを構成するカラム数やカラム型によらず使用できます。対応するロウが存在しない場合は何も変更しません。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] keyObj 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
exists
以外の引数にNULL
が指定された場合。また、key
に対応する文字列キーのポインタ値がNULL
の場合
- Since
- 4.3
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_STATIC_HEADER_FUNC_SPECIFIER GSResult 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 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* 複合ロウキー GSRowKey* [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 gsGetRowByPreciseTimestamp | ( | GSContainer * | container, |
const GSPreciseTimestamp * | 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
- Since
- 5.3
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 gsGetRowGeneral | ( | GSContainer * | container, |
GSRowKey * | keyObj, | ||
GSRow * | rowObj, | ||
GSBool | forUpdate, | ||
GSBool * | exists | ||
) |
指定のGSRowKeyに対応するロウの内容をGSRowとして取得します。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- Parameters
-
[in] container 処理対象のGSContainer [in] keyObj 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーが存在しない場合
- 自動コミットモードであるにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
- Since
- 4.3
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 gsPutRowByPreciseTimestamp | ( | GSContainer * | container, |
const GSPreciseTimestamp * | 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
- Since
- 5.3
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 gsPutRowGeneral | ( | GSContainer * | container, |
GSRowKey * | keyObj, | ||
GSRow * | rowObj, | ||
GSBool * | exists | ||
) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。
- ロウキーを構成するカラム数やカラム型によらず使用できます。
- ロウキーに対応するカラムが存在する場合、ロウキーとコンテナの状態を基に、ロウを新規作成するか、更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクトとは別にロウキーを指定した場合、ロウオブジェクト内のロウキーより優先して使用されます。
- ロウキーに対応するカラムを持たない場合、常に新規のロウを作成します。この場合、別途指定するロウキーには、常に
NULL
を指定します。
- ただし、コンテナの種別ならびに設定によっては、gsPutRowと同様の制限が設けられています。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] keyObj 処理対象のロウキー。ロウキーに対応するカラムが存在しない場合、もしくは指定のロウオブジェクト内のキーを用いる場合は NULL
を指定します。[in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しないにもかかわらず、キーが指定された場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkey
がNULL
であるにもかかわらず、ロウキーのフィールドに同様にNULL
が含まれていた場合
- See Also
- gsPutRow
- Since
- 4.3
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
が指定された場合
Classes | |
struct | GSContainerRowEntryTag |
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。More... | |
struct | GSRowKeyPredicateEntryTag |
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。More... | |
Macros | |
#define | GS_CONTAINER_ROW_ENTRY_INITIALIZER { NULL, NULL, 0 } |
GSContainerRowEntryの初期化子です。More... | |
#define | GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER { NULL, NULL } |
GSRowKeyPredicateEntryの初期化子です。More... | |
Typedefs | |
typedef struct GSGridStoreTag | GSGridStore |
1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。More... | |
typedef struct GSContainerRowEntryTag | GSContainerRowEntry |
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。More... | |
typedef struct GSRowKeyPredicateEntryTag | GSRowKeyPredicateEntry |
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。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_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSTimeSeries **timeSeries) |
指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainer (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) |
バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | 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 | gsCreateRowKeyByStore (GSGridStore *store, const GSContainerInfo *info, GSRowKey **key) |
GSContainerInfoを指定して、GSRowKeyを新規作成します。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 GSResult GS_API_CALL | gsCreateRowKeyPredicateGeneral (GSGridStore *store, const GSContainerInfo *info, GSRowKeyPredicate **predicate) |
指定のGSContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。More... | |
Detailed Description
Macro Definition Documentation
#define GS_CONTAINER_ROW_ENTRY_INITIALIZER { NULL, NULL, 0 } |
GSContainerRowEntryの初期化子です。
- Since
- 1.5
#define GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER { NULL, NULL } |
GSRowKeyPredicateEntryの初期化子です。
- Since
- 1.5
Typedef Documentation
typedef struct GSContainerRowEntryTag GSContainerRowEntry |
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。
- Since
- 1.5
typedef struct GSGridStoreTag GSGridStore |
1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。
- コレクションや時系列といったコンテナの追加・削除・構成変更、ならびに、コンテナを構成するロウの操作機能を提供します。
- コンテナ種別などの違いによらず、1つのデータベースのコンテナ間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。コンテナ名は、ベースコンテナ名単独、もしくは、ベースコンテナ名の後ろにノードアフィニティ名をアットマーク「@」で連結した形式で表記します。その他、コンテナの定義において使用できるコンテナ名の文字種や長さには制限があります。具体的には、GridDB機能リファレンスを参照してください。特に記載のない限り、コンテナ名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースに対する操作を通じてエラーが発生した場合、エラーに関する次のパラメータを取得できることがあります。
パラメータ名 説明 address 接続先クラスタノードのアドレス・ポート。ホスト名またはIPアドレスとポート番号とをコロン「:」で連結した文字列により構成されます。このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースにおいて、クラスタへのアクセスを伴う操作を呼び出した際にエラーを検知すると、このパラメータを含むことがあります。このパラメータを含む場合、パラメータが示すクラスタノードにおいてエラーの詳細が記録されていることがあります。 container エラーに関係しうるコンテナの名前。任意個数のコンテナを一括して扱う操作において、そのうち少なくとも一つのコンテナについての操作を行えないことが判明した場合に、このパラメータを含むことがあります。任意個数のコンテナを扱う具体的な操作については、個々のインタフェースの定義を参照してください。クラスタノードへのリクエスト準備段階でのリソース不足など、どのコンテナの問題か特定し切れないことがあるため、どのようなエラーでもこのパラメータを含むとは限りません。また、複数のコンテナについて操作できない可能性があったとしても、パラメータに含まれるのは高々一つのコンテナの名前のみです。
- この型のポインタを第一引数とする関数のスレッド安全性は保証されません。
typedef struct GSRowKeyPredicateEntryTag GSRowKeyPredicateEntry |
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。
- Since
- 1.5
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 gsCreateRowKeyByStore | ( | GSGridStore * | store, |
const GSContainerInfo * | info, | ||
GSRowKey ** | key | ||
) |
GSContainerInfoを指定して、GSRowKeyを新規作成します。
- ロウキー以外のカラムに関する情報は無視されます。それ以外はgsCreateRowByStoreと同様に振る舞います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] info カラムレイアウトを含むコンテナ情報。その他の内容は無視される [out] key GSRowKeyインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーを持たないコンテナ情報が指定された場合
- コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
- 引数に
NULL
が指定された場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowKeyPredicate | ( | GSGridStore * | store, |
GSType | keyType, | ||
GSRowKeyPredicate ** | predicate | ||
) |
指定のGSTypeをロウキーの型とする合致条件を作成します。
- 合致条件の評価対象とするコンテナは、単一カラムからなるロウキーを持ち、かつ、そのロウキーの型は指定のGSTypeと同一の型でなければなりません。
- 設定可能なロウキーの型は、GSContainerから派生した個別のコンテナ型にて許容されている型のみです。
- 複合ロウキーなどロウキーを構成するカラムの個数によらずに合致条件を作成するには、gsCreateRowKeyPredicateGeneralを使用します。
- 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 gsCreateRowKeyPredicateGeneral | ( | GSGridStore * | store, |
const GSContainerInfo * | info, | ||
GSRowKeyPredicate ** | predicate | ||
) |
指定のGSContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。
- 合致条件の評価対象とするコンテナは、ロウキーを持ち、かつ、指定のGSContainerInfoのロウキーに関するカラム定義と対応づく必要があります。ロウキー以外のカラム定義については対応関係の判定に用いられません。
- Parameters
-
[in] store 処理対象のGSGridStore [in] info 合致条件の判定対象とするロウキーのカラムレイアウトを含む、コンテナ情報。その他の内容は無視される [out] predicate GSRowKeyPredicateインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定の情報がロウキーを含まないか、ロウキーとして常にサポート外となる場合
- ポインタ型引数に
NULL
が指定された場合
- Since
- 4.3
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機能リファレンスを参照してください。
- この操作によりエラーが発生した場合、エラー情報には
container
パラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
- 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_STATIC_HEADER_FUNC_SPECIFIER GSResult 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機能リファレンスを参照してください。
- この操作によりエラーが発生した場合、エラー情報には
container
パラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
- 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_STATIC_HEADER_FUNC_SPECIFIER GSResult 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_STATIC_HEADER_FUNC_SPECIFIER GSResult 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_STATIC_HEADER_FUNC_SPECIFIER GSResult 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
ではない値を指定する。両方に指定する場合、異なる値を指定してはならない。コンテナ種別 info
GS_CONTAINER_COLLECTIONを指定した場合、gsPutCollectionと同様の振る舞いとなる。GS_CONTAINER_TIME_SERIESを指定した場合、gsPutTimeSeriesと同様の振る舞いとなる。 カラムレイアウト info
GSContainerにて規定された制約に合致するようGSColumnInfoのリストならびにロウキーの構成を設定する。ただし現バージョンでは、初期値でのNULL使用有無が設定されたGSColumnInfo::optionsを持つGSColumnInfoを含めることはできない。 カラム順序の無視 info
無視する場合、同名の既存のコンテナのカラム順序と一致するかどうかを検証しない。 時系列構成オプション info
コンテナ種別がGS_CONTAINER_TIME_SERIESの場合のみ、 NULL
ではない値を指定できる。索引設定 info
現バージョンでは無視される。今後のバージョンでは、gsCreateIndexの規則に合致しない設定が含まれていた場合、エラーとなる可能性がある。 トリガ設定 info
現バージョンでは無視される。今後のバージョンでは、gsCreateTriggerの規則に合致しない設定が含まれていた場合、エラーとなる可能性がある。 コンテナ類似性 info
NULL
以外を指定し新規作成する場合、指定の内容が反映される。既存コンテナの設定を変更することはできない。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
を含めることはできません。
- 指定のエントリ列内に同一コンテナを対象とした同一ロウキーを持つ複数のロウオブジェクト列が存在する場合、異なるリスト間であればエントリ列の要素順、同一ロウオブジェクト列内であればその要素順を基準として、同値のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。
- トランザクションを維持し、ロックを保持し続けることはできません。ただし、既存のトランザクションが対象ロウに影響するロックを確保している場合、すべてのロックが解放されるまで待機し続けます。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- 各コンテナならびにロウに対する処理の途中でエラーが発生した場合、一部のコンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。
- この操作によりエラーが発生した場合、エラー情報には
container
パラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
- 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インスタンスを取得する必要があります。
- この型のポインタを第一引数とする関数は、すべてスレッド安全です。
- 追加の環境設定を行うことで、次の機能を使用できるようになります。
- SSL接続
- アドバンスド機能用ライブラリを使用できるよう設定することで、クラスタもしくはアドレスプロバイダへのTCP接続においてSSL接続を選択できるようになります。アドバンスド機能用ライブラリの設定方法については、GridDB機能リファレンスを参照してください。
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のみ)。省略時はデフォルトのアドレスを使用。 notificationMember
およびnotificationProvider
プロパティと同時に指定することはできないnotificationPort マスタ自動検出に用いられる通知情報を受信するためのポート番号。 0
から65535
までの数値の文字列表現。省略時はデフォルトのポートを使用clusterName クラスタ名。接続先のクラスタに設定されているクラスタ名と一致するかどうかを確認するために使用される。省略時もしくは空文字列を指定した場合、クラスタ名の確認は行われない。 database 接続先のデータベース名。省略時は全てのユーザがアクセス可能な「public」データベースに自動接続される。接続ユーザは接続データベースに属するコンテナを操作できる。 user ユーザ名 password ユーザ認証用のパスワード consistency 一貫性レベル。次のいずれかの文字列を指定できる。 "IMMEDIATE"
- 他のクライアントからの更新結果は、該当トランザクションの完了後即座に反映される
"EVENTUAL"
- 他のクライアントからの更新結果は、該当トランザクションが完了した後でも反映されない場合がある。Containerに対する更新操作は実行できない
"IMMEDIATE"
が指定されたものとみなされる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よりサポートapplicationName アプリケーションの名前。アプリケーションの識別を補助するための情報として、接続先のクラスタ上での各種管理情報の出力の際に含められる場合がある。ただし、アプリケーションの同一性をどのように定義するかについては関与しない。省略時はアプリケーション名の指定がなかったものとみなされる。空文字列は指定できない。バージョン4.2よりサポート timeZone タイムゾーン情報。TQLでのTIMESTAMP値演算などに使用される。「 ±hh:mm
」または「±hhmm
」形式によるオフセット値(±
は+
または-
、hh
は時、mm
は分)、「Z
」(+00
:00に相当)、「auto
」(実行環境に応じ自動設定)のいずれかを指定する。auto
が使用できるのは夏時間を持たないタイムゾーンに限定される。バージョン4.3よりサポートauthentication 認証種別。次のいずれかの文字列を指定できる。 "INTERNAL"
- クラスタ上で管理されているアカウント情報に基づいた、内部認証
"LDAP"
- クラスタ外にあるLDAPサーバで管理されているアカウント情報に基づいた、外部認証。LDAP接続設定のないクラスタに接続する場合、もしくは、管理ユーザを使用する場合は指定できない
sslMode クラスタへの接続においてSSLの使用有無の判断に用いられるモード。次のいずれかの文字列を指定できる。 "DISABLED"
- SSLを常に使用しない
"PREFERRED"
- 可能な限りSSLを使用する。SSL接続・非SSL接続共に使用できる場合はSSL接続を使用する
"VERIFY"
- SSLを常に使用する。サーバ検証あり
"PREFERRED"
が指定されたものとみなされる。バージョン4.5よりサポート。VERIFYはバージョン4.6よりサポート。connectionRoute クラスタ接続時における通信経路。次の文字列を指定できる。 "PUBLIC"
- クラスタの外部通信経路が設定されている場合に、外部通信経路を経由した接続を行う
- クラスタ名、データベース名、ユーザ名、パスワードについては、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
が指定された場合 - 範囲外のパーティションインデックスが指定された場合
- この処理のタイムア
- ポインタ型引数に