GridDB C APIリファレンス

Table of Contents

1 API

1.1 API一覧

C API

GridDBの公開C言語インタフェースを定義します

gridstore.h File Reference

GridDBのC言語向け公開API. More...

#include <stdlib.h>
#include <stdint.h>

Classes

struct  GSBlobTag
 ロウオブジェクトにおけるBLOB構造を表します。More...
 
struct  GSPropertyEntryTag
 プロパティの構成エントリです。More...
 
struct  GSColumnCompressionTag
 特定のカラムの圧縮設定を表します。More...
 
struct  GSCollectionPropertiesTag
 コレクションの構成オプションを表します。More...
 
struct  GSTimeSeriesPropertiesTag
 時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。More...
 
struct  GSColumnInfoTag
 カラムのスキーマに関する情報を表します。More...
 
struct  GSTriggerInfoTag
 トリガに関する情報を表します。More...
 
struct  GSIndexInfoTag
 索引の設定内容を表します。More...
 
struct  GSContainerInfoTag
 特定のコンテナに関する情報を表します。More...
 
struct  GSBindingTag
 ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。More...
 
struct  GSQueryAnalysisEntryTag
 クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。More...
 
struct  GSContainerRowEntryTag
 複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。More...
 
struct  GSRowKeyPredicateEntryTag
 複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。More...
 
union  GSValueTag
 ロウフィールドに格納できるいずれかの型の値です。More...
 
struct  GSTimeZoneTag
 タイムゾーン情報を表します。More...
 

Macros

#define GS_CLIENT_VERSION_MAJOR   4
 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_COLUMN_COMPRESSION_INITIALIZER   { NULL, GS_FALSE, 0, 0, 0 }
 GSColumnCompressionの初期化子です。
 
#define GS_COLLECTION_PROPERTIES_INITIALIZER   { 0 }
 GSCollectionPropertiesの初期化子です。
 
#define GS_TIME_SERIES_PROPERTIES_INITIALIZER
 GSTimeSeriesPropertiesの初期化子です。More...
 
#define GS_COLUMN_INFO_INITIALIZER   { NULL, GS_TYPE_STRING, GS_INDEX_FLAG_DEFAULT, 0 }
 GSColumnInfoの初期化子です。
 
#define GS_TRIGGER_INFO_INITIALIZER
 GSTriggerInfoの初期化子です。
 
#define GS_INDEX_INFO_INITIALIZER   { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL, 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_TIME_STRING_SIZE_MAX   32
 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時刻を保持します。
 
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 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...
 

Enumerations

enum  GSFetchOptionTag { GS_FETCH_LIMIT, GS_FETCH_PARTIAL_EXECUTION = (GS_FETCH_LIMIT + 2) }
 クエリ実行結果を取得する際のオプション項目です。More...
 
enum  GSQueryOrderTag { GS_ORDER_ASCENDING, GS_ORDER_DESCENDING }
 クエリにおける要求ロウ順序を表します。More...
 
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  GSAggregationTag {
  GS_AGGREGATION_MINIMUM, GS_AGGREGATION_MAXIMUM, GS_AGGREGATION_TOTAL, GS_AGGREGATION_AVERAGE,
  GS_AGGREGATION_VARIANCE, GS_AGGREGATION_STANDARD_DEVIATION, GS_AGGREGATION_COUNT, GS_AGGREGATION_WEIGHTED_AVERAGE
}
 ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。More...
 
enum  GSInterpolationModeTag { GS_INTERPOLATION_LINEAR_OR_PREVIOUS, GS_INTERPOLATION_EMPTY }
 ロウの補間方法の種別を表します。More...
 
enum  GSTimeOperatorTag { GS_TIME_OPERATOR_PREVIOUS, GS_TIME_OPERATOR_PREVIOUS_ONLY, GS_TIME_OPERATOR_NEXT, GS_TIME_OPERATOR_NEXT_ONLY }
 GSTimeSeriesのキー時刻に基づく、ロウの特定方法を表します。More...
 
enum  GSGeometryOperatorTag { GS_GEOMETRY_OPERATOR_INTERSECT }
 空間範囲同士の関係性についての制約を定義します。More...
 
enum  GSCompressionMethodTag { GS_COMPRESSION_NO, GS_COMPRESSION_SS, GS_COMPRESSION_HI }
 圧縮方式の種別を表します。More...
 
enum  GSTimeUnitTag {
  GS_TIME_UNIT_YEAR, GS_TIME_UNIT_MONTH, GS_TIME_UNIT_DAY, GS_TIME_UNIT_HOUR,
  GS_TIME_UNIT_MINUTE, GS_TIME_UNIT_SECOND, GS_TIME_UNIT_MILLISECOND
}
 時系列処理で用いる時間の単位を示します。More...
 
enum  GSContainerTypeTag { GS_CONTAINER_COLLECTION, GS_CONTAINER_TIME_SERIES }
 コンテナの種別を表します。More...
 
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
}
 GridDB上のフィールド値の型を表します。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 }
 カラムに関するオプション設定を示します。More...
 
enum  GSRowSetTypeTag { GS_ROW_SET_CONTAINER_ROWS, GS_ROW_SET_AGGREGATION_RESULT, GS_ROW_SET_QUERY_ANALYSIS }
 GSRowSetから取り出すことのできる内容の種別です。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 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 gsGetRowByString (GSContainer *container, const GSChar *key, void *rowObj, GSBool forUpdate, GSBool *exists)
 STRING型のロウキーに対応するロウの内容を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByInteger (GSContainer *container, int32_t key, const void *rowObj, GSBool *exists)
 INTEGER型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByLong (GSContainer *container, int64_t key, const void *rowObj, GSBool *exists)
 LONG型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByTimestamp (GSContainer *container, GSTimestamp key, const void *rowObj, GSBool *exists)
 TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByString (GSContainer *container, const GSChar *key, const void *rowObj, GSBool *exists)
 STRING型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByInteger (GSContainer *container, int32_t key, GSBool *exists)
 INTEGER型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByLong (GSContainer *container, int64_t key, GSBool *exists)
 LONG型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByTimestamp (GSContainer *container, GSTimestamp key, GSBool *exists)
 TIMESTAMP型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByString (GSContainer *container, const GSChar *key, GSBool *exists)
 STRING型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL 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 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 int32_t GS_API_CALL gsGetRowSetSize (GSRowSet *rowSet)
 ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。More...
 
GS_DLL_PUBLIC GSBool GS_API_CALL gsHasNextRow (GSRowSet *rowSet)
 現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsUpdateCurrentRow (GSRowSet *rowSet, const void *rowObj)
 現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。More...
 
GS_DLL_PUBLIC void GS_API_CALL gsCloseAggregationResult (GSAggregationResult **aggregationResult)
 指定のGSAggregationResultインスタンスを解放します。More...
 
GS_DLL_PUBLIC GSBool GS_API_CALL gsGetAggregationValue (GSAggregationResult *aggregationResult, void *value, GSType valueType)
 集計結果を指定の型の値として取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsLong (GSAggregationResult *aggregationResult, int64_t *value, GSBool *assigned)
 数値型の集計値をLONG型(int64_t)として取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsDouble (GSAggregationResult *aggregationResult, double *value, GSBool *assigned)
 数値型の集計値をDOUBLE型(double)として取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsTimestamp (GSAggregationResult *aggregationResult, GSTimestamp *value, GSBool *assigned)
 時刻型の集計値をTIMESTAMP型(GSTimestamp)で取得します。More...
 
GS_DLL_PUBLIC void GS_API_CALL gsCloseRowKeyPredicate (GSRowKeyPredicate **predicate)
 指定のGSRowKeyPredicateインスタンスを解放します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeyType (GSRowKeyPredicate *predicate, GSType *keyType)
 合致条件の評価対象とするロウキーの型を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL 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 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 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 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 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 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 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 GSBool GS_API_CALL gsParseTime (const GSChar *str, GSTimestamp *timestamp)
 TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。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   4
 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
}
 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 GSEnum GSType
See Also
GSTypeTag
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が設定されていることを示します。

カラムの型として用いることはできません。
Since
3.5
バインディング

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
GS_DLL_PUBLIC GSBool GS_API_CALL gsIsTimeoutError ( GSResult  result)

要求した処理が既定の時間内に終了しなかった場合に発生したエラーに該当するエラーコードかどうかを判定します。

Returns
該当するエラーコードかどうか
Since
1.5
GSAggregationResult

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...
 

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
valueTypevalueの型との対応が正しくない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]aggregationResult処理対象のGSAggregationResult
[out]value取り出す値を格納するための変数へのポインタ値。aggregationResultNULLの場合、また、valueTypevalueとして指定できる型のいずれとも対応しない場合は、何も格納しません。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 gsGetAggregationValueAsTimestamp ( GSAggregationResult aggregationResult,
GSTimestamp value,
GSBool assigned 
)

時刻型の集計値をTIMESTAMP型(GSTimestamp)で取得します。

TIMESTAMP型以外の値を保持している場合、assigned引数にはGS_FALSEが格納されます。
Parameters
[in]aggregationResult取得対象のGSAggregationResult
[out]value集計値を格納するための変数へのポインタ値
[out]assigned期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。NULLが指定された場合、取得できたかどうかの情報は格納されません
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • assigned以外の引数にNULLが指定された場合
Since
3.5
GSCollection

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

ロウ集合を汎用的に管理するためのコンテナです。

ロウキーには次の型が使用できます。
ロウキーの設定は必須ではありません。
ロウ操作について、コンテナ固有の制限は設けられていません。
gsQueryもしくはgsGetMultipleContainerRowsなどより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序は不定となります。
ロック粒度はロウ単位です。

コレクションの構成オプションを表します。

Note
現バージョンでは使用されておりません。

Enumeration Type Documentation

空間範囲同士の関係性についての制約を定義します。

空間範囲検索の条件指定のために使用します。
Enumerator
GS_GEOMETRY_OPERATOR_INTERSECT 

双方の空間範囲またはその外接構造が交差する関係にあることを示します。

双方の外接直方体(Minimum Bounding Box)、もしくは外接直方体と2次曲面が交差する関係にあることを示します。交差判定の条件は、TQLのST_MBRIntersects関数、もしくはST_QSFMBRIntersects関数と同一です。

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]queryGSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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]queryGSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のコンテナの種別がコレクションではない場合
  • 対応する名前のカラムが存在しない場合
  • 引数にNULLが指定された場合
GSContainer

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
 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 }
 カラムに関するオプション設定を示します。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 gsGetRowByString (GSContainer *container, const GSChar *key, void *rowObj, GSBool forUpdate, GSBool *exists)
 STRING型のロウキーに対応するロウの内容を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByInteger (GSContainer *container, int32_t key, const void *rowObj, GSBool *exists)
 INTEGER型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByLong (GSContainer *container, int64_t key, const void *rowObj, GSBool *exists)
 LONG型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByTimestamp (GSContainer *container, GSTimestamp key, const void *rowObj, GSBool *exists)
 TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByString (GSContainer *container, const GSChar *key, const void *rowObj, GSBool *exists)
 STRING型のロウキーを指定して、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByInteger (GSContainer *container, int32_t key, GSBool *exists)
 INTEGER型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByLong (GSContainer *container, int64_t key, GSBool *exists)
 LONG型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByTimestamp (GSContainer *container, GSTimestamp key, GSBool *exists)
 TIMESTAMP型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByString (GSContainer *container, const GSChar *key, GSBool *exists)
 STRING型のロウキーに対応するロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL 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
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の配列
トランザクション処理では、デフォルトで自動コミットモードが有効になっています。自動コミットモードでは、変更操作は逐次確定し、明示的に取り消すことができません。手動コミットモードにおいて、GSContainerインスタンスを介した操作によりクラスタノード上でエラーが検出された場合、コミット前の更新操作はすべて取り消されます。トランザクション分離レベルはREAD COMMITTEDのみをサポートします。ロック粒度は、コンテナの種別によって異なります。
ロウの更新・追加・削除、ならびに更新用ロック獲得を行った場合、内部でトランザクションが生成されます。このトランザクションには、有効期限が存在します。これらの操作をあるGSContainerインスタンスに対してはじめて行った時刻を起点として、GridDB上で定められている期間だけ経過した後に、さらに同様の操作やトランザクション操作を行おうとすると、該当するGSContainerインスタンスを介した以降の操作は常に失敗するようになります。
あるコンテナへの操作要求に対するクラスタノード上での処理が開始され、終了するまでの間、同一のコンテナに対する操作が待機させられる場合があります。ここでの操作には、コンテナのスキーマや索引などの定義変更、コンテナ情報の参照、ロウ操作などが含まれます。一貫性レベルがIMMEDIATEGSGridStoreインスタンスを通じてコンテナを操作する場合、同一のコンテナに対するIMMEDIATE設定での他の操作処理の途中、原則としては待機させられます。また、コンテナに対する他の操作処理の途中の状態に基づいて処理が行われることは、原則としてはありません。例外事項については、個別の操作ごとの説明を参照してください。
typedef struct GSIndexInfoTag GSIndexInfo

索引の設定内容を表します。

Since
3.5
typedef int32_t GSIndexTypeFlags

トリガに関する情報を表します。

Since
1.5
typedef int32_t GSTypeOption

カラムに関するオプション設定を示すフラグ値のビット和です。

ある設定項目について、対応するフラグ値が複数含まれていた場合に、オプション設定が矛盾しているとみなされるものが存在します。それらの設定項目のうち、対応するフラグ値が一つも含まれていないものは、未設定状態であるとみなされます。この制約に該当する設定項目とフラグ値との対応は次の通りです。
設定項目フラグ値
NOT NULL制約
初期値でのNULL使用有無
See Also
GSTypeOptionTag

Enumeration Type Documentation

コンテナの種別を表します。

Enumerator
GS_CONTAINER_COLLECTION 

対象のコンテナがコレクションであることを示します。

GS_CONTAINER_TIME_SERIES 

対象のコンテナが時系列であることを示します。

GSContainerに設定する索引の種別を示します。

Enumerator
GS_INDEX_FLAG_DEFAULT 

デフォルトの索引を示します。

この索引種別は、特定の種別を明示せずに索引の操作を行う必要がある場合に用いられるものであり、実在する索引はこの種別以外の種別に分類されます。
GS_INDEX_FLAG_TREE 

ツリー索引を示します。

この索引種別は、時系列におけるロウキーと対応するカラムを除く任意の種別のコンテナにおける、次の型のカラムに対して使用できます。
  • STRING
  • BOOL
  • BYTE
  • SHORT
  • INTEGER
  • LONG
  • FLOAT
  • DOUBLE
  • TIMESTAMP
GS_INDEX_FLAG_HASH 

ハッシュ索引を示します。

この索引は、GSCollectionにおける次の型のカラムに対して設定できます。
  • STRING
  • BOOL
  • BYTE
  • SHORT
  • INTEGER
  • LONG
  • FLOAT
  • DOUBLE
  • TIMESTAMP
GSTimeSeriesに対して設定することはできません。
GS_INDEX_FLAG_SPATIAL 

空間索引を示します。

この索引種別は、GSCollectionにおけるGEOMETRY型のカラムに対してのみ使用できます。GSTimeSeriesに対して設定することはできません。

トリガで監視対象とする更新操作種別を表します。

Enumerator
GS_TRIGGER_EVENT_PUT 

コンテナに対するロウ新規作成または更新を示します。

GS_TRIGGER_EVENT_DELETE 

コンテナに対するロウ削除を示します。

トリガの種別を表します。

Enumerator
GS_TRIGGER_REST 

コンテナの更新時にRESTで通知するトリガ種別を示します。

GS_TRIGGER_JMS 

コンテナの更新時にJava Message Service(JMS)で通知するトリガ種別を示します。

カラムに関するオプション設定を示します。

See Also
GSTypeOption
Enumerator
GS_TYPE_OPTION_NULLABLE 

NOT NULL制約を持たないカラムであることを示します。

Since
3.5
GS_TYPE_OPTION_NOT_NULL 

NOT NULL制約を持つカラムであることを示します。

Since
3.5
GS_TYPE_OPTION_DEFAULT_VALUE_NULL 

初期値としてNULLを使用するカラムであることを示します。

Since
4.1
GS_TYPE_OPTION_DEFAULT_VALUE_NOT_NULL 

初期値としてNULLを使用しないカラムであることを示します。

Since
4.1

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を介して取得したGSQueryGSAggregationResult、ならびに、これらのリソースと関連する下位のリソースのことを指します。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]rowGSRowインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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を使用します。
通知条件
指定のコンテナに対するロウ新規作成/更新(gsPutRowgsPutMultipleRowsgsPutMultipleContainerRowsgsUpdateCurrentRow)・削除(gsDeleteRowgsDeleteCurrentRow)操作命令の実行直後に通知を行います。監視対象として複数の操作が指定された場合は、そのうちのいずれかが実行された際に通知を行います。
通知を行った時点でのレプリケーションの完了は保証されません。自動コミットモード無効で実行されたロウ新規作成/更新・削除命令に対応する通知については、通知を行った時点でトランザクションが未コミットであったり、通知後にトランザクションがアボートされたりした場合、通知を受けた時点で通知に含まれるデータが取得できないことがあります。
複数ロウ一括操作の場合、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("(カラム名)", (カラムデータ))で設定されます。
トリガが設定されているコンテナに対してgsPutCollectiongsPutTimeSeriesなどによりカラムレイアウトが変更された際に、トリガの通知対象となっているカラムの削除または名称変更があった場合、該当するカラムはトリガの通知対象から削除されます。
GridDBからの通知の際に、設定されている通知先URIへのリクエストに対応するサーバが応答しなかった場合、タイムアウト時刻までの待機処理が発生します。この待機処理は、このコンテナならびに他の一部のコンテナの更新に対する通知が遅れる要因となります。したがって、無効となった通知先URIを持つトリガはgsDropTriggerにより削除することが推奨されます。
一つのコンテナに対して設定できるトリガの最大数、ならびに、トリガの各種設定値の上限については、GridDB機能リファレンスを参照してください。
Parameters
[in]container設定対象のGSContainer
[in]info設定対象のトリガ情報
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • トリガ名がNULL空、またはその他の規則に合致しない場合
  • 監視対象更新操作の指定がない場合
  • 通知先のURIが規定の構文に合致しない場合
  • トリガ種別でJMSが指定され、かつJMSデスティネーション種別がNULL、または空、または指定の書式に合致しない場合
  • トリガ種別でJMSが指定され、かつJMSデスティネーション名がNULL、または空の場合
  • この処理のタイムアウト、指定のコンテナの削除、接続障害が発生した場合
  • 引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRow ( GSContainer container,
const void *  key,
GSBool exists 
)

指定のロウキーに対応するロウを削除します。

ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
手動コミットモードの場合、対象のロウはロックされます。
Attention
指定のGSContainerにバインドされたロウオブジェクトのロウキーの型と指定のロウキーの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するカラムが存在しない場合
  • 特定コンテナ固有の制限に反する操作を行った場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がキーとして指定された場合
  • exists以外の引数にNULLが指定された場合。また、keyに対応する文字列キーのポインタ値がNULLの場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByInteger ( GSContainer container,
int32_t  key,
GSBool exists 
)

INTEGER型のロウキーに対応するロウを削除します。

ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
手動コミットモードの場合、対象のロウはロックされます。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキー
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するINTEGER型のカラムが存在しない場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
See Also
gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByLong ( GSContainer container,
int64_t  key,
GSBool exists 
)

LONG型のロウキーに対応するロウを削除します。

ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
手動コミットモードの場合、対象のロウはロックされます。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキー
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するLONG型のカラムが存在しない場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
See Also
gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByString ( GSContainer container,
const GSChar key,
GSBool exists 
)

STRING型のロウキーに対応するロウを削除します。

ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
手動コミットモードの場合、対象のロウはロックされます。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキー
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するSTRING型のカラムが存在しない場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がキーとして指定された場合
See Also
gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByTimestamp ( GSContainer container,
GSTimestamp  key,
GSBool exists 
)

TIMESTAMP型のロウキーに対応するロウを削除します。

ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
手動コミットモードの場合、対象のロウはロックされます。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキー
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
  • 特定コンテナ固有の制限に反する操作を行った場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がキーとして指定された場合
See Also
gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL 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 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として取得します。

ロウキーを持つコンテナであれば、ロウキーを構成するカラム数やカラム型によらず使用できます。gsGetRowとは異なり、指定の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新規作成するロウ集合の内容と対応するロウオブジェクト列。このロウオブジェクト列は、個々のロウオブジェクトへのポインタ値の配列により構成されます。rowCount0の場合、この配列を参照することはなく、NULLを指定することもできます。
[in]rowCount新規作成するロウの個数。0の場合、ロウを新規作成せず正常に処理を終えます。
[out]exists現バージョンでは、ポインタ値がNULLではない限り常にGS_FALSEが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 特定コンテナ種別固有の制限に反する操作を行った場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がロウオブジェクトに含まれていた場合
  • containerNULLの場合
  • exists以外のポインタ型引数にNULLが指定された場合。また、指定のロウオブジェクト内のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULLが含まれていた場合
  • rowCountが正の値であるにもかかわらず、rowObjsNULLが指定された場合
  • ロウオブジェクト列を構成する配列要素に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が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkeyNULLであるにもかかわらず、ロウキーのフィールドに同様に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が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkeyNULLであるにもかかわらず、ロウキーのフィールドに同様に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が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkeyNULLであるにもかかわらず、ロウキーのフィールドに同様にNULLが含まれていた場合
See Also
gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByString ( GSContainer container,
const GSChar key,
const void *  rowObj,
GSBool exists 
)

STRING型のロウキーを指定して、ロウを新規作成または更新します。

ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。
ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
手動コミットモードの場合、対象のロウはロックされます。
Attention
指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキー
[in]rowObj新規作成または更新するロウの内容と対応するロウオブジェクト
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するSTRING型のカラムが存在しない場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
  • exists以外の引数にNULLが指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULLが含まれていた場合
See Also
gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByTimestamp ( GSContainer container,
GSTimestamp  key,
const void *  rowObj,
GSBool exists 
)

TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。

ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。
ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
ただし、コンテナの種別ならびに設定によっては、制限が設けられています。指定のコンテナが時系列であり、圧縮オプションが設定されている場合、以下の操作のみを条件付きで行うことができます。
  • 新規作成
    • 最も新しい時刻を持つ既存ロウより新しい時刻のロウを指定した場合のみ
  • 既存ロウの内容の保持
    • 最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合のみ
手動コミットモードの場合、対象のロウはロックされます。
Attention
指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]container処理対象のGSContainer
[in]key処理対象のロウキー
[in]rowObj新規作成または更新するロウの内容と対応するロウオブジェクト
[out]exists処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
  • 特定コンテナ固有の制限に反する操作を行った場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
  • exists以外の引数にNULLが指定された場合。また、指定のロウオブジェクト内のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULLが含まれていた場合
See Also
gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL 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が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkeyNULLであるにもかかわらず、ロウキーのフィールドに同様に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]queryStringTQL文
[out]queryGSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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が指定された場合
GSGridStore

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

複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。

Since
1.5
typedef struct GSGridStoreTag GSGridStore

1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。

コレクションや時系列といったコンテナの追加・削除・構成変更、ならびに、コンテナを構成するロウの操作機能を提供します。
コンテナ種別などの違いによらず、1つのデータベースのコンテナ間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。コンテナ名は、ベースコンテナ名単独、もしくは、ベースコンテナ名の後ろにノードアフィニティ名をアットマーク「@」で連結した形式で表記します。その他、コンテナの定義において使用できるコンテナ名の文字種や長さには制限があります。具体的には、GridDB機能リファレンスを参照してください。特に記載のない限り、コンテナ名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースに対する操作を通じてエラーが発生した場合、エラーに関する次のパラメータを取得できることがあります。
パラメータ名説明
address接続先クラスタノードのアドレス・ポート。ホスト名またはIPアドレスとポート番号とをコロン「:」で連結した文字列により構成されます。このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースにおいて、クラスタへのアクセスを伴う操作を呼び出した際にエラーを検知すると、このパラメータを含むことがあります。このパラメータを含む場合、パラメータが示すクラスタノードにおいてエラーの詳細が記録されていることがあります。
containerエラーに関係しうるコンテナの名前。任意個数のコンテナを一括して扱う操作において、そのうち少なくとも一つのコンテナについての操作を行えないことが判明した場合に、このパラメータを含むことがあります。任意個数のコンテナを扱う具体的な操作については、個々のインタフェースの定義を参照してください。クラスタノードへのリクエスト準備段階でのリソース不足など、どのコンテナの問題か特定し切れないことがあるため、どのようなエラーでもこのパラメータを含むとは限りません。また、複数のコンテナについて操作できない可能性があったとしても、パラメータに含まれるのは高々一つのコンテナの名前のみです。
この型のポインタを第一引数とする関数のスレッド安全性は保証されません。
See Also
GSCollection
GSTimeSeries
GSContainer
gsGetErrorParameterCount

複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。

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を介して取得したGSCollectionGSTimeSeries、ならびに、これらのリソースと関連する下位のリソースのことを指します。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]rowGSRowインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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]keyGSRowKeyインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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]predicateGSRowKeyPredicateインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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]predicateGSRowKeyPredicateインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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へのポインタ値の配列により構成されます。queryCount0の場合、この配列を参照することはなく、NULLを指定することもできます。
[in]queryCount対象とするクエリ列の要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のGSGridStoreインスタンスを介して得られたGSQuery以外のGSQueryが含まれていた場合
  • 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、指定のクエリを作成する機能の各種定義を参照してください
  • この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
  • queryCountが正の値であるにもかかわらず、queryListNULLが指定された場合
  • クエリ列を構成する配列要素に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]collectionGSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコレクションが存在しない場合、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]collectionGSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコレクションが存在しない場合、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]containerGSContainerインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコンテナが存在しない場合、NULLが設定されます。指定の名前のコンテナが存在し、種別がGS_CONTAINER_COLLECTIONであった場合はGSCollectionGS_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の配列により構成されます。predicateCount0の場合、この配列を参照することはなく、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が正の値であるにもかかわらず、predicateListNULLが指定された場合
  • エントリ列を構成するエントリのコンテナ名もしくは取得条件として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]partitionControllerGSPartitionControllerインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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]timeSeriesGSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前の時系列が存在しない場合、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]timeSeriesGSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前の時系列が存在しない場合、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と同様に振る舞います。
modifiableGS_TRUEであり、すでに同名のコレクションが存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存のコレクションにない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除はできません。
コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。
新たに追加されるカラムの値は、GSContainerにて定義されている空の値を初期値として初期化されます。
指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。
ロウキーを持つコレクションを新規に作成する場合、ロウキーに対し、gsCreateIndexにて定義されているデフォルト種別の索引が作成されます。この索引は、削除することができます。
現バージョンでは、コンテナの規模など諸条件を満たした場合、カラムレイアウトの変更開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、更新ロックなしでのロウの参照操作を行える場合があります。それ以外の操作は、GSContainerでの定義通り待機させる場合があります。カラムレイアウトの変更途中に別の操作が行われる場合は、変更前のカラムレイアウトが使用されます。
Parameters
[in]store処理対象のGSGridStore
[in]name処理対象のコレクションの名前
[in]bindingユーザ定義構造体とカラムレイアウトとのバインディング情報
[in]propertiesコレクションの構成オプション。NULLを指定できます。現バージョンでは使用されておらず、内容はチェックされません。
[in]modifiable既存コレクションのカラムレイアウト変更を許可するかどうか
[out]collectionGSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 同名の時系列が存在する場合。
  • modifiableGS_FALSEであり、既存の同名のコレクションに関してカラムレイアウトの内容が一致しない場合
  • modifiableGS_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]collectionGSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。実行結果として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]containerGSContainerインスタンスを格納するためのポインタ変数へのポインタ値。GS_CONTAINER_COLLECTIONを指定した場合はGSCollectionGS_CONTAINER_TIME_SERIESを指定した場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • nameならびにinfo引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更関数の規則に合致しない場合
  • 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
  • この処理のタイムアウト、接続障害が発生した場合
  • name以外のポインタ型引数にNULLが指定された場合
See Also
gsPutCollection
gsPutTimeSeries
gsPutContainerGeneral
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]containerGSContainerインスタンスを格納するためのポインタ変数へのポインタ値。GS_CONTAINER_COLLECTIONを指定した場合はGSCollectionGS_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を含めることはできません。
コンテナの種別ならびに設定によっては、操作できるロウの内容についてgsPutRowと同様の制限が設けられています。具体的な制限事項は、gsPutRowの定義を参照してください。
指定のエントリ列内に同一コンテナを対象とした同一ロウキーを持つ複数のロウオブジェクト列が存在する場合、異なるリスト間であればエントリ列の要素順、同一ロウオブジェクト列内であればその要素順を基準として、同値のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。
トランザクションを維持し、ロックを保持し続けることはできません。ただし、既存のトランザクションが対象ロウに影響するロックを確保している場合、すべてのロックが解放されるまで待機し続けます。
他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
各コンテナならびにロウに対する処理の途中でエラーが発生した場合、一部のコンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。
この操作によりエラーが発生した場合、エラー情報にはcontainerパラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
Attention
エントリ列に含まれるロウオブジェクトへのアドレスとしてGSRow以外のものが含まれており、異常を検知できなかった場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]store処理対象のGSGridStore
[in]entryList対象とするコンテナの名前とロウオブジェクト列からなるエントリの列。GSContainerRowEntryの配列により構成されます。entryCount0の場合、この配列を参照することはなく、NULLを指定することもできます。
[in]entryCountエントリ列の要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 対象とするコンテナが存在しない場合、また、対象とするコンテナとロウオブジェクトとのカラムレイアウトが一致しない場合
  • 特定コンテナ種別固有の制限に反する操作を行った場合
  • この処理または関連するトランザクションのタイムアウト、接続障害が発生した場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
  • storeNULLの場合
  • queryCountが正の値であるにもかかわらず、queryListNULLが指定された場合
  • エントリ列に含まれるロウオブジェクトへのアドレスとして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と同様に振る舞います。
modifiableGS_TRUEであり、すでに同名の時系列が存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存の時系列にない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除、時系列構成オプションの変更はできません。時系列構成オプションを指定する場合は、既存の設定内容とすべて同値にする必要があります。
コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。
新たに追加されるカラムの値は、gsPutCollectionの定義を参照してください。
指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。
Parameters
[in]store処理対象のGSGridStore
[in]name処理対象の時系列の名前
[in]bindingユーザ定義構造体とカラムレイアウトとのバインディング情報
[in]properties時系列の構成オプション。NULLを指定すると、同名の時系列が存在する場合は既存の設定が継承され、存在しない場合は初期設定を指定したものとみなされます。初期設定とは、GS_TIME_SERIES_PROPERTIES_INITIALIZERにより初期化した時系列構成オプションと同値の設定のことです。
[in]modifiable既存時系列のカラムレイアウト変更を許可するかどうか
[out]timeSeriesGSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 同名の時系列が存在する場合。
  • modifiableGS_FALSEであり、既存の同名の時系列に関してカラムレイアウトの内容が一致しない場合
  • modifiableGS_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]timeSeriesGSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • コンテナ種別以外の指定内容に関して、gsPutContainerGeneralの規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
  • この処理のタイムアウト、接続障害が発生した場合
  • name以外のポインタ型引数にNULLが指定された場合
See Also
gsPutContainerGeneral
Since
1.5
GSGridStoreFactory

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接続設定のないクラスタに接続する場合、もしくは、管理ユーザを使用する場合は指定できない
省略時は自動的に認証種別が選択される。原則として指定は不要。非管理ユーザについて内部認証と外部認証を併用するクラスタへの接続の際に、内部認証を用いる場合などに指定する。バージョン4.5よりサポート
sslMode クラスタへの接続においてSSLの使用有無の判断に用いられるモード。次のいずれかの文字列を指定できる。
"DISABLED"
SSLを常に使用しない
"PREFERRED"
可能な限りSSLを使用する。SSL接続・非SSL接続共に使用できる場合はSSL接続を使用する
"VERIFY"
SSLを常に使用する。サーバ検証あり
SSL接続を選択できる環境設定(詳細: GSGridStoreFactory)の場合のみ指定できる。それ以外の場合は、プロパティの値によらず指定できない。SSL接続を選択できる場合、省略時は"PREFERRED"が指定されたものとみなされる。バージョン4.5よりサポート。VERIFYはバージョン4.6よりサポート。
クラスタ名、データベース名、ユーザ名、パスワードについては、ASCIIの大文字・小文字表記の違いがいずれも区別されます。その他、これらの定義に使用できる文字種や長さの上限などの制限については、GridDB機能リファレンスを参照してください。ただし、制限に反する文字列をプロパティ値として指定した場合、各ノードへの接続のタイミングまでエラーが検知されないことや、認証情報の不一致など別のエラーになることがあります。
取得のたびに、新たなGSGridStoreインスタンスが生成されます。異なるGSGridStoreインスタンスならびに関連するリソースに対する操作は、スレッド安全です。すなわち、ある2つのリソースがそれぞれGSGridStoreインスタンスを基にして生成されたものまたはGSGridStoreインスタンスそのものであり、かつ、該当する関連GSGridStoreインスタンスが異なる場合、一方のリソースに対してどのスレッドからどのタイミングで関連する関数が呼び出されていたとしても、他方のリソースの関連する関数を呼び出すことができます。ただし、GSGridStore自体のスレッド安全性は保証されていないため、同一GSGridStoreインスタンスに対して複数スレッドから任意のタイミングで関連する関数を呼び出すことはできません。
Parameters
[in]factory取得元のGSGridStoreFactoryインスタンス。NULLの場合、gsGetDefaultFactoryにより得られるインスタンスと同一のものが使用されます。
[in]properties取得設定を指示するためのプロパティ。GSPropertyEntryの配列により構成されます。エントリ数が0の場合、この配列を参照することはなく、NULLを指定することもできます。エントリを構成する名前もしくは値にNULLを含めることはできません。
[in]propertyCountpropertiesとして引数に指定するプロパティのエントリ数。
[out]storeGSGridStoreインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のホストについて名前解決できなかった場合
  • 指定のプロパティが上で説明した形式・制限に合致しないことを検知できた場合
  • storeNULLが指定された場合
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]propertyCountpropertiesとして引数に指定するプロパティのエントリ数。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のプロパティが上で説明した形式に合致しない場合
  • propertiesNULLが指定された場合
GSPartitionController

Typedefs

typedef struct
GSPartitionControllerTag 
GSPartitionController
 パーティション状態の取得や操作のためのコントローラです。More...
 

Functions

GS_DLL_PUBLIC void GS_API_CALL gsClosePartitionController (GSPartitionController **controller)
 指定のGSPartitionControllerインスタンスを解放します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionCount (GSPartitionController *controller, int32_t *partitionCount)
 対象とするGridDBクラスタのパーティション数を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerCount (GSPartitionController *controller, int32_t partitionIndex, int64_t *containerCount)
 指定のパーティションに属するコンテナの総数を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerNames (GSPartitionController *controller, int32_t partitionIndex, int64_t start, const int64_t *limit, const GSChar *const **nameList, size_t *size)
 指定のパーティションに所属するコンテナの名前の一覧を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size)
 指定のパーティションに対応するノードのアドレス一覧を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionOwnerHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar **address)
 指定のパーティションに対応するオーナノードのアドレスを取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionBackupHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size)
 指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsAssignPartitionPreferableHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar *host)
 優先的に選択されるホストのアドレスを設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionIndexOfContainer (GSPartitionController *controller, const GSChar *containerName, int32_t *partitionIndex)
 指定のコンテナ名に対応するパーティションインデックスを取得します。More...
 

Detailed Description

Typedef Documentation

typedef struct GSPartitionControllerTag GSPartitionController

パーティション状態の取得や操作のためのコントローラです。

パーティションとは、データを格納する論理的な領域です。GridDBクラスタ内のデータ配置に基づいた操作を行うために使用します。
Since
1.5

Function Documentation

GS_DLL_PUBLIC GSResult GS_API_CALL gsAssignPartitionPreferableHost ( GSPartitionController controller,
int32_t  partitionIndex,
const GSChar host 
)

優先的に選択されるホストのアドレスを設定します。

バックアップノードへの接続など、可能な接続先が複数存在する場合に、設定されたアドレスが候補に含まれていれば常に選択されるようになります。それ以外の場合は設定が無視されます。
Parameters
[in]controller処理対象のGSPartitionController
[in]partitionIndexパーティションインデックス。0以上パーティション数未満の値。
[in]host優先的に選択されるホストのアドレス。IPアドレス(IPv4のみ)も可。NULLの場合、設定が解除される
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • controller引数にNULLが指定された場合
  • 範囲外のパーティションインデックスが指定された場合
  • アドレスの名前解決に失敗した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC void GS_API_CALL gsClosePartitionController ( GSPartitionController **  controller)

指定のGSPartitionControllerインスタンスを解放します。

Parameters
[in,out]controllerクローズ対象のGSPartitionControllerインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数にNULLが設定されます。以後、解放したGSPartitionControllerインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionBackupHosts ( GSPartitionController controller,
int32_t  partitionIndex,
const GSChar *const **  addressList,
size_t *  size 
)

指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。

オーナノードとは、gsGetGridStoreおける一貫性レベルとして"EVENTUAL"を指定した場合に、優先的に選択されるノードのことです。
一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。
Attention
アドレス一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]controller処理対象のGSPartitionController
[in]partitionIndexパーティションインデックス。0以上パーティション数未満の値。
[out]addressListアドレスの文字列表現一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]sizeコンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のパーティションインデックスが指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerCount ( GSPartitionController controller,
int32_t  partitionIndex,
int64_t *  containerCount 
)

指定のパーティションに属するコンテナの総数を取得します。

コンテナ数を求める際の計算量は、コンテナ数にはおおむね依存しません。
Parameters
[in]controller処理対象のGSPartitionController
[in]partitionIndexパーティションインデックス。0以上パーティション数未満の値
[out]containerCountコンテナ数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のパーティションインデックスが指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerNames ( GSPartitionController controller,
int32_t  partitionIndex,
int64_t  start,
const int64_t *  limit,
const GSChar *const **  nameList,
size_t *  size 
)

指定のパーティションに所属するコンテナの名前の一覧を取得します。

指定のパーティションについてコンテナの新規作成・構成変更・削除が行われたとしても、該当コンテナを除くとその前後で一覧の取得結果の順序が変わることはありません。それ以外の一覧の順序に関しては不定です。重複する名前が含まれることはありません。
取得件数の上限が指定された場合、上限を超える場合、後方のものから切り捨てられます。指定条件に該当するものが存在しない場合、空のリストが求まります。
Attention
コンテナ名一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]controller処理対象のGSPartitionController
[in]partitionIndexパーティションインデックス。0以上パーティション数未満の値。
[in]start取得範囲の開始位置。0以上の値
[in]limit取得件数の上限。NULLの場合、上限なしとみなされる
[out]nameListコンテナ名一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]sizeコンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • limit以外のポインタ型引数にNULLが指定された場合
  • 範囲外のパーティションインデックスが指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionCount ( GSPartitionController controller,
int32_t *  partitionCount 
)

対象とするGridDBクラスタのパーティション数を取得します。

対象とするGridDBクラスタにおけるパーティション数設定の値を取得します。一度取得した結果はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。
Parameters
[in]controller処理対象のGSPartitionController
[out]partitionCountパーティション数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、-1が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionHosts ( GSPartitionController controller,
int32_t  partitionIndex,
const GSChar *const **  addressList,
size_t *  size 
)

指定のパーティションに対応するノードのアドレス一覧を取得します。

一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。
Attention
アドレス一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]controller処理対象のGSPartitionController
[in]partitionIndexパーティションインデックス。0以上パーティション数未満の値。
[out]addressListアドレスの文字列表現一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]sizeコンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のパーティションインデックスが指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionIndexOfContainer ( GSPartitionController controller,
const GSChar containerName,
int32_t *  partitionIndex 
)

指定のコンテナ名に対応するパーティションインデックスを取得します。

一度GridDBクラスタが構築されると、コンテナの所属先のパーティションが変化することはなく、パーティションインデックスも一定となります。指定の名前に対応するコンテナが存在するかどうかは、結果に依存しません。
パーティションインデックスの算出に必要とする情報はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。
Parameters
[in]controller処理対象のGSPartitionController
[in]containerNameコンテナ名
[out]partitionIndexパーティションインデックスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、-1が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • コンテナ名として許可されない文字列が指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionOwnerHost ( GSPartitionController controller,
int32_t  partitionIndex,
const GSChar **  address 
)

指定のパーティションに対応するオーナノードのアドレスを取得します。

オーナノードとは、gsGetGridStoreおける一貫性レベルとして"IMMEDIATE"を指定した場合に、常に選択されるノードのことです。
Attention
アドレスを格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]controller処理対象のGSPartitionController
[in]partitionIndexパーティションインデックス。0以上パーティション数未満の値。
[out]addressアドレスの文字列表現を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のパーティションインデックスが指定された場合
  • この処理のタイムアウト、接続障害が発生した場合
  • 対応するGSGridStoreのクローズ後に呼び出された場合
Since
1.5
GSQuery

Typedefs

typedef struct GSQueryTag GSQuery
 特定のGSContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。
 
typedef GSEnum GSFetchOption
 
typedef GSEnum GSQueryOrder
 

Enumerations

enum  GSFetchOptionTag { GS_FETCH_LIMIT, GS_FETCH_PARTIAL_EXECUTION = (GS_FETCH_LIMIT + 2) }
 クエリ実行結果を取得する際のオプション項目です。More...
 
enum  GSQueryOrderTag { GS_ORDER_ASCENDING, GS_ORDER_DESCENDING }
 クエリにおける要求ロウ順序を表します。More...
 

Functions

GS_DLL_PUBLIC void GS_API_CALL gsCloseQuery (GSQuery **query)
 指定のGSQueryインスタンスを解放します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsFetch (GSQuery *query, GSBool forUpdate, GSRowSet **rowSet)
 オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetFetchOption (GSQuery *query, GSFetchOption fetchOption, const void *value, GSType valueType)
 結果取得に関するオプションを設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowSet (GSQuery *query, GSRowSet **rowSet)
 直近に実行した結果のGSRowSetを取得します。More...
 

Detailed Description

Typedef Documentation

Enumeration Type Documentation

クエリ実行結果を取得する際のオプション項目です。

Enumerator
GS_FETCH_LIMIT 

取得するロウの数の最大値を設定するために使用します。

実行結果のロウ数が最大値を超えた場合、GSRowSetで得られる順番で先頭から最大値の分だけが取得できます。それ以降のロウは取得できません。
サポートされる設定値の型は、INTEGERまたはLONGです。負の値は指定できません。設定が省略された場合、上限は設定されません。
GS_FETCH_PARTIAL_EXECUTION 

部分実行モードを設定するために使用します。

部分実行モードでは、クエリの中間処理や結果送受信に用いるバッファのサイズなどがなるべく一定の範囲に収まるよう、必要に応じて実行対象のデータ範囲を分割し、この部分範囲ごとに実行とフェッチをリクエストすることがあります。そのため、GSRowSetを取得した時点で一部の範囲の結果が求まっていないことや、結果ロウを順に参照していく段階で、残りの範囲を部分的に実行していくことがあります。
部分実行モードは、現バージョンでは次の条件すべてを満たすクエリに使用できます。また、GS_FETCH_LIMITオプションと併用することができます。条件を満たさない場合でも、各種フェッチオプションの設定時点ではエラーを検知しない場合があります。
  • TQL文からなるクエリであること
  • TQL文において、選択式が「*」のみからなり、ORDER BY節を含まないこと
  • 対応するGSContainerが個々の部分的なクエリ実行時点において常に自動コミットモードに設定されていること
部分実行モードでは、対応するGSContainerのトランザクション分離レベルや状態に基づき、個々の部分的なクエリ実行時点において参照可能なロウが使用されます。ただし、クエリ全体の実行開始時点で存在しないロウは、実行対象から外れる場合があります。
部分実行モードを有効にした場合にGSRowSetに対して使用できない操作や特有の挙動については、個別の定義を参照してください。
サポートされる設定値の型は、BOOLのみです。部分実行モードを有効にするには、GS_TRUEと一致する値を指定します。現バージョンでは、未設定の場合には部分実行モードを有効にしません。
Since
4.0

クエリにおける要求ロウ順序を表します。

各種クエリ機能別に定義される判定対象を基準として、順序指定を行うために使用します。具体的な判定対象は、個別の機能によって異なります。
Enumerator
GS_ORDER_ASCENDING 

要求ロウ順序が昇順であることを表します。

GS_ORDER_DESCENDING 

要求ロウ順序が降順であることを表します。

Function Documentation

GS_DLL_PUBLIC void GS_API_CALL gsCloseQuery ( GSQuery **  query)

指定のGSQueryインスタンスを解放します。

Parameters
[in,out]queryクローズ対象のGSQueryインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数にNULLが設定されます。以後、解放したGSQueryインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
GS_DLL_PUBLIC GSResult GS_API_CALL gsFetch ( GSQuery query,
GSBool  forUpdate,
GSRowSet **  rowSet 
)

オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。

forUpdateGS_TRUEが指定された場合、取得対象のロウすべてをロックします。ロックすると、対応するトランザクションが有効である間、他のトランザクションからの対象ロウに対する変更操作が阻止されます。対応するコンテナの自動コミットモードが無効の場合のみ、指定できます。
新たなロウ集合を取得すると、指定のクエリについて直近に実行した結果のGSRowSetを介するロウ操作はできなくなります。
一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDB機能リファレンスを参照してください。
Parameters
[in]query処理対象のGSQuery
[in]forUpdate更新用ロックを要求するかどうか
[out]rowSetGSRowSetインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 対応するコレクションの自動コミットモード有効であるにもかかわらず、forUpdateGS_TRUEが指定された場合
  • ロックできないクエリであるにもかかわらず、forUpdateGS_TRUEが指定された場合。具体的なロックの可否は、指定のクエリを作成する機能の各種定義を参照してください。
  • 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。具体的な制約は、指定のクエリを作成する機能の各種定義を参照してください。
  • この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するGSContainerのクローズ後に呼び出された場合
  • ポインタ型引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowSet ( GSQuery query,
GSRowSet **  rowSet 
)

直近に実行した結果のGSRowSetを取得します。

一度取得すると、以降新たに指定のクエリを実行するまでGSRowSetが取得できなくなります。
GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。
Parameters
[in]query処理対象のGSQuery
[out]rowSet直近に実行した結果のGSRowSetインスタンスを格納するためのポインタ変数へのポインタ値。取得済みの場合、もしくは、一度もクエリを実行したことのない場合はNULLが設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはGSContainerのクローズ後に呼び出された場合
  • ポインタ型引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetFetchOption ( GSQuery query,
GSFetchOption  fetchOption,
const void *  value,
GSType  valueType 
)

結果取得に関するオプションを設定します。

設定可能なオプション項目と値の定義については、GSFetchOptionTagを参照してください。
Attention
valueTypevalueの型との対応が正しくない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]query処理対象のGSQuery
[in]fetchOptionオプション項目
[in]valueオプションの値。指定可能な型は、valueTypeによって次のように異なります。
valueType valueの型
INTEGER int32_t*
LONG int64_t*
BOOL GSBool*
[in]valueTypeオプションの値の型
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • オプション項目固有の制約に違反した場合
  • ポインタ型引数にNULLが指定された場合
  • 対応するGSContainerのクローズ後に呼び出された場合
GSRow

Typedefs

typedef struct GSRowTag GSRow
 任意のスキーマについて汎用的にフィールド操作できるロウです。More...
 
typedef GSRow GSRowKey
 ロウキーに関するカラムのみから構成されるGSRowの一種です。More...
 

Functions

GS_DLL_PUBLIC void GS_API_CALL gsCloseRow (GSRow **row)
 指定のGSRowインスタンスを解放します。More...
 
GS_STATIC_HEADER_FUNC_SPECIFIER
GSResult 
gsGetRowSchema (GSRow *row, GSContainerInfo *schemaInfo)
 指定のロウに対応するスキーマを取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldGeneral (GSRow *row, int32_t column, const GSValue *fieldValue, GSType type)
 指定のフィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldGeneral (GSRow *row, int32_t column, GSValue *fieldValue, GSType *type)
 指定のフィールドの値とその型を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldNull (GSRow *row, int32_t column)
 指定のフィールドにNULLを設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldNull (GSRow *row, int32_t column, GSBool *nullValue)
 指定のフィールドにNULLが設定されているかどうかを返します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByString (GSRow *row, int32_t column, const GSChar *fieldValue)
 指定のSTRING型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsString (GSRow *row, int32_t column, const GSChar **fieldValue)
 指定のSTRING型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBool (GSRow *row, int32_t column, GSBool fieldValue)
 指定のBOOL型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBool (GSRow *row, int32_t column, GSBool *fieldValue)
 指定のBOOL型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByte (GSRow *row, int32_t column, int8_t fieldValue)
 指定のBYTE型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByte (GSRow *row, int32_t column, int8_t *fieldValue)
 指定のBYTE型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShort (GSRow *row, int32_t column, int16_t fieldValue)
 指定のSHORT型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShort (GSRow *row, int32_t column, int16_t *fieldValue)
 指定のSHORT型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByInteger (GSRow *row, int32_t column, int32_t fieldValue)
 指定のINTEGER型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsInteger (GSRow *row, int32_t column, int32_t *fieldValue)
 指定のINTEGER型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLong (GSRow *row, int32_t column, int64_t fieldValue)
 指定のLONG型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLong (GSRow *row, int32_t column, int64_t *fieldValue)
 指定のLONG型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloat (GSRow *row, int32_t column, float fieldValue)
 指定のFLOAT型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloat (GSRow *row, int32_t column, float *fieldValue)
 指定のFLOAT型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDouble (GSRow *row, int32_t column, double fieldValue)
 指定のDOUBLE型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDouble (GSRow *row, int32_t column, double *fieldValue)
 指定のDOUBLE型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestamp (GSRow *row, int32_t column, GSTimestamp fieldValue)
 指定のTIMESTAMP型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestamp (GSRow *row, int32_t column, GSTimestamp *fieldValue)
 指定のTIMESTAMP型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByGeometry (GSRow *row, int32_t column, const GSChar *fieldValue)
 指定のGEOMETRY型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsGeometry (GSRow *row, int32_t column, const GSChar **fieldValue)
 指定のGEOMETRY型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBlob (GSRow *row, int32_t column, const GSBlob *fieldValue)
 指定のBLOB型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBlob (GSRow *row, int32_t column, GSBlob *fieldValue)
 指定のBLOB型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByStringArray (GSRow *row, int32_t column, const GSChar *const *fieldValue, size_t size)
 指定のSTRING配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsStringArray (GSRow *row, int32_t column, const GSChar *const **fieldValue, size_t *size)
 指定のSTRING配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBoolArray (GSRow *row, int32_t column, const GSBool *fieldValue, size_t size)
 指定のBOOL配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBoolArray (GSRow *row, int32_t column, const GSBool **fieldValue, size_t *size)
 指定のBOOL配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByteArray (GSRow *row, int32_t column, const int8_t *fieldValue, size_t size)
 指定のBYTE配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByteArray (GSRow *row, int32_t column, const int8_t **fieldValue, size_t *size)
 指定のBYTE配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShortArray (GSRow *row, int32_t column, const int16_t *fieldValue, size_t size)
 指定のSHORT配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShortArray (GSRow *row, int32_t column, const int16_t **fieldValue, size_t *size)
 指定のSHORT配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByIntegerArray (GSRow *row, int32_t column, const int32_t *fieldValue, size_t size)
 指定のINTEGER配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsIntegerArray (GSRow *row, int32_t column, const int32_t **fieldValue, size_t *size)
 指定のINTEGER配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLongArray (GSRow *row, int32_t column, const int64_t *fieldValue, size_t size)
 指定のLONG配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLongArray (GSRow *row, int32_t column, const int64_t **fieldValue, size_t *size)
 指定のLONG配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloatArray (GSRow *row, int32_t column, const float *fieldValue, size_t size)
 指定のFLOAT配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloatArray (GSRow *row, int32_t column, const float **fieldValue, size_t *size)
 指定のFLOAT配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDoubleArray (GSRow *row, int32_t column, const double *fieldValue, size_t size)
 指定のDOUBLE配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDoubleArray (GSRow *row, int32_t column, const double **fieldValue, size_t *size)
 指定のDOUBLE配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestampArray (GSRow *row, int32_t column, const GSTimestamp *fieldValue, size_t size)
 指定のTIMESTAMP配列型フィールドに値を設定します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestampArray (GSRow *row, int32_t column, const GSTimestamp **fieldValue, size_t *size)
 指定のTIMESTAMP配列型フィールドの値を取得します。More...
 
GS_DLL_PUBLIC 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...
 

Detailed Description

Typedef Documentation

typedef struct GSRowTag GSRow

任意のスキーマについて汎用的にフィールド操作できるロウです。

NULLが設定されたフィールドに対して型指定のフィールド値取得機能を用いた場合、NULLの代わりにGSContainerにて定義されている空の値が求まります。たとえば文字列型カラムに対応するフィールドにNULLが設定されており、かつ、gsGetRowFieldAsStringを用いた場合、NULLアドレスではなく、空の値である長さ0の文字列を指すアドレスが求まります。
Since
1.5
typedef GSRow GSRowKey

ロウキーに関するカラムのみから構成されるGSRowの一種です。

gsGetRowSchemaより求まるGSContainerInfoに含まれるカラム情報は、ロウキーに関するカラムの情報のみとなります。
Since
4.3

Function Documentation

GS_DLL_PUBLIC void GS_API_CALL gsCloseRow ( GSRow **  row)

指定のGSRowインスタンスを解放します。

Parameters
[in,out]rowクローズ対象のGSRowインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数にNULLが設定されます。以後、解放したGSRowインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowByRow ( GSRow row,
GSRow **  destRow 
)

同一のフィールド値からなる新たなGSRowインスタンスを作成します。

Parameters
[in]row作成元とするGSRow
[out]destRow新たに作成されるGSRowインスタンスを格納するための、ポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowKeyByRow ( GSRow row,
GSRowKey **  key 
)

ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなGSRowKeyインスタンスを作成します。

Parameters
[in]row作成元とするGSRow
[out]key新たに作成されるGSRowKeyインスタンスを格納するための、ポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 作成元とするGSRowがロウキーを持たない場合
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBlob ( GSRow row,
int32_t  column,
GSBlob fieldValue 
)

指定のBLOB型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBool ( GSRow row,
int32_t  column,
GSBool fieldValue 
)

指定のBOOL型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBoolArray ( GSRow row,
int32_t  column,
const GSBool **  fieldValue,
size_t *  size 
)

指定のBOOL配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByte ( GSRow row,
int32_t  column,
int8_t *  fieldValue 
)

指定のBYTE型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByteArray ( GSRow row,
int32_t  column,
const int8_t **  fieldValue,
size_t *  size 
)

指定のBYTE配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDouble ( GSRow row,
int32_t  column,
double *  fieldValue 
)

指定のDOUBLE型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDoubleArray ( GSRow row,
int32_t  column,
const double **  fieldValue,
size_t *  size 
)

指定のDOUBLE配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloat ( GSRow row,
int32_t  column,
float *  fieldValue 
)

指定のFLOAT型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloatArray ( GSRow row,
int32_t  column,
const float **  fieldValue,
size_t *  size 
)

指定のFLOAT配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsGeometry ( GSRow row,
int32_t  column,
const GSChar **  fieldValue 
)

指定のGEOMETRY型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsInteger ( GSRow row,
int32_t  column,
int32_t *  fieldValue 
)

指定のINTEGER型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsIntegerArray ( GSRow row,
int32_t  column,
const int32_t **  fieldValue,
size_t *  size 
)

指定のINTEGER配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLong ( GSRow row,
int32_t  column,
int64_t *  fieldValue 
)

指定のLONG型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLongArray ( GSRow row,
int32_t  column,
const int64_t **  fieldValue,
size_t *  size 
)

指定のLONG配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShort ( GSRow row,
int32_t  column,
int16_t *  fieldValue 
)

指定のSHORT型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShortArray ( GSRow row,
int32_t  column,
const int16_t **  fieldValue,
size_t *  size 
)

指定のSHORT配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsString ( GSRow row,
int32_t  column,
const GSChar **  fieldValue 
)

指定のSTRING型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsStringArray ( GSRow row,
int32_t  column,
const GSChar *const **  fieldValue,
size_t *  size 
)

指定のSTRING配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestamp ( GSRow row,
int32_t  column,
GSTimestamp fieldValue 
)

指定のTIMESTAMP型フィールドの値を取得します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestampArray ( GSRow row,
int32_t  column,
const GSTimestamp **  fieldValue,
size_t *  size 
)

指定のTIMESTAMP配列型フィールドの値を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldGeneral ( GSRow row,
int32_t  column,
GSValue fieldValue,
GSType type 
)

指定のフィールドの値とその型を取得します。

Attention
フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]fieldValue対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]type対象フィールドの値の型を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldNull ( GSRow row,
int32_t  column,
GSBool nullValue 
)

指定のフィールドにNULLが設定されているかどうかを返します。

NOT NULL制約の設定されたカラムが指定された場合、常にGS_FALSEを返します。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[out]nullValueNULLが設定されているかどうか受け取る変数へのポインタ値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
Since
3.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetRowSchema ( GSRow row,
GSContainerInfo schemaInfo 
)

指定のロウに対応するスキーマを取得します。

ロウキーの有無を含むカラムレイアウトにする情報のみが設定されたGSContainerInfoが求まります。コンテナ名、コンテナ種別、索引設定、時系列構成オプションなどその他のコンテナ情報は含まれません。
Attention
カラム情報の列などの可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用します。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]row処理対象のGSRow
[out]schemaInfoスキーマ情報を格納するためのGSContainerInfoへのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBlob ( GSRow row,
int32_t  column,
const GSBlob fieldValue 
)

指定のBLOB型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBool ( GSRow row,
int32_t  column,
GSBool  fieldValue 
)

指定のBOOL型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBoolArray ( GSRow row,
int32_t  column,
const GSBool fieldValue,
size_t  size 
)

指定のBOOL配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByte ( GSRow row,
int32_t  column,
int8_t  fieldValue 
)

指定のBYTE型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByteArray ( GSRow row,
int32_t  column,
const int8_t *  fieldValue,
size_t  size 
)

指定のBYTE配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDouble ( GSRow row,
int32_t  column,
double  fieldValue 
)

指定のDOUBLE型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDoubleArray ( GSRow row,
int32_t  column,
const double *  fieldValue,
size_t  size 
)

指定のDOUBLE配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloat ( GSRow row,
int32_t  column,
float  fieldValue 
)

指定のFLOAT型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloatArray ( GSRow row,
int32_t  column,
const float *  fieldValue,
size_t  size 
)

指定のFLOAT配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByGeometry ( GSRow row,
int32_t  column,
const GSChar fieldValue 
)

指定のGEOMETRY型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByInteger ( GSRow row,
int32_t  column,
int32_t  fieldValue 
)

指定のINTEGER型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByIntegerArray ( GSRow row,
int32_t  column,
const int32_t *  fieldValue,
size_t  size 
)

指定のINTEGER配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLong ( GSRow row,
int32_t  column,
int64_t  fieldValue 
)

指定のLONG型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLongArray ( GSRow row,
int32_t  column,
const int64_t *  fieldValue,
size_t  size 
)

指定のLONG配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShort ( GSRow row,
int32_t  column,
int16_t  fieldValue 
)

指定のSHORT型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShortArray ( GSRow row,
int32_t  column,
const int16_t *  fieldValue,
size_t  size 
)

指定のSHORT配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByString ( GSRow row,
int32_t  column,
const GSChar fieldValue 
)

指定のSTRING型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByStringArray ( GSRow row,
int32_t  column,
const GSChar *const *  fieldValue,
size_t  size 
)

指定のSTRING配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
  • 配列要素にNULLが含まれる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestamp ( GSRow row,
int32_t  column,
GSTimestamp  fieldValue 
)

指定のTIMESTAMP型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestampArray ( GSRow row,
int32_t  column,
const GSTimestamp fieldValue,
size_t  size 
)

指定のTIMESTAMP配列型フィールドに値を設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値
[in]size対象フィールドの値の配列要素数
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • 指定のカラム番号の型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldGeneral ( GSRow row,
int32_t  column,
const GSValue fieldValue,
GSType  type 
)

指定のフィールドに値を設定します。

Attention
対象フィールドの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
[in]fieldValue対象フィールドの値。typeとしてGS_TYPE_NULLが指定された場合は、指定の内容が参照されることはありません。ただし、NULL以外のポインタ値を指定する必要があります
[in]type対象フィールドの値の型
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • NOT NULL制約の設定されたカラムに対して、フィールド値の型としてGS_TYPE_NULLが指定された場合
  • フィールドの値の構成要素のポインタ値としてNULLが含まれていた場合
  • フィールドの値がカラムの型と一致しない場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldNull ( GSRow row,
int32_t  column 
)

指定のフィールドにNULLを設定します。

Parameters
[in]row処理対象のGSRow
[in]column対象フィールドのカラム番号。0以上かつカラム数未満の値
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 範囲外のカラム番号が指定された場合
  • NOT NULL制約の設定されたカラムが指定された場合
Since
3.5
GSRowKeyPredicate

Typedefs

typedef struct GSRowKeyPredicateTag GSRowKeyPredicate
 ロウキーの合致条件を表します。More...
 

Functions

GS_DLL_PUBLIC void GS_API_CALL gsCloseRowKeyPredicate (GSRowKeyPredicate **predicate)
 指定のGSRowKeyPredicateインスタンスを解放します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeyType (GSRowKeyPredicate *predicate, GSType *keyType)
 合致条件の評価対象とするロウキーの型を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL 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 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 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 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 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 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...
 

Detailed Description

Typedef Documentation

typedef struct GSRowKeyPredicateTag GSRowKeyPredicate

ロウキーの合致条件を表します。

gsGetMultipleContainerRowsにおける取得条件を構成するために使用できます。
条件の種別として、範囲条件と個別条件の2つの種別があります。両方の種別の条件を共に指定することはできません。条件の内容を何も指定しない場合、対象とするすべてのロウキーに合致することを表します。
Since
1.5

Function Documentation

GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateGeneralKey ( GSRowKeyPredicate predicate,
GSRowKey keyObj 
)

個別条件の要素の一つとするロウキーの値を追加します。

追加された値と同一の値のロウキーは合致するものとみなされるようになります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]keyObj個別条件の要素の一つとするロウキー
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByInteger ( GSRowKeyPredicate predicate,
int32_t  key 
)

個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。

追加された値と同一の値のロウキーは合致するものとみなされるようになります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]key個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByLong ( GSRowKeyPredicate predicate,
int64_t  key 
)

個別条件の要素の一つとするLONG型ロウキーの値を追加します。

追加された値と同一の値のロウキーは合致するものとみなされるようになります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]key個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByString ( GSRowKeyPredicate predicate,
const GSChar key 
)

個別条件の要素の一つとするSTRING型ロウキーの値を追加します。

追加された値と同一の値のロウキーは合致するものとみなされるようになります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]key個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByTimestamp ( GSRowKeyPredicate predicate,
GSTimestamp  key 
)

個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。

追加された値と同一の値のロウキーは合致するものとみなされるようになります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]key個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyGeneral ( GSRowKeyPredicate predicate,
const GSValue key,
GSType  keyType 
)

個別条件の要素の一つとする、単一カラムのロウキーの値を追加します。

追加された値と同一の値のロウキーは合致するものとみなされるようになります。
Attention
指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]key個別条件の要素の一つとするロウキー
[in]keyType個別条件の要素の一つとするロウキーの値の型
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • ポインタ型引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC void GS_API_CALL gsCloseRowKeyPredicate ( GSRowKeyPredicate **  predicate)

指定のGSRowKeyPredicateインスタンスを解放します。

Parameters
[in,out]predicateクローズ対象のGSRowKeyPredicateインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数にNULLが設定されます。以後、解放したGSRowKeyPredicateインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctGeneralKeys ( GSRowKeyPredicate predicate,
GSRowKey *const **  keyObjList,
size_t *  size 
)

個別条件を構成するロウキーの集合を取得します。

Attention
ロウキーの列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyObjList個別条件を構成するロウキーの集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size個別条件を構成するロウキーの集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsInteger ( GSRowKeyPredicate predicate,
const int32_t **  keyList,
size_t *  size 
)

個別条件を構成するINTEGER型ロウキーの値の集合を取得します。

Attention
値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyList個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsLong ( GSRowKeyPredicate predicate,
const int64_t **  keyList,
size_t *  size 
)

個別条件を構成するLONG型ロウキーの値の集合を取得します。

Attention
値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyList個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsString ( GSRowKeyPredicate predicate,
const GSChar *const **  keyList,
size_t *  size 
)

個別条件を構成するSTRING型ロウキーの値の集合を取得します。

Attention
値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyList個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsTimestamp ( GSRowKeyPredicate predicate,
const GSTimestamp **  keyList,
size_t *  size 
)

個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。

Attention
値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyList個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysGeneral ( GSRowKeyPredicate predicate,
const GSValue **  keyList,
size_t *  size 
)

個別条件を構成する、単一カラムのロウキーの値の集合を取得します。

Attention
値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyList個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
[out]size個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は0が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0が格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 複合ロウキーについての合致条件が指定された場合
  • 引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishGeneralKey ( GSRowKeyPredicate predicate,
GSRowKey **  keyObj 
)

範囲条件の終了位置とするロウキーの値を取得します。

Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyObj終了位置とするロウキーとして新たに作成されるGSRowKeyインスタンスを格納するための、ポインタ変数へのポインタ値。終了位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsInteger ( GSRowKeyPredicate predicate,
const int32_t **  finishKey 
)

範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]finishKey終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsLong ( GSRowKeyPredicate predicate,
const int64_t **  finishKey 
)

範囲条件の終了位置とするLONG型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]finishKey終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsString ( GSRowKeyPredicate predicate,
const GSChar **  finishKey 
)

範囲条件の終了位置とするSTRING型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]finishKey終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsTimestamp ( GSRowKeyPredicate predicate,
const GSTimestamp **  finishKey 
)

範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]finishKey終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyGeneral ( GSRowKeyPredicate predicate,
const GSValue **  finishKey 
)

範囲条件の終了位置とする、単一カラムのロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]finishKey終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 複合ロウキーについての合致条件が指定された場合
  • 引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeySchema ( GSRowKeyPredicate predicate,
GSContainerInfo info 
)

合致条件の評価対象とするロウキーのスキーマを取得します。

この合致条件の作成に用いられた情報に、ロウキー以外のカラム情報やスキーマ以外のコンテナ情報が含まれていたとしても、返却されるスキーマ情報には含まれません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]infoスキーマ情報を格納するためのGSContainerInfoへのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeyType ( GSRowKeyPredicate predicate,
GSType keyType 
)

合致条件の評価対象とするロウキーの型を取得します。

Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyType合致条件の評価対象とするロウキーの型を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartGeneralKey ( GSRowKeyPredicate predicate,
GSRowKey **  keyObj 
)

範囲条件の開始位置とするロウキーを取得します。

Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]keyObj開始位置とするロウキーとして新たに作成されるGSRowKeyインスタンスを格納するための、ポインタ変数へのポインタ値。開始位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsInteger ( GSRowKeyPredicate predicate,
const int32_t **  startKey 
)

範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]startKey開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsLong ( GSRowKeyPredicate predicate,
const int64_t **  startKey 
)

範囲条件の開始位置とするLONG型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]startKey開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsString ( GSRowKeyPredicate predicate,
const GSChar **  startKey 
)

範囲条件の開始位置とするSTRING型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]startKey開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsTimestamp ( GSRowKeyPredicate predicate,
const GSTimestamp **  startKey 
)

範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]startKey開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 引数にNULLが指定された場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyGeneral ( GSRowKeyPredicate predicate,
const GSValue **  startKey 
)

範囲条件の開始位置とする、単一カラムのロウキーの値を取得します。

Attention
値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[out]startKey開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合はNULLが格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULLが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 複合ロウキーについての合致条件が指定された場合
  • 引数にNULLが指定された場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishGeneralKey ( GSRowKeyPredicate predicate,
GSRowKey keyObj 
)

範囲条件の終了位置とするロウキーの値を設定します。

設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
STRING型のロウキーまたはその型を含む複合ロウキーのように、大小関係が定義されていないロウキーの場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]keyObj終了位置とするロウキー。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByInteger ( GSRowKeyPredicate predicate,
const int32_t *  finishKey 
)

範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。

設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]finishKey終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByLong ( GSRowKeyPredicate predicate,
const int64_t *  finishKey 
)

範囲条件の終了位置とするLONG型ロウキーの値を設定します。

設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]finishKey終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByString ( GSRowKeyPredicate predicate,
const GSChar finishKey 
)

範囲条件の終了位置とするSTRING型ロウキーの値を設定します。

設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
STRING型では大小関係が定義されていないため、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]finishKey終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByTimestamp ( GSRowKeyPredicate predicate,
const GSTimestamp finishKey 
)

範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。

設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]finishKey終了位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyGeneral ( GSRowKeyPredicate predicate,
const GSValue finishKey,
GSType  keyType 
)

範囲条件の終了位置とする、単一カラムのロウキーの値を設定します。

設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Attention
指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]finishKey終了位置とするロウキーの値。NULLの場合、設定が解除されます
[in]keyType終了位置とするロウキーの値の型
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartGeneralKey ( GSRowKeyPredicate predicate,
GSRowKey keyObj 
)

範囲条件の開始位置とするロウキーの値を設定します。

設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
STRING型のロウキーまたはその型を含む複合ロウキーのように、大小関係が定義されていないロウキーの場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]keyObj開始位置とするロウキー。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByInteger ( GSRowKeyPredicate predicate,
const int32_t *  startKey 
)

範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。

設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]startKey開始位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByLong ( GSRowKeyPredicate predicate,
const int64_t *  startKey 
)

範囲条件の開始位置とするLONG型ロウキーの値を設定します。

設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]startKey開始位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByString ( GSRowKeyPredicate predicate,
const GSChar startKey 
)

範囲条件の開始位置とするSTRING型ロウキーの値を設定します。

設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
STRING型では大小関係が定義されていないため、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]startKey開始位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByTimestamp ( GSRowKeyPredicate predicate,
const GSTimestamp startKey 
)

範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。

設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]startKey開始位置とするロウキーの値。NULLの場合、設定が解除されます
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyGeneral ( GSRowKeyPredicate predicate,
const GSValue startKey,
GSType  keyType 
)

範囲条件の開始位置とする、単一カラムのロウキーの値を設定します。

設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
Attention
指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]predicate処理対象のGSRowKeyPredicate
[in]startKey開始位置とするロウキーの値。NULLの場合、設定が解除されます
[in]keyType開始位置とするロウキーの値の型
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • predicate引数にNULLが指定された場合
  • 個別条件がすでに設定されていた場合
  • 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
Since
1.5
GSRowSet

Classes

struct  GSQueryAnalysisEntryTag
 クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。More...
 

Macros

#define GS_QUERY_ANALYSIS_ENTRY_INITIALIZER   { 0, 0, NULL, NULL, NULL, NULL }
 GSQueryAnalysisEntryの初期化子です。
 

Typedefs

typedef struct GSRowSetTag GSRowSet
 クエリ実行より求めたロウの集合を管理します。More...
 
typedef GSEnum GSRowSetType
 
typedef struct
GSQueryAnalysisEntryTag 
GSQueryAnalysisEntry
 クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。More...
 

Enumerations

enum  GSRowSetTypeTag { GS_ROW_SET_CONTAINER_ROWS, GS_ROW_SET_AGGREGATION_RESULT, GS_ROW_SET_QUERY_ANALYSIS }
 GSRowSetから取り出すことのできる内容の種別です。More...
 

Functions

GS_DLL_PUBLIC void GS_API_CALL gsCloseRowSet (GSRowSet **rowSet)
 指定のGSRowSetインスタンスを解放します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteCurrentRow (GSRowSet *rowSet)
 現在のカーソル位置のロウを削除します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextRow (GSRowSet *rowSet, void *rowObj)
 ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextAggregation (GSRowSet *rowSet, GSAggregationResult **aggregationResult)
 ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextQueryAnalysis (GSRowSet *rowSet, GSQueryAnalysisEntry *queryAnalysis)
 ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。More...
 
GS_DLL_PUBLIC GSRowSetType
GS_API_CALL 
gsGetRowSetType (GSRowSet *rowSet)
 ロウ集合の種別を取得します。More...
 
GS_DLL_PUBLIC int32_t GS_API_CALL gsGetRowSetSize (GSRowSet *rowSet)
 ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。More...
 
GS_DLL_PUBLIC GSBool GS_API_CALL gsHasNextRow (GSRowSet *rowSet)
 現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsUpdateCurrentRow (GSRowSet *rowSet, const void *rowObj)
 現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。More...
 

Detailed Description

Typedef Documentation

クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。

TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。
typedef struct GSRowSetTag GSRowSet

クエリ実行より求めたロウの集合を管理します。

ロウ単位・ロウフィールド単位での操作機能を持ち、対象とするロウを指し示すためのカーソル状態を保持します。初期状態のカーソルは、ロウ集合の先頭より手前に位置しています。

Enumeration Type Documentation

GSRowSetから取り出すことのできる内容の種別です。

Enumerator
GS_ROW_SET_CONTAINER_ROWS 

クエリ実行対象のコンテナと対応する型のロウデータからなるGSRowSetであることを示します。

GS_ROW_SET_AGGREGATION_RESULT 

集計演算からなるGSRowSetであることを示します。

See Also
GSAggregationResult
GS_ROW_SET_QUERY_ANALYSIS 

EXPLAIN文ならびEXPLAIN ANALYZE文の実行結果エントリからなるGSRowSetであることを示します。

See Also
GSQueryAnalysisEntry

Function Documentation

GS_DLL_PUBLIC void GS_API_CALL gsCloseRowSet ( GSRowSet **  rowSet)

指定のGSRowSetインスタンスを解放します。

Parameters
[in,out]rowSetクローズ対象のGSRowSetインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数にNULLが設定されます。以後、解放したGSRowSetインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULLの場合は、クローズ処理を行いません。
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteCurrentRow ( GSRowSet rowSet)

現在のカーソル位置のロウを削除します。

ロックを有効にして取得したGSRowSetに対してのみ使用できます。また、gsDeleteRowと同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。
Parameters
[in]rowSet処理対象のGSRowSet
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
  • 対象位置のロウが存在しない場合
  • ロックを有効にせずに取得したGSRowSetに対して呼び出された場合
  • この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
  • 引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextAggregation ( GSRowSet rowSet,
GSAggregationResult **  aggregationResult 
)

ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。

Parameters
[in]rowSet処理対象のGSRowSet
[out]aggregationResult集計結果をGSAggregationResultとして格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のロウ集合の種別がGS_ROW_SET_AGGREGATION_RESULT以外の場合
  • 対象位置の集計結果が存在しない場合
  • 引数にNULLが指定された場合
  • 対応するGSContainerのクローズ後に呼び出された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextQueryAnalysis ( GSRowSet rowSet,
GSQueryAnalysisEntry queryAnalysis 
)

ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。

Parameters
[in]rowSet処理対象のGSRowSet
[out]queryAnalysisクエリ解析結果エントリの内容を格納するためのGSQueryAnalysisEntry。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、GS_QUERY_ANALYSIS_ENTRY_INITIALIZERと同一の内容の初期値が格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のロウ集合の種別がGS_ROW_SET_QUERY_ANALYSIS以外の場合
  • 対象位置のエントリが存在しない場合
  • 引数にNULLが指定された場合
  • 対応するGSContainerのクローズ後に呼び出された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextRow ( GSRowSet rowSet,
void *  rowObj 
)

ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。

GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。
Attention
対応するGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
文字列や配列などの可変長のデータを格納するために、指定のGSRowSetと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]rowSet処理対象のGSRowSet
[out]rowObj取得対象のロウの内容を格納するためのロウオブジェクト。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
  • 対象位置のロウが存在しない場合
  • 引数にNULLが指定された場合
  • この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • 対応するGSContainerのクローズ後に呼び出された場合
GS_DLL_PUBLIC int32_t GS_API_CALL gsGetRowSetSize ( GSRowSet rowSet)

ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。

GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の進行状況によらず、結果を求めることはできません。
Parameters
[in]rowSet処理対象のGSRowSet
Returns
ロウ集合のサイズ。ただし、rowSetNULLが指定された場合、またはオプション設定の影響によりロウの数を取得できない場合は-1
GS_DLL_PUBLIC GSRowSetType GS_API_CALL gsGetRowSetType ( GSRowSet rowSet)

ロウ集合の種別を取得します。

ロウ集合の種別に応じて、それぞれ次の取得機能が使用できます。
ロウ集合の種別使用できる取得機能
GS_ROW_SET_CONTAINER_ROWS gsGetNextRow
GS_ROW_SET_AGGREGATION_RESULT gsGetNextAggregation
GS_ROW_SET_QUERY_ANALYSIS gsGetNextQueryAnalysis
Parameters
[in]rowSet処理対象のGSRowSet
Returns
ロウ集合の種別。ただし、rowSetNULLが指定された場合は-1
GS_DLL_PUBLIC GSBool GS_API_CALL gsHasNextRow ( GSRowSet rowSet)

現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。

Parameters
[in]rowSet処理対象のGSRowSet
Returns
後続のロウが存在するかどうか。ただし、rowSetNULLが指定された場合はGS_FALSE
GS_DLL_PUBLIC GSResult GS_API_CALL gsUpdateCurrentRow ( GSRowSet rowSet,
const void *  rowObj 
)

現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。

Attention
対応するGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
ロックを有効にして取得したGSRowSetに対してのみ使用できます。また、gsPutRowと同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。
Parameters
[in]rowSet処理対象のGSRowSet
[in]rowObj更新するロウの内容と対応するロウオブジェクト。ロウキーの内容は無視されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
  • 対象位置のロウが存在しない場合
  • ロックを有効にせずに取得したGSRowSetに対して呼び出された場合
  • この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULLが含まれていた場合
  • 引数にNULLが指定された場合
GSTimeSeries

Classes

struct  GSColumnCompressionTag
 特定のカラムの圧縮設定を表します。More...
 
struct  GSTimeSeriesPropertiesTag
 時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。More...
 

Macros

#define GS_COLUMN_COMPRESSION_INITIALIZER   { NULL, GS_FALSE, 0, 0, 0 }
 GSColumnCompressionの初期化子です。
 
#define GS_TIME_SERIES_PROPERTIES_INITIALIZER
 GSTimeSeriesPropertiesの初期化子です。More...
 

Typedefs

typedef GSContainer GSTimeSeries
 時刻をロウキーとする、時系列処理に特化したコンテナです。More...
 
typedef GSEnum GSAggregation
 
typedef GSEnum GSInterpolationMode
 
typedef GSEnum GSTimeOperator
 
typedef GSEnum GSCompressionMethod
 
typedef struct
GSColumnCompressionTag 
GSColumnCompression
 特定のカラムの圧縮設定を表します。More...
 
typedef struct
GSTimeSeriesPropertiesTag 
GSTimeSeriesProperties
 時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。More...
 

Enumerations

enum  GSAggregationTag {
  GS_AGGREGATION_MINIMUM, GS_AGGREGATION_MAXIMUM, GS_AGGREGATION_TOTAL, GS_AGGREGATION_AVERAGE,
  GS_AGGREGATION_VARIANCE, GS_AGGREGATION_STANDARD_DEVIATION, GS_AGGREGATION_COUNT, GS_AGGREGATION_WEIGHTED_AVERAGE
}
 ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。More...
 
enum  GSInterpolationModeTag { GS_INTERPOLATION_LINEAR_OR_PREVIOUS, GS_INTERPOLATION_EMPTY }
 ロウの補間方法の種別を表します。More...
 
enum  GSTimeOperatorTag { GS_TIME_OPERATOR_PREVIOUS, GS_TIME_OPERATOR_PREVIOUS_ONLY, GS_TIME_OPERATOR_NEXT, GS_TIME_OPERATOR_NEXT_ONLY }
 GSTimeSeriesのキー時刻に基づく、ロウの特定方法を表します。More...
 
enum  GSCompressionMethodTag { GS_COMPRESSION_NO, GS_COMPRESSION_SS, GS_COMPRESSION_HI }
 圧縮方式の種別を表します。More...
 

Functions

GS_DLL_PUBLIC GSResult GS_API_CALL gsAggregateTimeSeries (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *column, GSAggregation aggregation, GSAggregationResult **aggregationResult)
 開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsAppendTimeSeriesRow (GSTimeSeries *timeSeries, const void *rowObj, GSBool *exists)
 GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByBaseTime (GSTimeSeries *timeSeries, GSTimestamp base, GSTimeOperator timeOp, void *rowObj, GSBool *exists)
 指定の時刻を基準として、関係する1つのロウを取得します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsInterpolateTimeSeriesRow (GSTimeSeries *timeSeries, GSTimestamp base, const GSChar *column, void *rowObj, GSBool *exists)
 指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesRange (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, GSQuery **query)
 開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesOrderedRange (GSTimeSeries *timeSeries, const GSTimestamp *start, const GSTimestamp *end, GSQueryOrder order, GSQuery **query)
 開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。More...
 
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesSampling (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *const *columnSet, size_t columnCount, GSInterpolationMode mode, int32_t interval, GSTimeUnit intervalUnit, GSQuery **query)
 特定範囲のロウ集合をサンプリングするクエリを作成します。More...
 

Detailed Description

Macro Definition Documentation

#define GS_TIME_SERIES_PROPERTIES_INITIALIZER

GSTimeSeriesPropertiesの初期化子です。

ロウの有効期限ならびに圧縮ロウの間引き連続制限は無効、時系列圧縮方式は無圧縮に設定されます。

Typedef Documentation

特定のカラムの圧縮設定を表します。

時系列を対象とした誤差あり間引き圧縮のカラム別設定に使用します。

時刻をロウキーとする、時系列処理に特化したコンテナです。

一般的に、範囲取得や集計演算といった処理は、GSCollectionよりも効率的な実装が選択されます。
ロウ操作については、GSCollectionと異なり一部制限が設けられています。GSTimeSeriesPropertiesに基づき圧縮オプションが設定されている場合、次のロウ操作を行えません。
  • 指定ロウの更新
  • 指定ロウの削除
  • 指定時刻より新しい時刻のロウが存在する場合の、ロウの新規作成
gsQueryもしくはgsGetMultipleContainerRowsなどより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序はロウキーの時刻を基準としてGS_ORDER_ASCENDING相当の順序に整列されます。
ロック粒度は、1つ以上のロウ集合をひとまとまりとする内部格納単位となります。したがって、特定ロウについてロックする際、そのロウが属する内部格納単位上の他のロウも同時にロックしようとします。

時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。

カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。

Enumeration Type Documentation

ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。

現バージョンでは、GSTimeSeriesに対してのみ使用できます。
重み付きの演算の場合、キーの値に基づき重み付け値を決定します。GSTimeSeriesに対する重み付きの演算の場合、前後それぞれの時刻のロウとの中間時刻間の期間を特定の単位で換算したものを、重み付け値として使用します。ただし、前後いずれかの時刻のロウのみが存在しない場合は、存在しないロウの代わりに重み付け対象のロウを用いて求めた重み付け値を使用します。前後いずれの時刻のロウも存在しない場合は、重み付け値として1 (単位は前後いずれかのロウが存在する場合と同一)を使用します。
演算の内部処理にてオーバーフローが発生した場合、浮動小数点数型では負または正の無限大、整数型では未定義の値が求まります。また、浮動小数点数型にて演算対象に非数(NaN)が含まれていた場合、非数が求まります。
Enumerator
GS_AGGREGATION_MINIMUM 

最小値を求める演算です。

大小比較できる型、すなわち数値型や時刻型のカラムに対してのみ使用できます。演算結果の型は、対象のカラムと同一の型となります。対象となるロウが1つも存在しない場合、演算結果は設定されません。
GS_AGGREGATION_MAXIMUM 

最大値を求める演算です。

大小比較できる型、すなわち数値型や時刻型のカラムに対してのみ使用できます。演算結果の型は、対象のカラムと同一の型となります。対象となるロウが1つも存在しない場合、演算結果は設定されません。
GS_AGGREGATION_TOTAL 

合計を求める演算です。

数値型のカラムに対してのみ使用できます。演算結果の型は、対象のカラムが整数型の場合LONG、浮動小数点型の場合DOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。
GS_AGGREGATION_AVERAGE 

平均を求める演算です。

数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。
GS_AGGREGATION_VARIANCE 

分散を求める演算です。

数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。
GS_AGGREGATION_STANDARD_DEVIATION 

標準偏差を求める演算です。

数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。
GS_AGGREGATION_COUNT 

標本数、すなわちロウ数を求める演算です。

任意のカラムに対して使用できます。演算結果の型は常にLONGとなります。対象となるロウが1つも存在しない場合、演算結果の値は0となります。
GS_AGGREGATION_WEIGHTED_AVERAGE 

重み付きで平均を求める演算です。

各標本値と重み付け値との積の合計を、各重み付け値の合計で割ることにより求めます。重み付け値の計算方法は、GSAggregationTagの説明を参照してください。
この演算は、数値型のカラムに対してのみ使用できます。演算結果の型は常にDOUBLEとなります。対象となるロウが1つも存在しない場合、演算結果は設定されません。

圧縮方式の種別を表します。

時系列圧縮設定を行う際に使用します。
Enumerator
GS_COMPRESSION_NO 

無圧縮であることを示します。

GS_COMPRESSION_SS 

誤差なし間引き圧縮方式であることを示します。

誤差なし間引き圧縮では、直前及び直後に登録したロウと同じデータを持つロウは省かれます。省かれたデータはinterpolateやsample処理の際に、誤差を発生することなく復元されます。
GS_COMPRESSION_HI 

誤差あり間引き圧縮方式であることを示します。

誤差あり間引き圧縮では、前回まで及び直後に登録したデータと同じ傾斜を表すロウは省かれます。同じ傾斜かを判定する条件はユーザが指定できます。指定されたカラムが条件を満たし、それ以外のカラムの値が前回のデータと同じ場合のみ省かれます。省かれたデータはinterpolateやsample処理の際に、指定された誤差の範囲内で復元されます。

ロウの補間方法の種別を表します。

時系列ロウの補間機能で使用されます。
Enumerator
GS_INTERPOLATION_LINEAR_OR_PREVIOUS 

カラムに応じて線形補間または直前ロウの値による補間を行うことを示します。

補間機能にて指定されたカラムについては、補間対象時刻の前後時刻のロウの値により線形補間を行います。対象とするカラムの型は数値型でなければなりません。
補間機能にて特に指定されていないカラムについては、補間対象時刻と隣接する直前の時刻のロウの値を補間値として使用します。対象とするカラムの型に制限はありません。
GS_INTERPOLATION_EMPTY 

空の値を補間値として用いることを示します。

ロウキーを除くすべてのロウフィールドについて、GSContainerにて定義されている空の値を補間値として用いることを示します。

GSTimeSeriesのキー時刻に基づく、ロウの特定方法を表します。

別途指定する時刻と組み合わせることで、最も近い時刻のキーを持つロウなどを特定できます。該当するロウが存在しない場合の扱いは、この列挙型を使用するそれぞれの機能により異なります。
Enumerator
GS_TIME_OPERATOR_PREVIOUS 

指定時刻と同一またはより前の時刻のロウのうち、最も新しいものを求めます。

GS_TIME_OPERATOR_PREVIOUS_ONLY 

指定より前の時刻のロウのうち、最も新しいものを求めます。

GS_TIME_OPERATOR_NEXT 

指定時刻同一またはより後の時刻のロウのうち、最も古いものを求めます。

GS_TIME_OPERATOR_NEXT_ONLY 

指定時刻より後の時刻のロウのうち、最も古いものを求めます。

Function Documentation

GS_DLL_PUBLIC GSResult GS_API_CALL gsAggregateTimeSeries ( GSTimeSeries timeSeries,
GSTimestamp  start,
GSTimestamp  end,
const GSChar column,
GSAggregation  aggregation,
GSAggregationResult **  aggregationResult 
)

開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。

columnaggregation次第で無視されることがあります。演算対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]start開始時刻
[in]end終了時刻
[in]column集計対象のカラム名。合計演算のように、特定のカラムを対象としない場合はNULL
[in]aggregation集計方法
[out]aggregationResult集計結果をGSAggregationResultとして格納するためのポインタ変数へのポインタ値。対象時系列の内容と集計方法によっては、NULLが設定されることもあります。詳細はGSAggregationの定義を参照してください。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のコンテナの種別が時系列ではない場合
  • 指定の演算方法で許可されていない型のカラムを指定した場合
  • 対応する名前のカラムが存在しない場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • ポインタ型引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsAppendTimeSeriesRow ( GSTimeSeries timeSeries,
const void *  rowObj,
GSBool exists 
)

GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。

GridDB上の現在時刻に相当するTIMESTAMP値をロウキーとする点を除き、gsPutRowと同様に振る舞います。指定のロウオブジェクト内のロウキーは無視されます。
圧縮オプションが設定された状態の時系列に対しては、GridDB上の現在時刻より新しい時刻のロウが存在しない場合のみ使用できます。最も新しい時刻を持つ既存ロウの時刻が現在時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。
手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。
Attention
指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]rowObj新規作成または更新するロウの内容と対応するロウオブジェクト
[out]existsGridDB上の現在時刻と一致するロウが存在したかどうかを格納するための、ブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定の時系列について圧縮オプションが設定されており、現在時刻より新しい時刻のロウが存在した場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値がロウオブジェクトに含まれていた場合
  • exists以外の引数にNULLが指定された場合。また、指定のロウオブジェクトについて、文字列など可変長サイズのデータへのポインタ値にNULLが含まれていた場合
See Also
gsPutRow
GSTimeSeriesPropertiesTag::compressionMethod
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByBaseTime ( GSTimeSeries timeSeries,
GSTimestamp  base,
GSTimeOperator  timeOp,
void *  rowObj,
GSBool exists 
)

指定の時刻を基準として、関係する1つのロウを取得します。

Attention
指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
文字列や配列などの可変長のデータを格納するために、指定のGSTimeSeriesと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]base基準となる時刻
[in]timeOp取得方法
[out]rowObj取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。
[out]exists条件に一致するロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値が基準時刻として指定された場合
  • exists以外のポインタ型引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsInterpolateTimeSeriesRow ( GSTimeSeries timeSeries,
GSTimestamp  base,
const GSChar column,
void *  rowObj,
GSBool exists 
)

指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。

一致する時系列ロウの指定のカラムの値、もしくは、前後時刻のロウの指定カラムの値を線形補間して得られた値を基にロウオブジェクトを生成します。前後時刻のロウの少なくともいずれか、もしくは、一致するロウが存在しない場合は生成されません。
補間対象として指定できるカラムの型は、数値型のみです。指定のカラムならびにロウキー以外のフィールドには、指定時刻と同一またはより前の時刻のロウのうち、最も新しい時刻を持つロウのフィールドの値が設定されます。
Attention
指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
文字列や配列などの可変長のデータを格納するために、指定のGSTimeSeriesと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]base基準となる時刻
[in]column線形補間対象のカラム
[out]rowObj生成結果を格納するためのロウオブジェクト。生成のために必要とするロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。
[out]exists生成のために必要とするロウが存在したかどうかを格納するための、ブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値がNULLの場合、この格納処理が省略されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 対応する名前のカラムが存在しない場合。また、サポートされていない型のカラムが指定された場合
  • この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
  • サポート範囲外の値が基準時刻として指定された場合
  • exists以外のポインタ型引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesOrderedRange ( GSTimeSeries timeSeries,
const GSTimestamp start,
const GSTimestamp end,
GSQueryOrder  order,
GSQuery **  query 
)

開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。

取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]start開始時刻またはNULLNULLの場合、指定の時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなします。
[in]end終了時刻またはNULLNULLの場合、指定の時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなします。
[in]order取得するロウ集合の時刻順序。GS_ORDER_ASCENDINGの場合は古い時刻から新しい時刻の順、GS_ORDER_DESCENDINGの場合は新しい時刻から古い時刻の順となります。
[out]queryGSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが設定されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のコンテナの種別が時系列ではない場合
  • startend以外のポインタ型引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesRange ( GSTimeSeries timeSeries,
GSTimestamp  start,
GSTimestamp  end,
GSQuery **  query 
)

開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。

取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。要求するロウ集合は昇順、すなわち古い時刻から新しい時刻の順となります。
gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]start開始時刻
[in]end終了時刻
[out]queryGSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが設定されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のコンテナの種別が時系列ではない場合
  • ポインタ型引数にNULLが指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesSampling ( GSTimeSeries timeSeries,
GSTimestamp  start,
GSTimestamp  end,
const GSChar *const *  columnSet,
size_t  columnCount,
GSInterpolationMode  mode,
int32_t  interval,
GSTimeUnit  intervalUnit,
GSQuery **  query 
)

特定範囲のロウ集合をサンプリングするクエリを作成します。

サンプリング対象の時刻は、開始時刻に対し非負整数倍のサンプリング間隔を加えた時刻のうち、終了時刻と同じかそれ以前のもののみです。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
作成したクエリを実行すると、各サンプリング位置の時刻と一致するロウが存在する場合は該当ロウの値を、存在しない場合はcolumnSetmode引数の指定に従い補間された値を使用しロウ集合を生成します。個別の補間方法については、GSInterpolationModeの定義を参照してください。
補間のために参照する必要のあるロウが存在しない場合、該当するサンプリング時刻のロウは生成されず、該当箇所の数だけ結果件数が減少します。サンプリング間隔をより短く設定すると、補間方法次第では異なるサンプリング時刻であっても同一のロウの内容が使用される可能性が高まります。
gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることはできません。
Parameters
[in]timeSeries処理対象のGSTimeSeries
[in]start開始時刻
[in]end終了時刻
[in]columnSetmodeに基づき特定の補間処理を適用するカラムの名前の集合。文字列ポインタの配列より構成されます。空集合の場合は、適用対象のカラムを何も指定しないことを示します。NULLの場合は、空集合を指定した場合と同様です。
[in]columnCountmodeに基づき特定の補間処理を適用するカラムの個数
[in]mode補間方法
[in]intervalサンプリング間隔。0および負の値は指定できません
[in]intervalUnitサンプリング間隔の時間単位。GS_TIME_UNIT_YEARGS_TIME_UNIT_MONTHは指定できません
[out]queryGSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL以外の値であれば、対応するポインタ変数にNULLが格納されます。
Returns
実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
  • 指定のコンテナの種別が時系列ではない場合
  • columnSet以外のポインタ型引数にNULLが指定された場合
GSTimestamp

Classes

struct  GSTimeZoneTag
 タイムゾーン情報を表します。More...
 

Macros

#define GS_TIME_ZONE_INITIALIZER   { { 0 } }
 GSTimeZoneの初期化子です。More...
 
#define GS_TIMESTAMP_DEFAULT   0
 時刻1970-01-01T00:00:00Zに相当するGSTimestamp値です。More...
 
#define GS_TIME_STRING_SIZE_MAX   32
 TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More...
 
#define GS_TIME_ZONE_STRING_SIZE_MAX   8
 GSTimeZone値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More...
 

Typedefs

typedef int64_t GSTimestamp
 GridDB上のTIMESTAMP型と対応する時刻型です。ミリ秒単位のUNIX時刻を保持します。
 
typedef GSEnum GSTimeUnit
 
typedef struct GSTimeZoneTag GSTimeZone
 タイムゾーン情報を表します。More...
 

Enumerations

enum  GSTimeUnitTag {
  GS_TIME_UNIT_YEAR, GS_TIME_UNIT_MONTH, GS_TIME_UNIT_DAY, GS_TIME_UNIT_HOUR,
  GS_TIME_UNIT_MINUTE, GS_TIME_UNIT_SECOND, GS_TIME_UNIT_MILLISECOND
}
 時系列処理で用いる時間の単位を示します。More...
 

Functions

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 GSBool GS_API_CALL gsParseTime (const GSChar *str, GSTimestamp *timestamp)
 TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。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...
 

Detailed Description

Macro Definition Documentation

#define GS_TIME_STRING_SIZE_MAX   32

TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。

See Also
gsFormatTime
#define GS_TIME_ZONE_INITIALIZER   { { 0 } }

GSTimeZoneの初期化子です。

Since
4.3
#define GS_TIME_ZONE_STRING_SIZE_MAX   8

GSTimeZone値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。

See Also
gsFormatTimeZone
Since
4.3
#define GS_TIMESTAMP_DEFAULT   0

時刻1970-01-01T00:00:00Zに相当するGSTimestamp値です。

Since
4.3

Typedef Documentation

typedef GSEnum GSTimeUnit
See Also
GSTimeUnitTag
typedef struct GSTimeZoneTag GSTimeZone

タイムゾーン情報を表します。

Since
4.3

Enumeration Type Documentation

時系列処理で用いる時間の単位を示します。

Enumerator
GS_TIME_UNIT_YEAR 

年の単位です。

GS_TIME_UNIT_MONTH 

月の単位です。

GS_TIME_UNIT_DAY 

日の単位です。

GS_TIME_UNIT_HOUR 

時の単位です。

GS_TIME_UNIT_MINUTE 

分の単位です。

GS_TIME_UNIT_SECOND 

秒の単位です。

GS_TIME_UNIT_MILLISECOND 

ミリ秒の単位です。

Function Documentation

GS_STATIC_HEADER_FUNC_SPECIFIER GSTimestamp gsAddTime ( GSTimestamp  timestamp,
int64_t  amount,
GSTimeUnit  timeUnit 
)

時刻に一定の値を加算します。

amountに負の値を指定することで、指定の時刻より前の時刻を求めることができます。
現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。
Parameters
[in]timestamp対象とする時刻
[in]amount加算する値
[in]timeUnit加算する値の単位
Returns
加算後のGSTimestamp。次の場合は-1
  • サポート範囲外の時刻や単位が指定された場合
  • 加算結果がサポート範囲外の時刻となりうる場合
See Also
gsAddZonedTime
GS_DLL_PUBLIC GSTimestamp GS_API_CALL gsAddZonedTime ( GSTimestamp  timestamp,
int64_t  amount,
GSTimeUnit  timeUnit,
const GSTimeZone zone 
)

指定のタイムゾーン設定を用い、時刻に一定の値を加算します。

amountに負の値を指定することで、指定の時刻より前の時刻を求めることができます。
演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
Parameters
[in]timestamp対象とする時刻
[in]amount加算する値
[in]timeUnit加算する値の単位
[in]zoneタイムゾーン設定情報へのポインタ値。NULLの場合はgsAddTimeと同様に振る舞います。
Returns
加算後のGSTimestamp。次の場合は-1
  • サポート範囲外の時刻や単位が指定された場合
  • 加算結果がサポート範囲外の時刻となりうる場合
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
See Also
gsAddZonedTime
Since
4.3
GS_DLL_PUBLIC GSTimestamp GS_API_CALL gsCurrentTime ( )

現在時刻を求めます。

Returns
現在時刻に相当するGSTimestamp。内部のシステムコールに失敗した場合、-1
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatTime ( GSTimestamp  timestamp,
GSChar strBuf,
size_t  bufSize 
)

TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。

現バージョンでは、変換の際に使用されるタイムゾーンはUTCです。
Parameters
[in]timestamp対象とする時刻
[out]strBuf出力先の文字列バッファ。bufSizeを超えない範囲で終端文字を含む文字列を出力します。bufSize1以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBufNULLまたはbufSize0の場合、文字列は出力されません。
[in]bufSize出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ
Returns
終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし次の場合は、空文字列のサイズに相当する1
  • サポート範囲外の時刻が指定された場合
See Also
GS_TIME_STRING_SIZE_MAX
gsFormatZonedTime
GS_DLL_PUBLIC size_t gsFormatTimeZone ( const GSTimeZone zone,
GSChar strBuf,
size_t  bufSize 
)

TQLのTIMESTAMP値表記に従い、タイムゾーン情報の文字列表現を求めます。

Parameters
[out]zone対象とするタイムゾーン情報
[out]strBuf出力先の文字列バッファ。bufSizeを超えない範囲で終端文字を含む文字列を出力します。bufSize1以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBufNULLまたはbufSize0の場合、文字列は出力されません。
[in]bufSize出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ
Returns
終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし次の場合は、空文字列のサイズに相当する1
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
See Also
GS_TIME_ZONE_STRING_SIZE_MAX
Since
4.3
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatZonedTime ( GSTimestamp  timestamp,
GSChar strBuf,
size_t  bufSize,
const GSTimeZone zone 
)

指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。

Parameters
[in]timestamp対象とする時刻
[out]strBuf出力先の文字列バッファ。bufSizeを超えない範囲で終端文字を含む文字列を出力します。bufSize1以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBufNULLまたはbufSize0の場合、文字列は出力されません。
[in]bufSize出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ
[in]zoneタイムゾーン設定情報へのポインタ値。NULLの場合はgsFormatTimeと同様に振る舞います。
Returns
終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし次の場合は、空文字列のサイズに相当する1
  • サポート範囲外の時刻が指定された場合
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
See Also
GS_TIME_STRING_SIZE_MAX
Since
4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetTimeDiff ( GSTimestamp  timestamp1,
GSTimestamp  timestamp2,
GSTimeUnit  timeUnit 
)

二つの時刻間の差分値を求めます。

timestamp1に対して、timestamp2で減じた値を求めます。
現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。
Parameters
[in]timestamp1対象とする一つ目の時刻
[in]timestamp2対象とする二つ目の時刻
[in]timeUnit求める差分値の単位
Returns
差分値。次の場合はint64_t型の値として取りうる範囲の最小値
  • サポート範囲外の時刻や単位が指定された場合
See Also
gsGetZonedTimeDiff
Since
4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetTimeField ( GSTimestamp  timestamp,
GSTimeUnit  timeUnit 
)

GSTimestampを構成するフィールド値の一つを取得します。

現バージョンでは、取得の際に使用されるタイムゾーンはUTCです。
Parameters
[in]timestamp対象とする時刻
[in]timeUnit取得するフィールド値の単位
Returns
指定の条件に合致するフィールド値。次の場合は-1
  • サポート範囲外の時刻や単位が指定された場合
See Also
gsGetZonedTimeField
Since
4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetTimeZoneOffset ( const GSTimeZone zone,
GSTimeUnit  timeUnit 
)

指定のタイムゾーンのオフセット値を取得します。

Parameters
[in]zone対象とするタイムゾーン情報
[in]timeUnit求めるオフセット値の単位
Returns
差分値。次の場合はint64_t型の値として取りうる範囲の最小値
  • サポート外の単位が指定された場合
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
Since
4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetZonedTimeDiff ( GSTimestamp  timestamp1,
GSTimestamp  timestamp2,
GSTimeUnit  timeUnit,
const GSTimeZone zone 
)

指定のタイムゾーン設定を用い、二つの時刻間の差分値を求めます。

timestamp1に対して、timestamp2で減じた値を求めます。
演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
Parameters
[in]timestamp1対象とする一つ目の時刻
[in]timestamp2対象とする二つ目の時刻
[in]timeUnit求める差分値の単位
[in]zoneタイムゾーン設定情報へのポインタ値。NULLの場合はgsGetTimeDiffと同様に振る舞います。
Returns
差分値。次の場合はint64_t型の値として取りうる範囲の最小値
  • サポート範囲外の時刻や単位が指定された場合
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
Since
4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetZonedTimeField ( GSTimestamp  timestamp,
GSTimeUnit  timeUnit,
const GSTimeZone zone 
)

指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを取得します。

演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
Parameters
[in]timestamp対象とする時刻
[in]timeUnit取得するフィールド値の単位
[in]zoneタイムゾーン設定情報へのポインタ値。NULLの場合はgsGetTimeFieldと同様に振る舞います。
Returns
指定の条件に合致するフィールド値。次の場合は-1
  • サポート範囲外の時刻や単位が指定された場合
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
Since
4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsParseTime ( const GSChar str,
GSTimestamp timestamp 
)

TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。

TIMESTAMP値表記に含まれるタイムゾーン設定を使用します。
Parameters
[in]str対象とする時刻を表す文字列
[out]timestamp変換した値を格納するための変数へのポインタ値。戻り値がGS_FALSEとなる場合、このポインタ値がNULLではない限り-1が格納されます。
Returns
GSTimestamp値への変換に成功し結果を格納できたかどうか。次の場合、GS_FALSEを返します。
  • 時刻の文字列表記と一致しない文字列が指定された場合
  • サポート範囲外の時刻が指定された場合
  • 引数にNULLが指定された場合
GS_DLL_PUBLIC GSBool GS_API_CALL gsParseTimeZone ( const GSChar str,
GSTimeZone zone 
)

TQLのTIMESTAMP値表記に従い、指定のタイムゾーン文字列に対応するGSTimeZone値を求めます。

Parameters
[in]str対象とするタイムゾーン文字列
[out]zone変換した値を格納するための変数へのポインタ値。戻り値がGS_FALSEとなる場合、このポインタ値がNULLではない限りGS_TIME_ZONE_INITIALIZERと同一の内容の初期値が格納されます。
Returns
GSTimeZone値への変換に成功し結果を格納できたかどうか。次の場合、GS_FALSEを返します。
  • タイムゾーン情報の文字列表記と一致しない文字列が指定された場合
  • サポート範囲外のタイムゾーンが指定された場合
  • 引数にNULLが指定された場合
Since
4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsSetTimeField ( GSTimestamp timestamp,
int64_t  field,
GSTimeUnit  timeUnit 
)

GSTimestampを構成するフィールド値の一つを設定します。

現バージョンでは、設定の際に使用されるタイムゾーンはUTCです。
Parameters
[in,out]timestamp対象とする時刻
[in]field設定するフィールド値
[in]timeUnit設定するフィールド値の単位
Returns
フィールド値を設定できたかどうか。次の場合はGS_FALSE
  • timestamp引数にNULLが指定された場合
  • サポート範囲外の時刻や単位、フィールド値が指定された場合
See Also
gsGetZonedTimeField
Since
4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsSetTimeZoneOffset ( GSTimeZone zone,
int64_t  offset,
GSTimeUnit  timeUnit 
)

指定のタイムゾーンのオフセット値を設定します。

Parameters
[out]zone対象とするタイムゾーン情報
[in]offsetオフセット値
[in]timeUnitオフセット値の単位
Returns
オフセット値を設定できたかどうか。次の場合はGS_FALSE
  • zone引数にNULLが指定された場合
  • サポート範囲外のオフセット値や単位が指定された場合
Since
4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsSetZonedTimeField ( GSTimestamp timestamp,
int64_t  field,
GSTimeUnit  timeUnit,
const GSTimeZone zone 
)

指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを設定します。

演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
Parameters
[in,out]timestamp対象とする時刻
[in]field設定するフィールド値
[in]timeUnit設定するフィールド値の単位
[in]zoneタイムゾーン設定情報へのポインタ値。NULLの場合はgsSetTimeFieldと同様に振る舞います。
Returns
フィールド値を設定できたかどうか。次の場合はGS_FALSE
  • timestamp引数にNULLが指定された場合
  • サポート範囲外の時刻や単位、フィールド値が指定された場合
  • 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
Since
4.3
GSBindingTag Struct Reference

ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。 More...

#include <gridstore.h>

Detailed Description

ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。

GSBlobTag Struct Reference

ロウオブジェクトにおけるBLOB構造を表します。 More...

#include <gridstore.h>

Public Attributes

size_t size
 BLOBデータのサイズです。
 
const void * data
 BLOBデータの格納先ポインタです。
 

Detailed Description

ロウオブジェクトにおけるBLOB構造を表します。

GSCollectionPropertiesTag Struct Reference

コレクションの構成オプションを表します。 More...

#include <gridstore.h>

Detailed Description

コレクションの構成オプションを表します。

Note
現バージョンでは使用されておりません。
GSColumnCompressionTag Struct Reference

特定のカラムの圧縮設定を表します。 More...

#include <gridstore.h>

Public Attributes

const GSCharcolumnName
 設定対象のカラムの名前です。More...
 
GSBool relative
 間引き圧縮における判定基準値として、相対誤差を適用するかどうかを示します。More...
 
double rate
 相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率です。More...
 
double span
 相対誤差あり間引き圧縮における、値がとりうる範囲の最大値と最小値の差です。More...
 
double width
 絶対誤差あり間引き圧縮における、誤差境界の幅です。More...
 

Detailed Description

特定のカラムの圧縮設定を表します。

時系列を対象とした誤差あり間引き圧縮のカラム別設定に使用します。

Member Data Documentation

const GSChar* GSColumnCompressionTag::columnName

設定対象のカラムの名前です。

間引き圧縮方式(GS_COMPRESSION_HI)を選択し、次の型のカラムに対して指定した場合のみ、カラム別の圧縮設定として使用できます。
double GSColumnCompressionTag::rate

相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率です。

値がとりうる範囲は、spanメンバと対応します。また、比率は0以上1以下でなければ、時系列を作成することができません。
誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeGS_TRUEを指定)した場合のみ有効です。
GSBool GSColumnCompressionTag::relative

間引き圧縮における判定基準値として、相対誤差を適用するかどうかを示します。

間引き圧縮方式(GS_COMPRESSION_HI)以外を選択した場合は無視されます。
double GSColumnCompressionTag::span

相対誤差あり間引き圧縮における、値がとりうる範囲の最大値と最小値の差です。

誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeGS_TRUEを指定)した場合のみ有効です。
double GSColumnCompressionTag::width

絶対誤差あり間引き圧縮における、誤差境界の幅です。

誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeGS_TRUEを指定)した場合のみ有効です。
GSColumnInfoTag Struct Reference

カラムのスキーマに関する情報を表します。 More...

#include <gridstore.h>

Public Attributes

const GSCharname
 カラム名です。
 
GSType type
 カラムの型、すなわち、カラムに対応する各フィールド値の型です。
 
GSIndexTypeFlags indexTypeFlags
 索引種別を示すフラグ値のビット和です。More...
 
GSTypeOption options
 カラムに関するオプション設定を示すフラグ値のビット和です。More...
 

Detailed Description

カラムのスキーマに関する情報を表します。

Member Data Documentation

GSIndexTypeFlags GSColumnInfoTag::indexTypeFlags

索引種別を示すフラグ値のビット和です。

GS_INDEX_FLAG_DEFAULTは索引種別が未設定であることを示します。
Since
1.5
GSTypeOption GSColumnInfoTag::options

カラムに関するオプション設定を示すフラグ値のビット和です。

現バージョンでは、NOT NULL制約または初期値に関連する、以下のフラグ値のみを含めることができます。
Since
3.5
GSContainerInfoTag Struct Reference

特定のコンテナに関する情報を表します。 More...

#include <gridstore.h>

Public Attributes

const GSCharname
 コンテナ名です。
 
GSContainerType type
 コンテナの種別です。
 
size_t columnCount
 カラム数です。
 
const GSColumnInfocolumnInfoList
 カラム情報のリストです。More...
 
GSBool rowKeyAssigned
 ロウキーに対応するカラムが設定されているかどうかを示す真偽値です。More...
 
GSBool columnOrderIgnorable
 カラム順序が無視できるかどうかを示す真偽値です。More...
 
const GSTimeSeriesPropertiestimeSeriesProperties
 時系列構成オプションです。More...
 
size_t triggerInfoCount
 トリガ情報のエントリ数です。More...
 
const GSTriggerInfotriggerInfoList
 トリガ情報の一覧です。More...
 
const GSChardataAffinity
 データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列です。More...
 
size_t indexInfoCount
 索引情報のエントリ数です。More...
 
const GSIndexInfoindexInfoList
 索引情報の一覧です。More...
 
size_t rowKeyColumnCount
 ロウキーを構成するカラム列についての、カラム数です。More...
 
const int32_t * rowKeyColumnList
 ロウキーを構成するカラム列についての、0から始まるカラム番号一覧です。More...
 

Detailed Description

特定のコンテナに関する情報を表します。

Member Data Documentation

const GSColumnInfo* GSContainerInfoTag::columnInfoList

カラム情報のリストです。

カラム数と同一の長さのGSColumnInfoの配列です。各要素はカラムの定義順と対応します。
GSBool GSContainerInfoTag::columnOrderIgnorable

カラム順序が無視できるかどうかを示す真偽値です。

See Also
gsPutContainerGeneral
Since
1.5
const GSChar* GSContainerInfoTag::dataAffinity

データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列です。

同一クラスタノード上の同一管理領域内に格納されるコンテナについて、配置先を最適化するために使用されます。
データアフィニティが同一のコンテナの内容は、近接する配置先に格納される可能性が高くなります。また、解放期限が設定され、近接する配置先に格納された時系列について、登録頻度などの変更パターンが類似している場合、解放期限に到達したロウの解放処理が効率的に行われる可能性が高くなります。
コンテナの定義において使用できるデータアフィニティ文字列の文字種や長さには制限があります。具体的には、GridDB機能リファレンスを参照してください。ただし、文字列を設定した時点で必ずしもすべての制限を検査するとは限りません。特に記載のない限り、データアフィニティ文字列が使用される操作では、ASCIIの大文字・小文字表記の違いが区別されます。
値がNULLの場合、標準設定を優先することを示します。
Since
2.1
size_t GSContainerInfoTag::indexInfoCount

索引情報のエントリ数です。

Since
3.5
const GSIndexInfo* GSContainerInfoTag::indexInfoList

索引情報の一覧です。

Since
3.5
GSBool GSContainerInfoTag::rowKeyAssigned

ロウキーに対応するカラムが設定されているかどうかを示す真偽値です。

現バージョンでは、コンテナが単一カラムからなるロウキーを持つ場合、対応するカラム番号は0となります。
任意のロウキー構成を扱うには、GSContainerInfo::rowKeyColumnListを使用します。
size_t GSContainerInfoTag::rowKeyColumnCount

ロウキーを構成するカラム列についての、カラム数です。

Since
4.3
const int32_t* GSContainerInfoTag::rowKeyColumnList

ロウキーを構成するカラム列についての、0から始まるカラム番号一覧です。

Since
4.3
const GSTimeSeriesProperties* GSContainerInfoTag::timeSeriesProperties

時系列構成オプションです。

Since
1.5
size_t GSContainerInfoTag::triggerInfoCount

トリガ情報のエントリ数です。

Since
1.5
const GSTriggerInfo* GSContainerInfoTag::triggerInfoList

トリガ情報の一覧です。

Since
1.5
GSContainerRowEntryTag Struct Reference

複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。 More...

#include <gridstore.h>

Public Attributes

const GSCharcontainerName
 コンテナ名です。
 
void *const * rowList
 ロウオブジェクトへのアドレスのリストです。More...
 
size_t rowCount
 ロウオブジェクトの個数です。
 

Detailed Description

複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。

Since
1.5

Member Data Documentation

void* const* GSContainerRowEntryTag::rowList

ロウオブジェクトへのアドレスのリストです。

現バージョンでは、GSRowのアドレスのみを要素として含めることができます。
GSIndexInfoTag Struct Reference

索引の設定内容を表します。 More...

#include <gridstore.h>

Public Attributes

const GSCharname
 索引名です。More...
 
GSIndexTypeFlags type
 索引種別を示すフラグ値です。More...
 
int32_t column
 索引に対応するカラムのカラム番号です。More...
 
const GSCharcolumnName
 索引に対応するカラムのカラム名です。More...
 
size_t columnCount
 索引に対応する任意個数のカラムのカラム番号の列のカラム数です。More...
 
const int32_t * columnList
 索引に対応する任意個数のカラムのカラム番号の列です。More...
 
size_t columnNameCount
 索引に対応する任意個数のカラムのカラム名の列のカラム数です。More...
 
const GSChar *const * columnNameList
 索引に対応する任意個数のカラムのカラム名の列です。More...
 

Detailed Description

索引の設定内容を表します。

Since
3.5

Member Data Documentation

int32_t GSIndexInfoTag::column

索引に対応するカラムのカラム番号です。

単一のカラムからなるカラム番号の列が設定された場合と同等であるとみなされます。
Since
3.5
size_t GSIndexInfoTag::columnCount

索引に対応する任意個数のカラムのカラム番号の列のカラム数です。

Since
4.3
const int32_t* GSIndexInfoTag::columnList

索引に対応する任意個数のカラムのカラム番号の列です。

Since
4.3
const GSChar* GSIndexInfoTag::columnName

索引に対応するカラムのカラム名です。

単一のカラムからなるカラム名の列が設定された場合と同等であるとみなされます。
Since
3.5
size_t GSIndexInfoTag::columnNameCount

索引に対応する任意個数のカラムのカラム名の列のカラム数です。

Since
4.3
const GSChar* const* GSIndexInfoTag::columnNameList

索引に対応する任意個数のカラムのカラム名の列です。

Since
4.3
const GSChar* GSIndexInfoTag::name

索引名です。

Since
3.5
GSIndexTypeFlags GSIndexInfoTag::type

索引種別を示すフラグ値です。

デフォルトまたは任意個数の索引種別を含めることができます。複数個の索引種別を含める場合は、各種別のフラグ値のビット和により表現します。コンテナ情報の一部として得られた索引情報では、デフォルトを除くいずれか一つの索引種別のみが設定されます。
Since
3.5
GSPropertyEntryTag Struct Reference

プロパティの構成エントリです。 More...

#include <gridstore.h>

Public Attributes

const GSCharname
 プロパティエントリの名前です。
 
const GSCharvalue
 プロパティエントリの値です。
 

Detailed Description

プロパティの構成エントリです。

GSQueryAnalysisEntryTag Struct Reference

クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。 More...

#include <gridstore.h>

Public Attributes

int32_t id
 一連のエントリ列における、このエントリの位置を示すIDです。More...
 
int32_t depth
 他のエントリとの関係を表すための、深さです。More...
 
const GSChartype
 このエントリが示す情報の種別です。More...
 
const GSCharvalueType
 このエントリが示す情報に対応付けられた値の型名です。More...
 
const GSCharvalue
 このエントリが示す情報に対応付けられた値の文字列表現です。
 
const GSCharstatement
 このエントリが示す情報に対応するTQL文の一部です。
 

Detailed Description

クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。

TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。

Member Data Documentation

int32_t GSQueryAnalysisEntryTag::depth

他のエントリとの関係を表すための、深さです。

このエントリより小さな値のIDを順にたどり、このエントリの深さより1だけ浅いエントリが存在した場合、このエントリは、該当するエントリの内容をより詳しく説明するためのものであることを意味します。
int32_t GSQueryAnalysisEntryTag::id

一連のエントリ列における、このエントリの位置を示すIDです。

TQLを実行した結果を受け取る場合、IDは1から順に割り当てられます。
const GSChar* GSQueryAnalysisEntryTag::type

このエントリが示す情報の種別です。

実行時間といった解析結果の種別、クエリプランの構成要素の種別などを表します。
const GSChar* GSQueryAnalysisEntryTag::valueType

このエントリが示す情報に対応付けられた値の型名です。

実行時間といった解析結果などに対応する値の型名です。型の名称は、TQLで定義された基本型のうち次のものです。
  • STRING
  • BOOL
  • BYTE
  • SHORT
  • INTEGER
  • LONG
  • FLOAT
  • DOUBLE
GSRowKeyPredicateEntryTag Struct Reference

複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。 More...

#include <gridstore.h>

Public Attributes

const GSCharcontainerName
 コンテナ名です。
 
GSRowKeyPredicatepredicate
 コンテナのロウキーについての合致条件です。
 

Detailed Description

複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。

Since
1.5
GSTimeSeriesPropertiesTag Struct Reference

時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。 More...

#include <gridstore.h>

Public Attributes

int32_t rowExpirationTime
 ロウの有効期限の基準となる経過期間です。More...
 
GSTimeUnit rowExpirationTimeUnit
 ロウの有効期限の基準とする経過時間の単位です。More...
 
int32_t compressionWindowSize
 間引き圧縮において連続して間引きされるロウの最大期間です。More...
 
GSTimeUnit compressionWindowSizeUnit
 間引き圧縮において連続して間引きされるロウの最大期間の単位です。More...
 
GSCompressionMethod compressionMethod
 時系列圧縮方式の種別です。
 
size_t compressionListSize
 カラム別圧縮設定(compressionList)のエントリ数です。More...
 
GSColumnCompressioncompressionList
 カラム別の圧縮設定です。More...
 
int32_t expirationDivisionCount
 期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数です。More...
 

Detailed Description

時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。

カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。

Member Data Documentation

GSColumnCompression* GSTimeSeriesPropertiesTag::compressionList

カラム別の圧縮設定です。

エントリ数が0の場合、時系列を新規作成または更新する際に無視されます。
size_t GSTimeSeriesPropertiesTag::compressionListSize

カラム別圧縮設定(compressionList)のエントリ数です。

1つの時系列に対してパラメータ設定できるカラムの上限数については、GridDB機能リファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。
int32_t GSTimeSeriesPropertiesTag::compressionWindowSize

間引き圧縮において連続して間引きされるロウの最大期間です。

この期間が設定された時系列のロウについて、前方のロウと指定の期間以上時刻が離れていた場合、間引き圧縮として間引き可能な条件を満たしていたとしても、間引かれなくなります。
時系列圧縮方式としてGS_COMPRESSION_NOが設定されていた場合、この期間の設定は無視されます。
時系列圧縮方式としてGS_COMPRESSION_HIまたはGS_COMPRESSION_SSが設定されており、この期間として0以下の値が設定された場合、TIMESTAMP型の取りうる値の範囲全体が期間として設定されたとみなされます。
前方のロウと指定の期間以上時刻が離れておらず、かつ、間引き圧縮として間引き可能な条件を満たしていたとしても、格納先の内部の配置などによっては間引かれない場合があります。
GSTimeUnit GSTimeSeriesPropertiesTag::compressionWindowSizeUnit

間引き圧縮において連続して間引きされるロウの最大期間の単位です。

最大期間の値が明示的に設定されていた場合、GS_TIME_UNIT_YEARまたはGS_TIME_UNIT_MONTHが設定されたオプションを指定して、時系列を作成することはできません。
int32_t GSTimeSeriesPropertiesTag::expirationDivisionCount

期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数です。

分割数を設定すると、期限に到達したロウデータの管理領域を解放するための条件を制御できます。期限に到達したロウデータが分割数に相当する期間だけ集まった時点で解放しようとします。
分割数の上限については、GridDB機能リファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。
値が負の場合、分割数が設定されていないことを示します。0が設定されたオプションを指定して時系列を作成することはできません。
ロウの有効期限の基準となる経過期間の設定がない場合、この分割数の設定は無視されます。一方、ロウの有効期限の基準となる経過期間の設定がある場合にこの分割数の設定を省略すると、作成される時系列にはGridDBクラスタ上のデフォルトの分割数が設定されます。
Since
2.0
int32_t GSTimeSeriesPropertiesTag::rowExpirationTime

ロウの有効期限の基準となる経過期間です。

ロウの有効期限の時刻は、ロウキーの時刻から指定の経過期間を加算することで求まります。有効期限の時刻がGridDB上の現在時刻よりも古いロウは、有効期限の切れたロウとみなされます。期限切れのロウは、検索や更新といったロウ操作の対象から外れ、存在しないものとみなされます。対応するGridDB上の内部データは、随時削除されます。
Attention
有効期限超過の判定に使用される現在時刻は、GridDBの各ノードの実行環境に依存します。したがって、ネットワークの遅延や実行環境の時刻設定のずれなどにより、このプロセスの実行環境の現在時刻より前に期限切れ前のロウにアクセスできなくなる場合や、この現在時刻より後に期限切れロウにアクセスできる場合があります。意図しないロウの喪失を避けるために、最低限必要な期間よりも大きな値を設定することを推奨します。
作成済みの時系列の設定を変更することはできません。
値が負の場合、有効期限はないものとみなされ、明示的に削除操作を行わない限りロウが削除されなくなります。0が設定されたオプションを指定して時系列を作成することはできません。
GSTimeUnit GSTimeSeriesPropertiesTag::rowExpirationTimeUnit

ロウの有効期限の基準とする経過時間の単位です。

有効期限の期間値が設定されていた場合、GS_TIME_UNIT_YEARまたはGS_TIME_UNIT_MONTHが設定されたオプションを指定して、時系列を作成することはできません。
GSTimeZoneTag Struct Reference

タイムゾーン情報を表します。 More...

#include <gridstore.h>

Detailed Description

タイムゾーン情報を表します。

Since
4.3
GSTriggerInfoTag Struct Reference

トリガに関する情報を表します。 More...

#include <gridstore.h>

Public Attributes

const GSCharname
 トリガ名です。
 
GSTriggerType type
 トリガ種別です。
 
const GSCharuri
 通知先URIです。
 
GSTriggerEventTypeFlags eventTypeFlags
 監視対象とする更新操作種別です。
 
const GSChar *const * columnSet
 通知対象とするカラム名の集合です。
 
size_t columnCount
 通知対象とするカラム名の数です。
 
const GSCharjmsDestinationType
 JMS通知で使用するJMSデスティネーション種別です。
 
const GSCharjmsDestinationName
 JMS通知で使用するJMSデスティネーション名です。
 
const GSCharuser
 通知先サーバに接続する際のユーザ名です。
 
const GSCharpassword
 通知先サーバに接続する際のパスワードです。
 

Detailed Description

トリガに関する情報を表します。

Since
1.5
GSValueTag Union Reference

ロウフィールドに格納できるいずれかの型の値です。 More...

#include <gridstore.h>

Public Attributes

const GSCharasString
 STRING型のロウフィールドに対応する値です。
 
GSBool asBool
 BOOL型のロウフィールドに対応する値です。
 
int8_t asByte
 BYTE型のロウフィールドに対応する値です。
 
int16_t asShort
 SHORT型のロウフィールドに対応する値です。
 
int32_t asInteger
 INTEGER型のロウフィールドに対応する値です。
 
int64_t asLong
 LONG型のロウフィールドに対応する値です。
 
float asFloat
 FLOAT型のロウフィールドに対応する値です。
 
double asDouble
 DOUBLE型のロウフィールドに対応する値です。
 
GSTimestamp asTimestamp
 TIMESTAMP型のロウフィールドに対応する値です。
 
const GSCharasGeometry
 GEOMETRY型のロウフィールドに対応する値です。
 
GSBlob asBlob
 BLOB型のロウフィールドに対応する値です。
 
struct {
   size_t   length
 配列の要素数です。
 
   union {
      const void *   data
 配列の要素列へのアドレスです。
 
      const GSChar *const *   asString
 STRING型配列の要素列へのアドレスです。
 
      const GSBool *   asBool
 BOOL型配列の要素列へのアドレスです。
 
      const int8_t *   asByte
 BYTE型配列の要素列へのアドレスです。
 
      const int16_t *   asShort
 SHORT型配列の要素列へのアドレスです。
 
      const int32_t *   asInteger
 INTEGER型配列の要素列へのアドレスです。
 
      const int64_t *   asLong
 LONG型配列の要素列へのアドレスです。
 
      const float *   asFloat
 FLOAT型配列の要素列へのアドレスです。
 
      const double *   asDouble
 DOUBLE型配列の要素列へのアドレスです。
 
      const GSTimestamp *   asTimestamp
 TIMESTAMP型配列の要素列へのアドレスです。
 
   }   elements
 配列の要素です。
 
asArray
 配列型のロウフィールドに対応する値です。
 

Detailed Description

ロウフィールドに格納できるいずれかの型の値です。

Since
1.5

1.2 APIサンプル

1.2.1 基本: コレクション操作のサンプル

#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>

typedef struct {
	const GSChar *name;
	GSBool status;
	uint64_t count;
	const int8_t *lob;
	size_t lobSize;
} Person;

GS_STRUCT_BINDING(Person,
	GS_STRUCT_BINDING_KEY(name, GS_TYPE_STRING)
	GS_STRUCT_BINDING_ELEMENT(status, GS_TYPE_BOOL)
	GS_STRUCT_BINDING_ELEMENT(count, GS_TYPE_LONG)
	GS_STRUCT_BINDING_ARRAY(lob, lobSize, GS_TYPE_BYTE));

// コレクションデータの操作
int sample1(const char *args[5]) {
	static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
	static const GSBool update = GS_TRUE;

	GSGridStore *store;
	GSCollection *col;
	GSQuery *query;
	GSRowSet *rs;
	Person person;
	GSResult ret;

	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);

	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);

	// コレクションの作成
	gsPutCollection(store, "col01",
			GS_GET_STRUCT_BINDING(Person), NULL, GS_FALSE, &col);

	// カラムに索引を設定
	gsCreateIndex(col, "count", GS_INDEX_FLAG_DEFAULT);

	// 自動コミットモードをオフ
	gsSetAutoCommit(col, GS_FALSE);

	// Rowのデータを用意
	person.name = "name01";
	person.status = GS_FALSE;
	person.count = 1;
	person.lob = personLob;
	person.lobSize = sizeof(personLob);

	// KV形式でRowを操作: RowKeyは"name01"
	gsPutRow(col, NULL, &person, NULL);	// 登録
	gsGetRowForUpdate(col, &person.name, &person, NULL);	// 取得(更新用にロック)
	gsDeleteRow(col, &person.name, NULL);	// 削除

	// KV形式でRowを操作: RowKeyは"name02"
	gsPutRowByString(col, "name02", &person, NULL);	// 登録(RowKeyを指定)

	// トランザクションの確定(ロック解除)
	gsCommit(col);

	// コレクション内のRowを検索(クエリ使用)
	gsQuery(col, "select * where name = 'name02'", &query);

	// 検索したRowの取得と更新
	gsFetch(query, update, &rs);
	while (gsHasNextRow(rs)) {
		size_t i;

		// 検索したRowの更新
		gsGetNextRow(rs, &person);
		person.count += 1;
		ret = gsUpdateCurrentRow(rs, &person);
		if (!GS_SUCCEEDED(ret)) break;

		printf("Person:");
		printf(" name=%s", person.name);
		printf(" status=%s", person.status ? "true" : "false");
		printf(" count=%d", (int) person.count);
		printf(" lob=[");
		for (i = 0; i < person.lobSize; i++) {
			if (i > 0) printf(", ");
			printf("%d", (int) person.lob[i]);
		}
		printf("]\n");
	}

	// トランザクションの確定
	ret = gsCommit(col);

	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);

	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}

1.2.2 基本: 時系列操作のサンプル ― 登録・範囲取得

#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>

typedef struct {
	GSTimestamp timestamp;
	GSBool active;
	double voltage;
} Point;

GS_STRUCT_BINDING(Point,
	GS_STRUCT_BINDING_KEY(timestamp, GS_TYPE_TIMESTAMP)
	GS_STRUCT_BINDING_ELEMENT(active, GS_TYPE_BOOL)
	GS_STRUCT_BINDING_ELEMENT(voltage, GS_TYPE_DOUBLE));

// 時系列データの登録と範囲取得
int sample2(const char *args[5]) {
	GSGridStore *store;
	GSTimeSeries *ts;
	Point point;
	GSTimestamp now;
	GSTimestamp before;
	GSQuery *query;
	GSRowSet *rs;
	GSResult ret = !GS_RESULT_OK;

	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);

	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);

	// 時系列の作成 (既存の場合は取得のみ)
	gsPutTimeSeries(store, "point01",
			GS_GET_STRUCT_BINDING(Point), NULL, GS_FALSE, &ts);

	// 時系列要素のデータを用意
	point.active = GS_FALSE;
	point.voltage = 100;

	// 時系列要素の登録(グリッドストア側で時刻設定)
	gsAppendTimeSeriesRow(ts, &point, NULL);

	// 指定区間の時系列の取得: 6時間前から直近まで
	now = gsCurrentTime();
	before = gsAddTime(now, -6, GS_TIME_UNIT_HOUR);

	gsQueryByTimeSeriesRange(ts, before, now, &query);
	ret = gsFetch(query, GS_FALSE, &rs);
	while (gsHasNextRow(rs)) {
		GSChar timeStr[GS_TIME_STRING_SIZE_MAX];

		ret = gsGetNextRow(rs, &point);
		if (!GS_SUCCEEDED(ret)) break;

		gsFormatTime(point.timestamp, timeStr, sizeof(timeStr));
		printf("Time=%s", timeStr);
		printf(" Active=%s", point.active ? "true" : "false");
		printf(" Voltage=%.1lf\n", point.voltage);
	}

	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);

	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}

1.2.3 基本: 時系列操作のサンプル ― 検索・集計

#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>

typedef struct {
	GSTimestamp timestamp;
	GSBool active;
	double voltage;
} Point;

GS_STRUCT_BINDING(Point,
	GS_STRUCT_BINDING_KEY(timestamp, GS_TYPE_TIMESTAMP)
	GS_STRUCT_BINDING_ELEMENT(active, GS_TYPE_BOOL)
	GS_STRUCT_BINDING_ELEMENT(voltage, GS_TYPE_DOUBLE));

// 時系列データの検索と集計
int sample3(const char *args[5]) {
	GSGridStore *store;
	GSTimeSeries *ts;
	GSQuery *query;
	GSRowSet *rs;
	GSResult ret = !GS_RESULT_OK;

	// 読み取りのみなので、一貫性レベルを緩和(デフォルトはIMMEDIATE)
	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] },
			{ "consistency", "EVENTUAL" } };
	const size_t propCount = sizeof(props) / sizeof(*props);

	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);

	// 時系列の取得(既存の場合は取得のみ)
	// ※sample2と同じPoint構造体を使用
	gsGetTimeSeries(store, "point01", GS_GET_STRUCT_BINDING(Point), &ts);

	// 停止中にもかかわらず電圧が基準値以上の箇所を検索
	gsQuery(ts,
			"select * from point01"
			" where not active and voltage > 50", &query);
	gsFetch(query, GS_FALSE, &rs);

	while (gsHasNextRow(rs)) {
		// 各異常ポイントについて調査

		GSTimestamp hot;
		Point hotPoint;
		GSTimestamp start;
		Point startPoint;
		GSTimestamp end;
		GSAggregationResult *avg;
		double avgValue;
		GSChar hotStr[GS_TIME_STRING_SIZE_MAX];

		ret = gsGetNextRow(rs, &hotPoint);
		if (!GS_SUCCEEDED(ret)) break;
		hot = hotPoint.timestamp;

		// 10分前付近のデータを取得
		start = gsAddTime(hot, -10, GS_TIME_UNIT_MINUTE);
		gsGetRowByBaseTime(
				ts, start, GS_TIME_OPERATOR_NEXT, &startPoint, NULL);

		// 前後10分間の平均値を計算
		end = gsAddTime(hot, 10, GS_TIME_UNIT_MINUTE);
		gsAggregateTimeSeries(
				ts, start, end, "voltage", GS_AGGREGATION_AVERAGE, &avg);

		ret = gsGetAggregationValueAsDouble(avg, &avgValue, NULL);
		if (!GS_SUCCEEDED(ret)) break;

		gsFormatTime(hot, hotStr, sizeof(hotStr));

		printf("[Alert] %s", hotStr);
		printf(" start=%.1lf", startPoint.voltage);
		printf(" hot=%.1lf", hotPoint.voltage);
		printf(" avg=%.1lf\n", avgValue);
	}

	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);

	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}

1.2.4 応用: コレクション操作のサンプル ― コンテナ情報を用いてスキーマ定義

#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>

// コンテナ情報を用いてスキーマ定義
int sample4(const char *args[5]) {
	static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };
	static const GSBool update = GS_TRUE;

	GSGridStore *store;
	GSContainer *container;
	GSContainerInfo info = GS_CONTAINER_INFO_INITIALIZER;
	GSColumnInfo columnInfo = GS_COLUMN_INFO_INITIALIZER;
	GSColumnInfo columnInfoList[4];
	GSRow *row;
	GSQuery *query;
	GSRowSet *rs;
	GSResult ret;

	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);

	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);

	// コンテナ情報を作成
	columnInfo.name = "name";
	columnInfo.type = GS_TYPE_STRING;
	columnInfoList[0] = columnInfo;

	columnInfo.name = "status";
	columnInfo.type = GS_TYPE_BOOL;
	columnInfoList[1] = columnInfo;

	columnInfo.name = "count";
	columnInfo.type = GS_TYPE_LONG;
	columnInfoList[2] = columnInfo;

	columnInfo.name = "lob";
	columnInfo.type = GS_TYPE_BYTE_ARRAY;
	columnInfoList[3] = columnInfo;

	info.type = GS_CONTAINER_COLLECTION;
	info.name = "col01";
	info.columnCount = sizeof(columnInfoList) / sizeof(*columnInfoList);
	info.columnInfoList = columnInfoList;
	info.rowKeyAssigned = GS_TRUE;

	// コレクションの作成
	gsPutContainerGeneral(store, NULL, &info, GS_FALSE, &container);

	// カラムに索引を設定
	gsCreateIndex(container, "count", GS_INDEX_FLAG_DEFAULT);

	// 自動コミットモードをオフ
	gsSetAutoCommit(container, GS_FALSE);

	// Rowのデータを用意
	{
		const GSChar *name = "name01";
		GSBool status = GS_FALSE;
		int64_t count = 1;
		const int8_t *lobData = personLob;
		size_t lobSize = sizeof(personLob);

		gsCreateRowByStore(store, &info, &row);
		gsSetRowFieldByString(row, 0, name);
		gsSetRowFieldByBool(row, 1, status);
		gsSetRowFieldByLong(row, 2, count);
		gsSetRowFieldByByteArray(row, 3, lobData, lobSize);
	}

	// KV形式でRowを操作: RowKeyは"name01"
	gsPutRow(container, NULL, row, NULL);	// 登録
	gsGetRowByString(container, "name01", row, update, NULL);	// 取得(更新用にロック)
	gsDeleteRowByString(container, "name01", NULL);	// 削除

	// KV形式でRowを操作: RowKeyは"name02"
	gsPutRowByString(container, "name02", row, NULL);	// 登録(RowKeyを指定)

	// 不要ロウオブジェクトの解放
	gsCloseRow(&row);

	// トランザクションの確定(ロック解除)
	gsCommit(container);

	// コレクション内のRowを検索(クエリ使用)
	gsQuery(container, "select * where name = 'name02'", &query);

	// 検索したRowの取得と更新
	gsFetch(query, update, &rs);
	while (gsHasNextRow(rs)) {
		const GSChar *name;
		GSBool status;
		int64_t count;
		const int8_t *lobData;
		size_t lobSize;
		size_t i;

		gsCreateRowByContainer(container, &row);

		// 検索したRowの更新
		gsGetNextRow(rs, row);
		gsGetRowFieldAsString(row, 0, &name);
		gsGetRowFieldAsBool(row, 1, &status);
		gsGetRowFieldAsLong(row, 2, &count);
		gsGetRowFieldAsByteArray(row, 3, &lobData, &lobSize);
		count += 1;
		ret = gsUpdateCurrentRow(rs, row);
		if (!GS_SUCCEEDED(ret) || name == NULL) break;

		printf("Person:");
		printf(" name=%s", name);
		printf(" status=%s", status ? "true" : "false");
		printf(" count=%d", (int) count);
		printf(" lob=[");
		for (i = 0; i < lobSize; i++) {
			if (i > 0) {
				printf(", ");
			}
			printf("%d", (int) lobData[i]);
		}
		printf("]\n");
	}

	// トランザクションの確定
	ret = gsCommit(container);

	// コレクションの削除
	gsDropContainer(store, info.name);

	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);

	return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE);
}

1.2.5 応用: コレクション操作のサンプル ― 複数コンテナ一括操作

#include "gridstore.h"
#include <stdlib.h>
#include <stdio.h>

#define SAMPLE5_CONTAINER_COUNT 5
#define SAMPLE5_ROW_COUNT 2

// 複数コンテナ一括操作
int sample5(const char *args[5]) {
	static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };

	static const GSChar *const containerNameList[SAMPLE5_CONTAINER_COUNT] = {
			"col01", "col02", "col03", "col04", "col05"
	};
	static const GSChar *const keyList[SAMPLE5_ROW_COUNT] = {
			"name01", "name02"
	};

	static const size_t containerCount = SAMPLE5_CONTAINER_COUNT;
	static const size_t rowCount = SAMPLE5_ROW_COUNT;

	GSGridStore *store;
	GSContainer *containerList[SAMPLE5_CONTAINER_COUNT];
	GSContainerInfo info = GS_CONTAINER_INFO_INITIALIZER;
	GSColumnInfo columnInfo = GS_COLUMN_INFO_INITIALIZER;
	GSColumnInfo columnInfoList[4];
	GSResult ret;
	int failed = 0;
	size_t i, j;

	const GSPropertyEntry props[] = {
			{ "notificationAddress", args[0] },
			{ "notificationPort", args[1] },
			{ "clusterName", args[2] },
			{ "user", args[3] },
			{ "password", args[4] } };
	const size_t propCount = sizeof(props) / sizeof(*props);

	// GridStoreインスタンスの取得
	gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store);

	//コンテナ定義情報を作成
	columnInfo.name = "name";
	columnInfo.type = GS_TYPE_STRING;
	columnInfoList[0] = columnInfo;

	columnInfo.name = "status";
	columnInfo.type = GS_TYPE_BOOL;
	columnInfoList[1] = columnInfo;

	columnInfo.name = "count";
	columnInfo.type = GS_TYPE_LONG;
	columnInfoList[2] = columnInfo;

	columnInfo.name = "lob";
	columnInfo.type = GS_TYPE_BYTE_ARRAY;
	columnInfoList[3] = columnInfo;

	info.type = GS_CONTAINER_COLLECTION;
	info.columnCount = sizeof(columnInfoList) / sizeof(*columnInfoList);
	info.columnInfoList = columnInfoList;
	info.rowKeyAssigned = GS_TRUE;

	// コレクションの作成
	for (i = 0; i < containerCount; i++) {
		const GSChar *name = containerNameList[i];
		gsPutContainerGeneral(store, name, &info, GS_FALSE, &containerList[i]);
	}

	// 複数コレクションのRowを一括登録
	{
		void *allRowList[SAMPLE5_CONTAINER_COUNT][SAMPLE5_ROW_COUNT];
		GSContainerRowEntry inEntry = GS_CONTAINER_ROW_ENTRY_INITIALIZER;
		GSContainerRowEntry inEntryList[SAMPLE5_CONTAINER_COUNT];

		GSBool status = GS_FALSE;
		int64_t count = 1;
		const int8_t *lobData = personLob;
		size_t lobSize = sizeof(personLob);

		for (i = 0; i < containerCount; i++) {
			for (j = 0; j < rowCount; j++) {
				GSRow *row;
				const GSChar *name = keyList[j];

				gsCreateRowByStore(store, &info, &row);
				gsSetRowFieldByString(row, 0, name);
				gsSetRowFieldByBool(row, 1, status);
				gsSetRowFieldByLong(row, 2, count);
				gsSetRowFieldByByteArray(row, 3, lobData, lobSize);
				count++;

				allRowList[i][j] = row;
			}
			inEntry.containerName = containerNameList[i];
			inEntry.rowList = allRowList[i];
			inEntry.rowCount = rowCount;
			inEntryList[i] = inEntry;
		}

		ret = gsPutMultipleContainerRows(store, inEntryList, containerCount);
		failed |= !GS_SUCCEEDED(ret);

		for (i = 0; i < containerCount; i++) {
			for (j = 0; j < rowCount; j++) {
				GSRow *row = allRowList[i][j];
				gsCloseRow(&row);
			}
		}
	}

	// 複数コレクションのRowを一括取得
	{
		GSRowKeyPredicateEntry predEntry =
				GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER;
		GSRowKeyPredicateEntry predEntryValueList[SAMPLE5_CONTAINER_COUNT];
		const GSRowKeyPredicateEntry *predEntryList[SAMPLE5_CONTAINER_COUNT];
		const GSContainerRowEntry *outEntryList;
		size_t outEntryCount;
		GSRow *allRowList[SAMPLE5_CONTAINER_COUNT][SAMPLE5_ROW_COUNT];

		// 取得条件を構築
		for (i = 0; i < containerCount; i++) {
			GSRowKeyPredicate *predicate;

			gsCreateRowKeyPredicate(store, GS_TYPE_STRING, &predicate);
			for (j = 0; j < rowCount; j++) {
				gsAddPredicateKeyByString(predicate, keyList[j]);
			}

			predEntry.containerName = containerNameList[i];
			predEntry.predicate = predicate;
			predEntryValueList[i] = predEntry;
			predEntryList[i] = &predEntryValueList[i];
		}

		ret = gsGetMultipleContainerRows(
				store, predEntryList, containerCount,
				&outEntryList, &outEntryCount);
		failed |= !GS_SUCCEEDED(ret);

		// 取得結果ロウ列をコピー
		for (i = 0; i < containerCount || i < outEntryCount; i++) {
			GSContainerRowEntry outEntry = GS_CONTAINER_ROW_ENTRY_INITIALIZER;
			if (i < outEntryCount) {
				outEntry = outEntryList[i];
			}
			for (j = 0; j < rowCount || j < outEntry.rowCount; j++) {
				GSRow *row = NULL;
				if (j < outEntry.rowCount) {
					row = (GSRow*) outEntry.rowList[j];
				}
				if (i < containerCount && j < rowCount) {
					allRowList[i][j] = row;
				}
				else {
					gsCloseRow(&row);
				}
			}
		}

		// 取得結果を出力
		for (i = 0; i < containerCount; i++) {
			for (j = 0; j < rowCount; j++) {
				GSRow *row = allRowList[i][j];
				const GSChar *name;
				int64_t count;

				gsGetRowFieldAsString(row, 0, &name);
				gsGetRowFieldAsLong(row, 2, &count);

				failed |= (name == NULL);
				if (failed) break;

				printf("Person[%d]:", (int) i);
				printf(" name=%s", name);
				printf(" count=%d\n", (int) count);

				gsCloseRow(&row);
			}
			gsCloseRowKeyPredicate(&predEntryValueList[i].predicate);
		}
	}

	// 複数コレクションのRowを一括検索(クエリ使用)
	{
		GSQuery *queryList[SAMPLE5_CONTAINER_COUNT];

		for (i = 0; i < containerCount; i++) {
			const GSChar *tql = "select * where count >= 0";
			gsQuery(containerList[i], tql, &queryList[i]);
		}

		ret = gsFetchAll(store, queryList, containerCount);
		failed |= !GS_SUCCEEDED(ret);

		for (i = 0; i < containerCount; i++) {
			GSRowSet *rs;
			GSRow *row;

			gsCreateRowByContainer(containerList[i], &row);
			gsGetRowSet(queryList[i], &rs);

			while (gsHasNextRow(rs)) {
				const GSChar *name;
				GSBool status;
				int64_t count;
				const int8_t *lobData;
				size_t lobSize;

				ret = gsGetNextRow(rs, row);
				failed |= !GS_SUCCEEDED(ret);
				if (failed) break;

				gsGetRowFieldAsString(row, 0, &name);
				gsGetRowFieldAsBool(row, 1, &status);
				gsGetRowFieldAsLong(row, 2, &count);
				gsGetRowFieldAsByteArray(row, 3, &lobData, &lobSize);
				count += 1;

				failed |= (name == NULL);
				if (failed) break;

				printf("Person[%d]:", (int) i);
				printf(" name=%s", name);
				printf(" status=%s", status ? "true" : "false");
				printf(" count=%d", (int) count);
				printf(" lob=[");
				for (j = 0; j < lobSize; j++) {
					if (j > 0) {
						printf(", ");
					}
					printf("%d", (int) lobData[j]);
				}
				printf("]\n");
			}

			gsCloseRow(&row);
			gsCloseRowSet(&rs);
			gsCloseQuery(&queryList[i]);
		}
	}

	// コレクションの削除
	for (i = 0; i < containerCount; i++) {
		const GSChar *name = containerNameList[i];
		gsDropContainer(store, name);
	}

	// リソースの解放
	gsCloseGridStore(&store, GS_TRUE);

	return (failed ? EXIT_FAILURE : EXIT_SUCCESS);
}

2 付録

2.1 値の範囲

値の上限などの値の範囲を説明します。 システムの制限値については、GridDB機能リファレンスを参照してください。

2.1.1 基本型の取りうる値

以下の基本型の取りうる値は、次の通りです。


取りうる値
ブール(BOOL)型真または偽
BYTE型-27から27-1
SHORT型-215から215-1
INTEGER型-231から231-1
LONG型-263から263-1
FLOAT型IEEE754準拠
DOUBLE型IEEE754準拠
時刻(TIMESTAMP)型西暦1970年1月1日のはじめから西暦9999年12月31日の終わりまで(UTC相当)。精度はミリ秒。うるう秒は扱わない

空間(GEOMETRY)型でTQL演算に使用できる値はST_GeomFromText関数が返す任意の値です。このうちコンテナに格納できる値はQUADRATICSURFACE構造を除いたものです。

APIを通じて基本型とマッピングされるオブジェクトの表現範囲は、上記の範囲と異なる場合があります。上記の範囲を超えた値を持つオブジェクトの内容をコンテナに格納することはできませんが、検索条件の構築など、その他操作の可否を規定するものではありません。たとえば、Java APIにて時刻型にマッピングされるjava.util.Dateオブジェクトでは、コンテナに格納できない西暦1970年より前の年の時刻も表現でき、その値をロウキーの条件としてRowKeyPredicateオブジェクトや時系列のサンプリングクエリに含めることができます。しかし、その条件でロウを取得しようとした時点でエラーが検出される可能性があります。マッピングされるオブジェクトの具体的な表現範囲は、個々のオブジェクトの型の定義を参照してください。

3 商標

  • GridDBは日本国内における東芝デジタルソリューションズ株式会社の登録商標です。
  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • その他製品名は、それぞれの所有者の商標または登録商標です。