GridDB Java APIリファレンス

Table of Contents

1 API

1.1 API一覧

Package com.toshiba.mwcloud.gs

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

See: Description

  • Interface Summary 
    Interface Description
    AggregationResult
    集計演算の結果を保持します。
    Collection<K,R>
    ロウ集合を汎用的に管理するためのコンテナです。
    Container<K,R>
    同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。
    GridStore
    接続したGridDBシステム内のデータベースに属するデータを操作するための機能を提供します。
    PartitionController
    パーティション状態の取得や操作のためのコントローラです。
    Query<R>
    特定のContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。
    Row
    任意のスキーマについて汎用的にフィールド操作できるロウです。
    Row.Key
    ロウキーに関するカラムのみから構成されるRowの一種です。
    Row.WithKey<K>
    マッピングに用いるロウオブジェクトの型について、常に指定のロウキー型と対応付くことを表します。
    RowSet<R>
    クエリ実行より求めたロウの集合を管理します。
    TimeSeries<R>
    時刻をロウキーとする、時系列処理に特化したコンテナです。
  • Class Summary 
    Class Description
    Collection.BindType
    Collectionならびにその型パラメータと結びつく Container.BindTypeを構築するための、補助クラスです。
    ColumnInfo
    カラムのスキーマに関する情報を表します。
    Container.BindType<K,R,C extends Container<K,R>>
    Containerならびにその型パラメータと結びつく型情報を表します。
    ContainerInfo
    特定のコンテナに関する情報を表します。
    Geometry
    2次元、もしくは3次元の空間範囲を示すジオメトリデータを管理します。
    GridStoreFactory
    GridStoreインスタンスを管理します。
    IndexInfo
    索引の設定内容を表します。
    QueryAnalysisEntry
    クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。
    RowKeyPredicate<K>
    ロウキーの合致条件を表します。
    TimeSeries.BindType
    TimeSeriesならびにその型パラメータと結びつく Container.BindTypeを構築するための、補助クラスです。
    TimeSeriesProperties
    時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。
    TimestampUtils
    時刻データを操作するためのユーティリティ機能を提供します。
    TriggerInfo
    コンテナの更新を監視するためのトリガ情報を表します。
  • Enum Summary 
    Enum Description
    Aggregation
    ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。
    CompressionMethod
    圧縮方式の種別を表します。
    ContainerType
    コンテナの種別を表します。
    FetchOption
    クエリ実行結果を取得する際のオプション項目です。
    GeometryOperator
    空間範囲同士の関係性についての制約を定義します。
    GSType
    GridDB上のフィールド値の型を表します。
    IndexType
    Containerに設定する索引の種別を示します。
    InterpolationMode
    ロウの補間方法の種別を表します。
    QueryOrder
    クエリにおける要求ロウ順序を表します。
    TimeOperator
    TimeSeriesのキー時刻に基づく、ロウの特定方法を表します。
    TimeUnit
    時系列処理で用いる時間の単位を示します。
    TriggerInfo.EventType
    トリガで監視対象とする更新操作種別を表します。
    TriggerInfo.Type
    トリガの種別を表します。
  • Exception Summary 
    Exception Description
    GSException
    GridDB機能の処理中に発生した例外状態を示します。
    GSTimeoutException
    要求した処理が既定の時間内に終了しなかったことを示す例外です。
  • Annotation Types Summary 
    Annotation Type Description
    NotNull
    NOT NULL制約を持つカラムであることを示します。
    Nullable
    NOT NULL制約を持たないカラムであることを示します。
    RowField
    Containerの処理におけるマッピング対象のロウフィールドについて、オプションを設定します。
    RowKey
    Containerのキーと対応することを示します。
    TransientRowField
    Containerの処理において、マッピング対象外のロウフィールドであることを宣言します。

Package com.toshiba.mwcloud.gs Description

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

Enum Aggregation

  • java.lang.Object
    • java.lang.Enum<Aggregation>
      • com.toshiba.mwcloud.gs.Aggregation
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Aggregation>


    public enum Aggregation
    extends java.lang.Enum<Aggregation>
    ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。

    現バージョンでは、TimeSeriesに対してのみ使用できます。

    重み付きの演算の場合、キーの値に基づき重み付け値を決定します。 TimeSeriesに対する重み付きの演算の場合、前後それぞれの時刻のロウとの中間時刻間の期間を特定の単位で換算したものを、重み付け値として使用します。ただし、前後いずれかの時刻のロウのみが存在しない場合は、存在しないロウの代わりに重み付け対象のロウを用いて求めた重み付け値を使用します。前後いずれの時刻のロウも存在しない場合は、重み付け値として1 (単位は前後いずれかのロウが存在する場合と同一)を使用します。

    演算の内部処理にてオーバーフローが発生した場合、浮動小数点数型では負または正の無限大、整数型では未定義の値が求まります。また、浮動小数点数型にて演算対象に非数(NaN)が含まれていた場合、非数が求まります。

    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      AVERAGE
      平均を求める演算です。
      COUNT
      標本数、すなわち対象ロウの個数を求める演算です。
      MAXIMUM
      最大値を求める演算です。
      MINIMUM
      最小値を求める演算です。
      STANDARD_DEVIATION
      標準偏差を求める演算です。
      TOTAL
      合計を求める演算です。
      VARIANCE
      分散を求める演算です。
      WEIGHTED_AVERAGE
      重み付きで平均を求める演算です。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static Aggregation valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Aggregation[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • AVERAGE

        public static final Aggregation AVERAGE
        平均を求める演算です。

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

      • COUNT

        public static final Aggregation COUNT
        標本数、すなわち対象ロウの個数を求める演算です。

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

      • MAXIMUM

        public static final Aggregation MAXIMUM
        最大値を求める演算です。

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

      • MINIMUM

        public static final Aggregation MINIMUM
        最小値を求める演算です。

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

      • STANDARD_DEVIATION

        public static final Aggregation STANDARD_DEVIATION
        標準偏差を求める演算です。

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

      • TOTAL

        public static final Aggregation TOTAL
        合計を求める演算です。

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

      • VARIANCE

        public static final Aggregation VARIANCE
        分散を求める演算です。

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

      • WEIGHTED_AVERAGE

        public static final Aggregation WEIGHTED_AVERAGE
        重み付きで平均を求める演算です。

        各標本値と重み付け値との積の合計を、各重み付け値の合計で割ることにより求めます。重み付け値の計算方法は、Aggregationの説明を参照してください。

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

    • Method Detail

      • valueOf

        public static Aggregation valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static Aggregation[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Aggregation c : Aggregation.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Interface AggregationResult



  • public interface AggregationResult
    集計演算の結果を保持します。

    集計演算に関するクエリの実行もしくは TimeSeries.aggregate(Date, Date, String, Aggregation) により取得できる、集計演算の結果を保持します。整数型カラムに対する演算結果を浮動小数点型として、また、有効桁数の少ない数値型のカラムに対する演算結果をより桁数の多い数値型として受け取ることができます。

    保持する型は、集計演算の種別や集計対象のカラムの型によって決定されます。具体的な規則はAggregationまたはTQLの仕様を参照してください。

    取り出しできる型は、保持されている型によって決まります。保持されている型が数値型の場合はDOUBLE型またはLONG型、TIMESTAMP型の場合はTIMESTAMP型の値としてのみ取り出しできます。

    • Method Summary

      Methods 
      Modifier and Type Method and Description
      java.lang.Double getDouble()
      数値型の集計値をDOUBLE型(Double)として取得します。
      java.lang.Long getLong()
      数値型の集計値をLONG型(Long)として取得します。
      java.util.Date getTimestamp()
      時刻型の集計値をTIMESTAMP型(Date)で取得します。
    • Method Detail

      • getDouble

        java.lang.Double getDouble()
        数値型の集計値をDOUBLE型(Double)として取得します。

        数値型以外の値を保持している場合、nullを返します。 DOUBLE型以外の数値を保持している場合、DOUBLE型に変換したものを返します。

        Returns:
        DOUBLE型(Double)の集計値。結果が数値型以外の場合は null
      • getLong

        java.lang.Long getLong()
        数値型の集計値をLONG型(Long)として取得します。

        数値型以外の値を保持している場合、nullを返します。 LONG型以外の数値を保持している場合、LONG型に変換したものを返します。

        Returns:
        LONG型(Double)の集計値。結果が数値型以外の場合は null
      • getTimestamp

        java.util.Date getTimestamp()
        時刻型の集計値をTIMESTAMP型(Date)で取得します。

        TIMESTAMP型以外の値を保持している場合、nullを返します。

        Returns:
        TIMESTAMP型(Date)の集計値。結果がTIMESTAMP型以外の場合はnull

Class Collection.BindType

  • java.lang.Object
    • com.toshiba.mwcloud.gs.Collection.BindType
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static <R> Container.BindType<java.lang.Void,R,? extends Collection<java.lang.Void,R>> noKeyOf(java.lang.Class<R> rowClass)
      ロウキーを持たず、指定のロウオブジェクト型、ならびに、 Collectionと結びつくContainer.BindTypeを取得します。
      static <K,R> Container.BindType<K,R,? extends Collection<K,R>> of(java.lang.Class<K> keyClass, java.lang.Class<R> rowClass)
      指定のロウキー型、指定のロウオブジェクト型、ならびに、 Collectionと結びつくContainer.BindTypeを取得します。
      static <K,R extends Row.WithKey<K>> 
      Container.BindType<K,R,? extends Collection<K,R>>
      of(java.lang.Class<R> rowClass)
      指定のロウオブジェクト型から得られるロウキーの型、指定のロウオブジェクト型、ならびに、Collectionと結びつく Container.BindTypeを取得します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • noKeyOf

        public static <R> Container.BindType<java.lang.Void,R,? extends Collection<java.lang.Void,R>> noKeyOf(java.lang.Class<R> rowClass)
                                                                                                   throws GSException
        ロウキーを持たず、指定のロウオブジェクト型、ならびに、 Collectionと結びつくContainer.BindTypeを取得します。
        Type Parameters:
        R - ロウオブジェクトの型
        Parameters:
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Throws:
        GSException - ロウキーの型と、ロウオブジェクトの型との間で不整合を検出した場合
        Since:
        4.3
      • of

        public static <K,R> Container.BindType<K,R,? extends Collection<K,R>> of(java.lang.Class<K> keyClass,
                                                                 java.lang.Class<R> rowClass)
                                                                    throws GSException
        指定のロウキー型、指定のロウオブジェクト型、ならびに、 Collectionと結びつくContainer.BindTypeを取得します。
        Type Parameters:
        K - ロウキーの型
        R - ロウオブジェクトの型
        Parameters:
        keyClass - ロウキーの型に対応するクラスオブジェクト
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Throws:
        GSException - ロウキーの型と、ロウオブジェクトの型との間で不整合を検出した場合
        Since:
        4.3
      • of

        public static <K,R extends Row.WithKey<K>> Container.BindType<K,R,? extends Collection<K,R>> of(java.lang.Class<R> rowClass)
                                                                                                                  throws GSException
        指定のロウオブジェクト型から得られるロウキーの型、指定のロウオブジェクト型、ならびに、Collectionと結びつく Container.BindTypeを取得します。
        Type Parameters:
        K - ロウキーの型
        R - ロウオブジェクトの型
        Parameters:
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Throws:
        GSException - 指定のロウオブジェクト型からロウキーの型が得られなかった場合
        Since:
        4.3

Interface Collection<K,R>

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable, Container<K,R>


    public interface Collection<K,R>
    extends Container<K,R>
    ロウ集合を汎用的に管理するためのコンテナです。

    ロウキーには次の型が使用できます。

    • 文字列型(String)
    • INTEGER型(Integer)
    • LONG型(Long)
    • TIMESTAMP型(Date)
    • 上記の型のカラムを単一または複数持つ(複合)ロウキー(Row.Key)

    ロウキーの設定は必須ではありません。

    ロウ操作について、コンテナ固有の制限は設けられていません。

    Container.query(String)もしくはGridStore.multiGet(java.util.Map) などより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序は不定となります。

    ロック粒度はロウ単位です。

    • Method Detail

      • query

        Query<R> query(java.lang.String column,
                     Geometry geometryIntersection,
                     Geometry geometryDisjoint)
                       throws GSException
        除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。

        geometryIntersectionと交差し、かつ、geometryDisjointと交差しないカラム値を持つロウ集合を取得します。交差判定の条件は、 GeometryOperator.INTERSECTと同一です。

        Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。

        現バージョンでは、GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。カラム名の誤りなどがあった場合、得られたクエリをフェッチする際に例外が送出されます。

        Parameters:
        column - 比較対象の空間型カラムの名前。nullは指定できない
        geometryIntersection - カラム上の値と交差する範囲を示す空間構造。 nullは指定できない
        geometryDisjoint - カラム上の値と交差しない範囲を示す空間構造。 nullは指定できない
        Throws:
        GSException - 現バージョンでは送出されない
      • query

        Query<R> query(java.lang.String column,
                     Geometry geometry,
                     GeometryOperator geometryOp)
                       throws GSException
        指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。

        Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。

        現バージョンでは、GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。カラム名の誤りなどがあった場合、得られたクエリをフェッチする際に例外が送出されます。

        Parameters:
        column - 比較対象の空間型カラムの名前。nullは指定できない
        geometry - 比較対象として与える空間構造。nullは指定できない
        geometryOp - 比較方法。nullは指定できない
        Throws:
        GSException - 現バージョンでは送出されない

Class ColumnInfo

  • java.lang.Object
    • com.toshiba.mwcloud.gs.ColumnInfo


  • public class ColumnInfo
    extends java.lang.Object
    カラムのスキーマに関する情報を表します。

    カラム名の表記、もしくは、カラムの型と索引種別の対応関係などの内容の妥当性について、必ずしも検査するとは限りません。

    • Constructor Summary

      Constructors 
      Constructor and Description
      ColumnInfo(java.lang.String name, GSType type)
      カラム名、型を指定してカラム情報を作成します。
      ColumnInfo(java.lang.String name, GSType type, java.lang.Boolean nullable, java.lang.Boolean defaultValueNull, java.util.Set<IndexType> indexTypes)
      カラム名、型、NOT NULL制約の状態、初期値でのNULL使用有無、索引種別の集合を指定してカラム情報を作成します。
      ColumnInfo(java.lang.String name, GSType type, java.lang.Boolean nullable, java.util.Set<IndexType> indexTypes)
      カラム名、型、NOT NULL制約の状態、索引種別の集合を指定してカラム情報を作成します。
      ColumnInfo(java.lang.String name, GSType type, java.util.Set<IndexType> indexTypes)
      カラム名、型、索引種別の集合を指定してカラム情報を作成します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      java.lang.Boolean getDefaultValueNull()
      カラムの初期値としてNULLを使用するかどうかを取得します。
      java.util.Set<IndexType> getIndexTypes()
      このカラムのすべての索引種別を取得します。
      java.lang.String getName()
      カラム名を取得します。
      java.lang.Boolean getNullable()
      カラムにNOT NULL制約が設定されていないかどうかを取得します。
      GSType getType()
      カラムの型、すなわち、カラムに対応する各フィールド値の型を取得します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ColumnInfo

        public ColumnInfo(java.lang.String name,
                  GSType type)
        カラム名、型を指定してカラム情報を作成します。
        Parameters:
        name - カラム名。nullを指定すると未設定状態となる
        type - カラムの型。nullも指定すると未設定状態となる
        Since:
        1.5
      • ColumnInfo

        public ColumnInfo(java.lang.String name,
                  GSType type,
                  java.lang.Boolean nullable,
                  java.lang.Boolean defaultValueNull,
                  java.util.Set<IndexType> indexTypes)
        カラム名、型、NOT NULL制約の状態、初期値でのNULL使用有無、索引種別の集合を指定してカラム情報を作成します。

        空ではない索引種別の集合が指定された場合、内容が複製されます。

        Parameters:
        name - カラム名。nullを指定すると未設定状態となる
        type - カラムの型。nullを指定すると未設定状態となる
        nullable - NOT NULL制約が設定されていない場合はtrue、設定されている場合はfalsenullを指定すると未設定状態となる
        defaultValueNull - 初期値としてNULLを使用する場合はtrue、使用しない場合はfalsenullを指定すると未設定状態となる
        indexTypes - 索引種別の集合。nullを指定すると未設定状態となる。空の場合は索引の設定が一つもないとみなされる
        Since:
        4.1
      • ColumnInfo

        public ColumnInfo(java.lang.String name,
                  GSType type,
                  java.lang.Boolean nullable,
                  java.util.Set<IndexType> indexTypes)
        カラム名、型、NOT NULL制約の状態、索引種別の集合を指定してカラム情報を作成します。

        空ではない索引種別の集合が指定された場合、内容が複製されます。

        Parameters:
        name - カラム名。nullを指定すると未設定状態となる
        type - カラムの型。nullを指定すると未設定状態となる
        nullable - NOT NULL制約が設定されていない場合はtrue、設定されている場合はfalsenullを指定すると未設定状態となる
        indexTypes - 索引種別の集合。nullを指定すると未設定状態となる。空の場合は索引の設定が一つもないとみなされる
        Since:
        3.5
      • ColumnInfo

        public ColumnInfo(java.lang.String name,
                  GSType type,
                  java.util.Set<IndexType> indexTypes)
        カラム名、型、索引種別の集合を指定してカラム情報を作成します。

        空ではない索引種別の集合が指定された場合、内容が複製されます。

        Parameters:
        name - カラム名。nullを指定すると未設定状態となる
        type - カラムの型。nullを指定すると未設定状態となる
        indexTypes - 索引種別の集合。nullを指定すると未設定状態となる。空の場合は索引の設定が一つもないとみなされる
        Since:
        1.5
    • Method Detail

      • getDefaultValueNull

        public java.lang.Boolean getDefaultValueNull()
        カラムの初期値としてNULLを使用するかどうかを取得します。
        Returns:
        NULLを使用する場合はtrue、NULL以外の値を使用する場合は false、未設定の場合はnull
        Since:
        4.1
      • getIndexTypes

        public java.util.Set<IndexType> getIndexTypes()
        このカラムのすべての索引種別を取得します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Returns:
        索引種別の集合。未設定の場合はnull
        Since:
        1.5
      • getName

        public java.lang.String getName()
        カラム名を取得します。
        Returns:
        カラム名。未設定の場合はnull
      • getNullable

        public java.lang.Boolean getNullable()
        カラムにNOT NULL制約が設定されていないかどうかを取得します。
        Returns:
        NOT NULL制約が設定されていない場合はtrue、設定されている場合はfalse、未設定の場合はnull
        Since:
        3.5
      • getType

        public GSType getType()
        カラムの型、すなわち、カラムに対応する各フィールド値の型を取得します。
        Returns:
        カラムの型。未設定の場合はnull

Enum CompressionMethod

  • java.lang.Object
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<CompressionMethod>


    public enum CompressionMethod
    extends java.lang.Enum<CompressionMethod>
    圧縮方式の種別を表します。

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

    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      HI
      誤差あり間引き圧縮方式であることを示します。
      NO
      無圧縮であることを示します。
      SS
      誤差なし間引き圧縮方式であることを示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static CompressionMethod valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static CompressionMethod[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • HI

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

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

      • NO

        public static final CompressionMethod NO
        無圧縮であることを示します。
      • SS

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

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

    • Method Detail

      • valueOf

        public static CompressionMethod valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static CompressionMethod[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (CompressionMethod c : CompressionMethod.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Class Container.BindType<K,R,C extends Container<K,R>>

  • java.lang.Object
    • com.toshiba.mwcloud.gs.Container.BindType<K,R,C>
  • Type Parameters:
    K - ロウキーの型。ロウキーが存在しない場合はVoidまたは Row.Keyを指定
    R - マッピングに用いるロウオブジェクトの型
    C - 対応するContainerインスタンスにおいて実装されていることを期待する、Containerまたはそのサブインタフェースの型
    Enclosing interface:
    Container<K,R>


    public static class Container.BindType<K,R,C extends Container<K,R>>
    extends java.lang.Object
    Containerならびにその型パラメータと結びつく型情報を表します。

    Containerインスタンスを構築する際に与える複数の型情報について、一つのオブジェクトとしてまとめて保持することができます。

    ロウキーの型とContainerインスタンスの型との対応関係の妥当性など、内容の妥当性については、このクラスのインスタンスの生成段階で必ずしも検査するとは限りません。

    Since:
    4.3
    See Also:
    GridStore.getContainer(String, Container.BindType)
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      C castContainer(Container<?,?> container)
      このオブジェクトが保持するロウキーの型ならびにロウオブジェクトの型を型パラメータとし持つ、Containerまたはそのサブインタフェースの型にキャストします。
      K castKey(java.lang.Object obj)
      このオブジェクトが保持するロウキーの型にキャストします。
      R castRow(java.lang.Object obj)
      このオブジェクトが保持するロウオブジェクトの型にキャストします。
      java.lang.Class<? extends Container<?,?>> getContainerClass()
      Containerまたはそのサブインタフェースの型を取得します。
      java.lang.Class<K> getKeyClass()
      ロウキーの型を取得します。
      java.lang.Class<R> getRowClass()
      ロウオブジェクトの型を取得します。
      static <R> Container.BindType<java.lang.Void,R,? extends Container<java.lang.Void,R>> noKeyOf(java.lang.Class<R> rowClass)
      ロウキーを持たず、指定のロウオブジェクト型、ならびに、任意の型の Containerと結びつくContainer.BindTypeを取得します。
      static <K,R> Container.BindType<K,R,? extends Container<K,R>> of(java.lang.Class<K> keyClass, java.lang.Class<R> rowClass)
      指定のロウキー型、指定のロウオブジェクト型、ならびに、任意の型の Containerと結びつくContainer.BindTypeを取得します。
      static <K,R extends Row.WithKey<K>> 
      Container.BindType<K,R,? extends Container<K,R>>
      of(java.lang.Class<R> rowClass)
      指定のロウオブジェクト型から得られるロウキーの型、指定のロウオブジェクト型、ならびに、任意の型のContainerと結びつく Container.BindTypeを取得します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • castContainer

        public C castContainer(Container<?,?> container)
                                               throws GSException
        このオブジェクトが保持するロウキーの型ならびにロウオブジェクトの型を型パラメータとし持つ、Containerまたはそのサブインタフェースの型にキャストします。
        Parameters:
        container - キャスト対象のContainerインスタンス
        Returns:
        キャストされたオブジェクト
        Throws:
        GSException - キャスト対象のContainerインスタンスと、このオブジェクトが保持する型情報との間で、ロウキーの型ならびにロウオブジェクトの型が一致しない場合
        Since:
        4.3
      • castKey

        public K castKey(java.lang.Object obj)
        このオブジェクトが保持するロウキーの型にキャストします。
        Parameters:
        obj - キャスト対象のオブジェクト
        Returns:
        キャストされたオブジェクト
        Since:
        4.3
      • castRow

        public R castRow(java.lang.Object obj)
        このオブジェクトが保持するロウオブジェクトの型にキャストします。
        Parameters:
        obj - キャスト対象のオブジェクト
        Returns:
        キャストされたオブジェクト
        Since:
        4.3
      • getContainerClass

        public java.lang.Class<? extends Container<?,?>> getContainerClass()
        Containerまたはそのサブインタフェースの型を取得します。
        Returns:
        対応するContainerインスタンスにおいて実装されていることを期待する、Containerまたはそのサブインタフェースの型
        Since:
        4.3
      • getKeyClass

        public java.lang.Class<K> getKeyClass()
        ロウキーの型を取得します。
        Returns:
        ロウキーの型
        Since:
        4.3
      • getRowClass

        public java.lang.Class<R> getRowClass()
        ロウオブジェクトの型を取得します。
        Returns:
        ロウオブジェクトの型
        Since:
        4.3
      • noKeyOf

        public static <R> Container.BindType<java.lang.Void,R,? extends Container<java.lang.Void,R>> noKeyOf(java.lang.Class<R> rowClass)
                                                                                                  throws GSException
        ロウキーを持たず、指定のロウオブジェクト型、ならびに、任意の型の Containerと結びつくContainer.BindTypeを取得します。
        Type Parameters:
        R - ロウオブジェクトの型
        Parameters:
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Returns:
        対応する型情報
        Throws:
        GSException - ロウキーの型と、ロウオブジェクトの型との間で不整合を検出した場合
        Since:
        4.3
      • of

        public static <K,R> Container.BindType<K,R,? extends Container<K,R>> of(java.lang.Class<K> keyClass,
                                                                java.lang.Class<R> rowClass)
                                                                   throws GSException
        指定のロウキー型、指定のロウオブジェクト型、ならびに、任意の型の Containerと結びつくContainer.BindTypeを取得します。
        Type Parameters:
        K - ロウキーの型
        R - ロウオブジェクトの型
        Parameters:
        keyClass - ロウキーの型に対応するクラスオブジェクト
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Returns:
        対応する型情報
        Throws:
        GSException - ロウキーの型と、ロウオブジェクトの型との間で不整合を検出した場合
        Since:
        4.3
      • of

        public static <K,R extends Row.WithKey<K>> Container.BindType<K,R,? extends Container<K,R>> of(java.lang.Class<R> rowClass)
                                                                                                                 throws GSException
        指定のロウオブジェクト型から得られるロウキーの型、指定のロウオブジェクト型、ならびに、任意の型のContainerと結びつく Container.BindTypeを取得します。
        Type Parameters:
        K - ロウキーの型
        R - ロウオブジェクトの型
        Parameters:
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Returns:
        対応する型情報
        Throws:
        GSException - 指定のロウオブジェクト型からロウキーの型が得られなかった場合
        Since:
        4.3

Interface Container<K,R>

  • Type Parameters:
    K - ロウキーの型。ロウキーが存在しない場合はVoidまたは Row.Keyを指定
    R - マッピングに用いるロウオブジェクトの型
    All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable
    All Known Subinterfaces:
    Collection<K,R>, TimeSeries<R>


    public interface Container<K,R>
    extends java.io.Closeable
    同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。

    ロウオブジェクトを入出力の基本単位として、各種管理機能を提供します。ロウオブジェクトとGridDB上のロウは、指定のロウオブジェクト型とGridDB上のスキーマとの対応関係に基づいて、相互にマッピングされます。

    GridDB上のスキーマを構成する各カラムは、ロウオブジェクト内のフィールドやメソッド定義と対応関係を持ちます。 1つのコンテナは1つ以上のカラムにより構成されます。各カラムとの対応関係は、指定の型のpublic・protected・デフォルトアクセスのフィールドまたはgetter・setterメソッドに基づき決定されます。ただし、TransientRowFieldが指定されたフィールドやメソッド、 transientフィールドは対象外です。また、ロウオブジェクトを動的に生成するために、public・protected・デフォルトアクセスのデフォルトコンストラクタを持つ必要があります。内部クラスの場合、静的内部クラスである必要があります。

    getterは、boolean値を返す場合「is」または「get」、それ以外の型の値を返す場合「get」から始まる名前を持つ、引数なしのメソッドです。 setterは、「set」から始まる名前を持ち、設定対象の値1つのみを引数とするメソッドです。 GridDB上のカラム名は、特に指定のない限り、フィールド名、もしくは、getter・ setterのメソッド名から「get」などの固定の接頭辞を除いたものと対応します。別のカラム名と対応付けるには、RowField.name()を使用します。 getter・setterの一方しか存在しないものは無視されます。同名のフィールドと getter・setterの両方が存在する場合は、getter・setterを使用します。 getter・setter名の大文字・小文字表記が異なる場合、getterのものが優先されます。カラムがロウキーを持つ場合は、対応するフィールドまたはメソッドにRowKeyを設定します。

    1つのコンテナのカラム間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、コンテナ定義におけるカラム名の文字種や長さ、カラム数には制限があります。具体的には、 GridDBテクニカルリファレンスを参照してください。特に記載のない限り、カラム名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。

    カラムの型と、ロウオブジェクト内の各値の型との対応は、それぞれ次の通りです。

    カラム型ロウオブジェクト内の各値の型
    STRINGString
    BOOLBooleanまたはboolean
    BYTEByteまたはbyte
    SHORTShortまたはshort
    INTEGERIntegerまたはint
    LONGLongまたはlong
    FLOATFloatまたはfloat
    DOUBLEDoubleまたはdouble
    TIMESTAMPDate
    GEOMETRYGeometry
    BLOBBlobを実装したクラス
    STRING配列String[]
    BOOL配列boolean[]
    BYTE配列byte[]
    SHORT配列short[]
    INTEGER配列int[]
    LONG配列long[]
    FLOAT配列float[]
    DOUBLE配列double[]
    TIMESTAMP配列java.util.Date[]

    フィールドの値の表現範囲やサイズには制限があります。具体的には、付録の章の値の範囲の説明、ならびに、GridDBテクニカルリファレンスを参照してください。制限に反する値をコンテナに格納することはできません。

    ロウキーとして許可されている型や、ロウキーに対応するカラムの有無、ロウ操作の可否といった制約は、このコンテナのサブインタフェースの定義によって異なります。

    GridDB上のロウにおけるNULLは、NOT NULL制約が設定されていない限り保持することができます。ロウオブジェクトのフィールドまたはgetter・setter メソッドが参照型の値を入出力できる場合、GridDB上のロウにおけるNULLは nullとして入出力できます。それ以外の場合、NULLはロウオブジェクトにおいて後述の空の値にマッピングされます。

    ロウオブジェクト型におけるNOT NULL制約は、NotNullならびに Nullableにより明示的に指定できます。NOT NULL制約がいずれの指定対象にも指定されていない場合、ロウキー以外のカラムはNOT NULL 制約なしであるとみなされます。ロウキーは暗黙的にNOT NULL制約が設定された状態となっており、この制約を外すような指定はできません。また、同一の指定対象や、getter、setterメソッド間での矛盾したNOT NULL制約は指定できません。たとえば、ロウオブジェクト型にNotNullNullableが同時に指定された場合、矛盾したNOT NULL制約が指定されたとみなされます。NOT NULL制約の有無に関する指定対象別の優先順位は、次の通りです。

    1. ロウオブジェクトのフィールドまたはgetter・setterメソッド
    2. ロウオブジェクトの型
    3. ロウオブジェクトのエンクロージング型(例:ロウオブジェクトのクラスを内部クラスとして取り囲むインタフェース)、または、その型から再帰的に求まるエンクロージング型。再帰的に求まるエンクロージング型のうち、制約の指定があり、かつ、最初に見つかった型を優先。
    4. ロウオブジェクトの型が属するパッケージ

    空の値は、Rowの作成など各種操作の初期値などとして用いられることのある、フィールド値の一種です。以下のように、カラム型ごとに値が定義されています。

    カラム型空の値
    STRING""(長さ0の文字列)
    BOOL偽(false)
    数値型0
    TIMESTAMP1970-01-01T00:00:00Z
    GEOMETRYPOINT(EMPTY)
    BLOB長さ0のBLOBデータ
    配列型要素数0の配列

    トランザクション処理では、デフォルトで自動コミットモードが有効になっています。自動コミットモードでは、変更操作は逐次確定し、明示的に取り消すことができません。手動コミットモードにおいて、このオブジェクトを介した操作によりクラスタノード上でエラーが検出されGSExceptionが送出された場合、コミット前の更新操作はすべて取り消されます。トランザクション分離レベルはREAD COMMITTEDのみをサポートします。ロック粒度は、コンテナの種別によって異なります。

    このContainerの生成後またはトランザクション終了後、最初にロウの更新・追加・削除、ならびに更新用ロック獲得が行われた時点で、新たなトランザクションが開始されます。自動コミットモードでは、トランザクションを開始したロウ操作が完了するとトランザクションは自動的にコミットされ終了します。手動コミットモードでは、明示的にトランザクションを制御するか有効期限に到達するまでトランザクションは終了しません。トランザクションをコミットするにはcommit()、アボートするにはabort()を使用します。このContainerまたはその生成元のGridStoreがクローズされた場合もトランザクションはアボートされ終了します。また、トランザクションを開始させた操作を行った時刻を起点として、GridDB上で定められている期間だけ経過すると有効期限に到達します。有効期限到達後にアボートすることなく、続けてロウ操作やトランザクションコミットを行おうとすると、GSExceptionが送出されるようになります。

    あるコンテナへの操作要求に対するクラスタノード上での処理が開始され、終了するまでの間、同一のコンテナに対する操作が待機させられる場合があります。ここでの操作には、コンテナのスキーマや索引などの定義変更、コンテナ情報の参照、ロウ操作などが含まれます。一貫性レベルがIMMEDIATEGridStoreインスタンスを通じてコンテナを操作する場合、同一のコンテナに対するIMMEDIATE設定での他の操作処理の途中、原則としては待機させられます。また、コンテナに対する他の操作処理の途中の状態に基づいて処理が行われることは、原則としてはありません。例外事項については、個別の操作ごとの説明を参照してください。

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface and Description
      static class  Container.BindType<K,R,C extends Container<K,R>>
      Containerならびにその型パラメータと結びつく型情報を表します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void abort()
      手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、トランザクションを終了します。
      void close()
      GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。
      void commit()
      手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、トランザクションを終了します。
      java.sql.Blob createBlob()
      このContainerに対して巨大なバイナリデータを格納するためのBlobを作成します。
      void createIndex(IndexInfo info)
      IndexInfoで設定されている内容に従い、索引を作成します。
      void createIndex(java.lang.String columnName)
      指定された名前のカラムに対し、デフォルトの種別で名前のない索引を作成します。
      void createIndex(java.lang.String columnName, IndexType type)
      指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。
      R createRow()
      このコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。
      void createTrigger(TriggerInfo info)
      トリガを設定します。
      void dropIndex(IndexInfo info)
      IndexInfoで設定されている内容に一致する、すべての索引を削除します。
      void dropIndex(java.lang.String columnName)
      指定された名前のカラムのうち、デフォルトの種別の索引のみを削除します。
      void dropIndex(java.lang.String columnName, IndexType type)
      指定された名前のカラムのうち、指定された種別の索引のみを削除します。
      void dropTrigger(java.lang.String name)
      トリガを削除します。
      void flush()
      これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。
      R get(K key)
      指定のロウキーに対応するロウの内容を取得します。
      R get(K key, boolean forUpdate)
      指定のオプションに従い、ロウキーに対応するロウの内容を取得します。
      Container.BindType<K,R,? extends Container<K,R>> getBindType()
      このオブジェクトと結びつく型情報を取得します。
      ContainerType getType()
      このコンテナの種別を取得します。
      boolean put(java.util.Collection<R> rowCollection)
      指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。
      boolean put(K key, R row)
      必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。
      boolean put(R row)
      常にロウオブジェクトのみを指定して、ロウを新規作成または更新します。
      Query<R> query(java.lang.String tql)
      指定のTQL文を実行するためのクエリを作成します。
      <S> Query<S> query(java.lang.String tql, java.lang.Class<S> rowType)
      指定のTQL文・対応付け用クラスを使用する、クエリオブジェクトを作成します。
      boolean remove(K key)
      指定のロウキーに対応するロウを削除します。
      void setAutoCommit(boolean enabled)
      コミットモードの設定を変更します。
    • Method Detail

      • abort

        void abort()
                   throws GSException
        手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、トランザクションを終了します。
        Throws:
        GSException - 自動コミットモードのときに呼び出された場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
      • close

        void close()
                   throws GSException
        GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。

        トランザクションを保持している場合、未コミットの更新内容はすべて元に戻されます。

        GSExceptionが送出された場合であっても、接続状態の解除やローカルのリソース解放処理は適宜実施されます。ただし、GridDB上のトランザクション状態などは残る可能性があります。すでにクローズ済みの場合、このメソッドを呼び出しても解放処理は行われません。

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        GSException - 接続障害が発生した場合
      • commit

        void commit()
                    throws GSException
        手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、トランザクションを終了します。
        Throws:
        GSException - 自動コミットモードのときに呼び出された場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
      • createBlob

        java.sql.Blob createBlob()
                                 throws GSException
        このContainerに対して巨大なバイナリデータを格納するためのBlobを作成します。

        作成されたBlobは、ロウのフィールドとして利用できます。まず、Blob.setBinaryStream(long)などを用いてバイナリデータをセットし、続いてput(Object)などを用いてContainerに格納します。

        このメソッドにより得られたBlobに対し、少なくとも次のメソッドを呼び出すことができます。

        • Blob.length()
        • Blob.setBinaryStream(long)
        • Blob.setBytes(long, byte[])
        • Blob.setBytes(long, byte[], int, int)
        • Blob.free()

        ロウオブジェクトに設定するBLOBは、必ずしもこのメソッドで作成した Blobを使う必要はありません。SerialBlobなど、Blobを実装した他のクラスのインスタンスを設定することもできます。また、作成されたBlobに有効期間はありません。

        現バージョンでは、ロウ全体をクライアントのメモリ上にキャッシュするため、このVMのメモリ使用量の制限を超えるような巨大なデータは登録できない可能性があります。

        現バージョンでは、GSExceptionが送出されることはありません。

        Throws:
        GSException
      • createIndex

        void createIndex(IndexInfo info)
                         throws GSException
        IndexInfoで設定されている内容に従い、索引を作成します。

        作成対象の索引のカラムについては、カラム名列またはカラム番号列の少なくとも一方が設定されており、かつ、対応するコンテナにおいて実在するものが設定されている必要があります。カラム名列とカラム番号列が共に設定されている場合、対応するカラム列が順序を含め一致している必要があります。

        索引種別が設定されていないかIndexType.DEFAULTが設定されていた場合、後述の基準に従い、デフォルト種別の索引が選択されます。

        1つのコンテナの索引間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、索引の定義において使用できる索引名の文字種や長さには制限があります。具体的には、 GridDBテクニカルリファレンスを参照してください。特に記載のない限り、索引名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。

        既存の同名の索引が存在した場合、後述の条件を満たす同一設定の IndexInfoを指定しなければならず、その場合新たな索引は作成されません。一方、既存の異なる名前の索引または名前のない索引と同一設定の IndexInfoを指定することはできません。

        索引名が設定されていない場合は、名前のない索引の作成が要求されたものとみなされます。名前を除いて同一設定の索引がすでに存在していた場合、名前のない索引でなければならず、その場合新たな索引は作成されません。

        現バージョンでは、少なくともContainerを通じて作成された索引において、次の条件を満たす場合に索引名を除いて同一設定の索引であるとみなされます。

        • 索引対象のカラム列が順序を含め一致すること。カラム名列、カラム番号列、単一カラム指定、といった、カラム列の指定方法の違いは無視される
        • 索引種別が一致すること。デフォルト指定の有無といった索引種別の指定方法の違いは無視される

        現バージョンにおける、GridStoreFactory.getInstance()を基に生成されたContainerインスタンスでは、コンテナの種別、対応するカラムの型などに基づき、次の索引種別がデフォルトとして選択されます。

        カラムの型コレクション時系列
        STRING IndexType.TREE IndexType.TREE
        BOOL IndexType.TREE IndexType.TREE
        数値型 IndexType.TREE IndexType.TREE
        TIMESTAMP IndexType.TREE IndexType.TREE※制限あり
        GEOMETRY IndexType.SPATIAL (なし)
        BLOB (なし) (なし)
        配列型 (なし) (なし)

        時系列のロウキー(TIMESTAMP型)には索引を設定できません。また、カラム列を構成するカラム型によってデフォルト種別が異なる場合には、選択できません。

        このContainerインスタンスが未コミットのトランザクションを保持していた場合、コミットしてから作成を行います。処理対象のコンテナにおいて実行中の他のトランザクションが存在する場合、それらの終了を待機してから作成を行います。すでに索引が存在しており新たな索引が作成されなかった場合、他のトランザクションによって待機するかどうかは未定義です。またこの場合、このContainerインスタンスが保持している未コミットのトランザクションが常にコミットされるかどうかは未定義です。

        現バージョンでは、コンテナの規模など諸条件を満たした場合、索引の作成開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、一部の索引操作、トリガ操作、ロウ操作(更新含む)を行える場合があります。それ以外の操作は、Containerでの定義通り待機させる場合があります。索引の作成途中に別の操作が行われる場合は、作成途中の索引に関する情報はコンテナ情報には含まれません。

        Throws:
        GSException - 作成対象のカラム、索引名が上記の規則に合致しない場合
        GSException - この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
        GSException - 指定のカラムにおいてサポートされていない索引種別が指定された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        3.5
      • createIndex

        void createIndex(java.lang.String columnName)
                         throws GSException
        指定された名前のカラムに対し、デフォルトの種別で名前のない索引を作成します。

        カラム名のみが設定されたIndexInfoを指定して createIndex(IndexInfo)を呼び出した場合と同様に振る舞います。

        Throws:
        GSException - 指定のカラム名がcreateIndex(IndexInfo)の規則に合致しない場合
        GSException - この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
        GSException - 索引設定がサポートされていないカラムが指定された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • createIndex

        void createIndex(java.lang.String columnName,
                       IndexType type)
                         throws GSException
        指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。

        カラム名と種別のみが設定されたIndexInfoを指定して createIndex(IndexInfo)を呼び出した場合と同様に振る舞います。

        Throws:
        GSException - 指定のカラム名と種別が createIndex(IndexInfo)の規則に合致しない場合
        GSException - この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
        GSException - 指定のカラムにおいてサポートされていない索引種別が指定された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • createRow

        R createRow()
                    throws GSException
        このコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。

        コンテナのロウオブジェクトの型がRowの場合、作成されるRowの各フィールドには GridStore.createRow(ContainerInfo)により作成した場合と同様に既定の初期値が設定されます。またこの場合、作成されたRowに対する操作は、このContainerオブジェクトのクローズ有無に影響しません。

        Throws:
        GSException - ユーザ定義型のロウオブジェクトを作成する場合に例外が送出された場合
        GSException - クローズ後に呼び出された場合
        Since:
        1.5
      • createTrigger

        void createTrigger(TriggerInfo info)
                           throws GSException
        トリガを設定します。

        このコンテナに対して特定の種別の更新操作が行われた場合に、指定のURIに通知が送信されるようになります。指定されたトリガと同名のトリガが存在した場合、設定内容が上書きされます。

        トリガ設定内容の詳細は、TriggerInfoの定義を参照してください。トリガ名、トリガ種別、通知条件、通知先URI、通知内容の詳細は以下の通りです。

        トリガ名

        トリガ種別や通知条件などの違いによらず、1つのコンテナのトリガ間で、 ASCIIの大文字・小文字表記を含め同一の名前のものを複数定義することはできません。その他、トリガの定義において使用できるトリガ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、トリガ名を指定する操作では、 ASCIIの大文字・小文字表記の違いが区別されます。

        トリガ種別

        次のトリガ種別をサポートします。

        名称説明
        REST コンテナに指定された種別の更新操作が行われた際に、指定されたURIにREST(HTTP POSTメソッド)で通知するトリガです。
        Java Message Service(JMS) コンテナに指定された種別の更新操作が行われた際に、指定されたURIのJMSサーバへJMSメッセージを通知するトリガです。 JMSプロバイダとしてApache ActiveMQを使用します。
        通知条件

        このコンテナに対するロウ新規作成/更新 (put(Object)put(Object, Object)put(java.util.Collection)GridStore.multiPut(java.util.Map)RowSet.update(Object))・削除(remove(Object)RowSet.remove()) 操作命令の実行直後に通知を行います。監視対象として複数の操作が指定された場合は、そのうちのいずれかが実行された際に通知を行います。

        通知を行った時点でのレプリケーションの完了は保証されません。自動コミットモード無効で実行されたロウ新規作成/更新・削除命令に対応する通知については、通知を行った時点でトランザクションが未コミットであったり、通知後にトランザクションがアボートされたりした場合、通知を受けた時点で通知に含まれるデータが取得できないことがあります。

        複数ロウ一括操作の場合、1件のロウ操作ごとに通知を行います。指定されたURIに通知を行っても一定時間以内に応答がない場合、タイムアウトし再送は行いません。 GridDBクラスタに障害が発生した場合、ある更新操作に対応する通知が行われないことのほか、複数回通知されることがあります。

        通知先URI

        通知先URIは次の書式で記述します。

         (メソッド名)://(ホスト名):(ポート番号)/(パス)

        ただし、トリガ種別がRESTの場合、メソッド名にはhttpのみ指定できます。

        通知内容

        更新が行われたコンテナ名、更新操作名、更新されたロウデータの指定したカラムの値を通知します。更新操作名は、ロウ新規作成/更新では"put"、削除では"delete"となります。

        通知する値は、ロウ新規作成では新規作成直後、更新では更新後、削除では削除前のロウデータについての、指定カラムの値となります。カラムの型がTIMESTAMPの場合、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("(カラム名)", (カラムデータ)) で設定されます。

        トリガが設定されているコンテナに対して GridStore.putCollection(String, Class, boolean)GridStore.putTimeSeries(String, Class, TimeSeriesProperties, boolean) などによりカラムレイアウトが変更された際に、トリガの通知対象となっているカラムの削除または名称変更があった場合、該当するカラムはトリガの通知対象から削除されます。

        GridDBからの通知の際に、設定されている通知先URIへのリクエストに対応するサーバが応答しなかった場合、タイムアウト時刻までの待機処理が発生します。この待機処理は、このコンテナならびに他の一部のコンテナの更新に対する通知が遅れる要因となります。したがって、無効となった通知先URIを持つトリガは dropTrigger(String)により削除することが推奨されます。

        一つのコンテナに対して設定できるトリガの最大数、ならびに、トリガの各種設定値の上限については、GridDBテクニカルリファレンスを参照してください。

        Parameters:
        info - 設定対象のトリガ情報
        Throws:
        GSException - トリガ名がnull、空、またはその他の規則に合致しない場合
        GSException - 監視対象更新操作の指定がない場合
        GSException - 通知先URIが規定の構文に合致しない場合
        GSException - トリガ種別でJMSが指定され、かつJMSデスティネーション種別がnull、または空、または指定の書式に合致しない場合
        GSException - トリガ種別でJMSが指定され、かつJMSデスティネーション名がnull、または空の場合
        GSException - この処理のタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
      • dropIndex

        void dropIndex(IndexInfo info)
                       throws GSException
        IndexInfoで設定されている内容に一致する、すべての索引を削除します。

        IndexInfoの設定内容は、削除対象の索引を絞り込む条件として使用されます。絞り込み条件は、カラム列、索引種別、索引名の3つに分類されます。それぞれ設定するかどうかは任意です。いずれも設定されていない場合は、作成済みのすべての索引が削除されます。

        カラム名列またはカラム番号列が設定されている場合、対応するコンテナにおいて実在するものである必要があります。カラム名列とカラム番号列が共に設定されている場合、対応するカラムが互いに一致している必要があります。カラム名列ならびにカラム番号列が共に設定されていない場合、他の絞り込み条件(索引種別、索引名)を満たす任意のカラム列に対する索引が削除対象となります。

        索引種別が設定されている場合、指定の種別の索引のみが削除対象となります。IndexType.DEFAULTが設定されている場合、 createIndex(IndexInfo)の基準に従い、デフォルト種別の索引が選択されます。索引をサポートしていないカラムや指定の種別の索引をサポートしていないカラムについては、削除対象にはなりません。索引種別が設定されていない場合、他の絞り込み条件(カラム列、索引名)を満たす任意の種別の索引が削除対象となります。

        索引名が設定されている場合、指定の名前の索引のみが削除対象となります。索引名の同一性は、createIndex(IndexInfo)の基準に従います。索引名が設定されていない場合、他の絞り込み条件(カラム列、索引種別)を満たす、任意の名前の索引ならびに名前のない索引が削除対象となります。

        削除対象となる索引が一つも存在しない場合、索引の削除は行われません。

        トランザクションの扱いは、createIndex(IndexInfo)と同様です。また、複数の索引が削除対象となった場合に、一部の索引のみが削除された状態で他のトランザクションが実行されることがありうるかどうかは未定義です。

        索引の削除要求の完了直後の状態に関しては、 GridStore.dropContainer(String)と同様です。

        Throws:
        GSException - 削除対象のカラム、索引名が上記の規則に合致しない場合
        GSException - この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        3.5
      • dropIndex

        void dropIndex(java.lang.String columnName)
                       throws GSException
        指定された名前のカラムのうち、デフォルトの種別の索引のみを削除します。

        カラム名とデフォルトの種別が設定されたIndexInfoを指定して dropIndex(IndexInfo)を呼び出した場合と同様に振る舞います。

        Throws:
        GSException - 指定のカラム名がdropIndex(IndexInfo)の規則に合致しない場合
        GSException - この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • dropIndex

        void dropIndex(java.lang.String columnName,
                     IndexType type)
                       throws GSException
        指定された名前のカラムのうち、指定された種別の索引のみを削除します。

        カラム名と種別が設定されたIndexInfoを指定して dropIndex(IndexInfo)を呼び出した場合と同様に振る舞います。

        Throws:
        GSException - 指定のカラム名がdropIndex(IndexInfo)の規則に合致しない場合
        GSException - この処理のタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • dropTrigger

        void dropTrigger(java.lang.String name)
                         throws GSException
        トリガを削除します。

        指定された名前のトリガが存在しない場合は何も変更しません。

        Throws:
        GSException - この処理のタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
      • flush

        void flush()
                   throws GSException
        これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。

        通常より信頼性が要求される処理のために使用します。ただし、頻繁に実行すると性能低下を引き起こす可能性が高まります。

        書き出し対象のクラスタノードの範囲など、挙動の詳細はGridDB上の設定によって変化します。

        Throws:
        GSException - この処理のタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合
      • get

        R get(K key,
            boolean forUpdate)
              throws GSException
        指定のオプションに従い、ロウキーに対応するロウの内容を取得します。

        ロウキーに対応するカラムが存在する場合のみ使用できます。

        手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。

        自動コミットモードの場合、更新用ロックを要求できません。

        Parameters:
        forUpdate - 更新用ロックを要求するかどうか
        Returns:
        対応するロウオブジェクト。存在しない場合はnull
        Throws:
        GSException - ロウキーに対応するカラムが存在しない場合
        GSException - 自動コミットモードにもかかわらず、更新用ロックを要求しようとした場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして設定されていた場合
        java.lang.ClassCastException - 指定のロウキーがマッピング処理で使用されるロウキーの型と対応しない場合
        java.lang.NullPointerException - keynullが指定された場合
      • getBindType

        Container.BindType<K,R,? extends Container<K,R>> getBindType()
                                                                     throws GSException
        このオブジェクトと結びつく型情報を取得します。

        取得する型情報には、このオブジェクトを構築する際に与えられたロウキーの型、ロウオブジェクトの型と同一のものが設定されます。

        Containerまたはそのサブインタフェースの型については、構築時に与えられた型と同一になるとは限らず、そのサブインタフェースの型が求まる可能性があります。また、ContainerTypeにより区別されるコンテナ種別と一対一で対応することは保証しません。

        Returns:
        このオブジェクトと結びつく型情報
        Throws:
        GSException - クローズ後に呼び出された場合
        Since:
        4.3
      • getType

        ContainerType getType()
                              throws GSException
        このコンテナの種別を取得します。

        現バージョンでは、インスタンス生成時点で常に種別が確定するため、この操作によりGridDBクラスタに問い合わせを行うことはありません。

        Throws:
        GSException - クローズ後に呼び出された場合
        Since:
        1.5
      • put

        boolean put(java.util.Collection<R> rowCollection)
                    throws GSException
        指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。

        指定のロウオブジェクト集合の各ロウについて、イテレータからの取り出し順序に従ってput(Object)を呼び出した場合と同様に新規作成または更新操作を行います。

        指定のロウオブジェクト集合内に同一のロウキーを持つ複数のロウが存在する場合、ロウオブジェクト集合のイテレータからの取り出し順序を基準として、同一のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。

        コンテナの種別ならびに設定によっては、操作できるロウの内容について put(Object)と同様の制限が設けられています。具体的な制限事項は、サブインタフェースの定義を参照してください。

        手動コミットモードの場合、対象のロウがロックされます。

        自動コミットモードのときに、コンテナならびにロウに対する処理の途中で例外が発生した場合、コンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。

        Returns:
        現バージョンでは、常にfalse
        Throws:
        GSException - 特定コンテナ種別固有の制限に反する操作を行った場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
        java.lang.ClassCastException - 指定の各ロウオブジェクトがマッピング処理で使用されるロウオブジェクトの型と対応しない場合
        java.lang.NullPointerException - rowCollectionまたはその要素として nullが指定された場合。また、put(Object, Object)と同様ロウオブジェクトの特定の箇所にnullが含まれていた場合
        See Also:
        put(Object)
      • put

        boolean put(K key,
                  R row)
                    throws GSException
        必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。

        ロウキーに対応するカラムが存在する場合、ロウキーとコンテナの状態を基に、ロウを新規作成するか、更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクトとは別にロウキーを指定した場合、ロウオブジェクト内のロウキーより優先して使用されます。

        ロウキーに対応するカラムを持たない場合、常に新規のロウを作成します。別途指定するロウキーには、常にnullを指定します。

        コンテナの種別ならびに設定によっては、制限が設けられています。具体的な制限事項は、サブインタフェースの定義を参照してください。

        手動コミットモードの場合、対象のロウはロックされます。

        Parameters:
        key - 処理対象のロウキー
        row - 新規作成または更新するロウの内容と対応するロウオブジェクト
        Returns:
        指定のロウキーと一致するロウが存在したかどうか
        Throws:
        GSException - ロウキーに対応するカラムが存在しないにもかかわらず、キーが指定された場合
        GSException - 特定コンテナ固有の制限に反する操作を行った場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
        java.lang.ClassCastException - 指定のキーもしくはロウオブジェクトと、マッピング処理で使用される型との間で対応しないものがある場合
        java.lang.NullPointerException - rownullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトについて、NOT NULL制約があるにも関わらずnullが設定されている場合や、配列型の場合にnullの要素が含まれている場合
      • put

        boolean put(R row)
                    throws GSException
        常にロウオブジェクトのみを指定して、ロウを新規作成または更新します。

        指定のロウオブジェクト内のロウキーを使用する点を除き、 put(Object, Object)と同等です。

        Throws:
        GSException
        See Also:
        put(Object, Object)
      • query

        Query<R> query(java.lang.String tql)
                       throws GSException
        指定のTQL文を実行するためのクエリを作成します。

        選択式に集計演算を含むクエリなど、実行結果の出力形式がこのコンテナのロウの形式と対応しないクエリに対しては、使用できません。代わりに、query(String, Class)が利用できます。

        Query.fetch(boolean)を通じてロウ集合を求める際に更新用ロックのオプションを有効できるのは、このコンテナ上に実在しないロウが選択されることのないクエリのみです。たとえば、補間演算を含むクエリに対しては有効にできません。

        現バージョンでは、TQL文の誤りによるGSExceptionや、 nullを指定できない引数でnullを指定したことによる NullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。

        Parameters:
        tql - TQL文。nullは指定できない
        Throws:
        GSException - 現バージョンでは送出されない
        See Also:
        query(String, Class)
      • query

        <S> Query<S> query(java.lang.String tql,
                         java.lang.Class<S> rowType)
                       throws GSException
        指定のTQL文・対応付け用クラスを使用する、クエリオブジェクトを作成します。

        集計演算のように、このコンテナのロウと異なる型の結果を期待する場合に使用します。

        rowTypeには次の型またはnullのみを指定できます。

        コンテナのロウの型
        query(String)と同様、このコンテナと対応する型のロウデータを受け取ります。
        AggregationResult
        集計演算の実行結果を受け取ります。
        QueryAnalysisEntry
        EXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を受け取ります。
        null
        実行結果に応じた適切な型により結果を受け取ります。

        上記以外の値は指定できません。

        Query.fetch(boolean)を通じてロウ集合を求める際に更新用ロックのオプションを有効できるのは、このコンテナ上に実在しないロウが選択されることのないクエリのみです。たとえば、補間演算を含むクエリに対しては有効にできません。

        現バージョンでは、TQL文の誤りによるGSExceptionや、 nullを指定できない引数でnullを指定したことによる NullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。

        Parameters:
        tql - TQL文。nullは指定できない
        rowType - 期待するロウオブジェクトの型またはnull
        Throws:
        GSException - サポートされない型をrowTypeに指定した場合
      • remove

        boolean remove(K key)
                       throws GSException
        指定のロウキーに対応するロウを削除します。

        ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。

        コンテナの種別ならびに設定によっては、制限が設けられています。具体的な制限事項は、サブインタフェースの定義を参照してください。

        手動コミットモードの場合、対象のロウはロックされます。

        Returns:
        対応するロウが存在したかどうか
        Throws:
        GSException - ロウキーに対応するカラムが存在しない場合
        GSException - 特定コンテナ固有の制限に反する操作を行った場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして指定された場合
        java.lang.ClassCastException - 指定のロウキーがマッピング処理で使用されるロウキーの型と対応しない場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setAutoCommit

        void setAutoCommit(boolean enabled)
                           throws GSException
        コミットモードの設定を変更します。

        自動コミットモードでは、直接トランザクション状態を制御できず、変更操作が逐次コミットされます。自動コミットモードが有効でない場合、すなわち手動コミットモードの場合は、直接commit()を呼び出すかトランザクションがタイムアウトしない限り、このコンテナ内で同一のトランザクションが使用され続け、変更操作はコミットされません。

        自動コミットモードが無効から有効に切り替わる際、未コミットの変更内容は暗黙的にコミットされます。コミットモードに変更がない場合、トランザクション状態は変更されません。この挙動は、 Connection.setAutoCommit(boolean)と同様です。

        Throws:
        GSException - モード変更に伴いコミット処理を要求した際に、この処理またはトランザクションのタイムアウト、このコンテナの削除、接続障害が発生した場合、またはクローズ後に呼び出された場合

Class ContainerInfo

  • java.lang.Object
    • com.toshiba.mwcloud.gs.ContainerInfo


  • public class ContainerInfo
    extends java.lang.Object
    特定のコンテナに関する情報を表します。

    コンテナ名の表記、もしくは、コンテナ種別と時系列オプションの有無の対応などの内容の妥当性について、必ずしも検査するとは限りません。

    • Constructor Summary

      Constructors 
      Constructor and Description
      ContainerInfo()
      空のコンテナ情報を作成します。
      ContainerInfo(ContainerInfo containerInfo)
      指定のコンテナ情報を複製します。
      ContainerInfo(java.lang.String name, ContainerType type, java.util.List<ColumnInfo> columnInfoList, boolean rowKeyAssigned)
      複合ロウキーを持たない場合に限定し、カラムレイアウトに関する情報を指定してコンテナ情報を作成します。
      ContainerInfo(java.lang.String name, ContainerType type, java.util.List<ColumnInfo> columnInfoList, java.util.List<java.lang.Integer> rowKeyColumnList)
      任意のロウキー構成を含む、カラムレイアウトに関する情報を指定してコンテナ情報を作成します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      int getColumnCount()
      カラム数を取得します。
      ColumnInfo getColumnInfo(int column)
      指定カラムに関する情報を取得します。
      java.lang.String getDataAffinity()
      データ配置最適化のために用いられる、コンテナ間の類似性を示す文字列を取得します。
      java.util.List<IndexInfo> getIndexInfoList()
      索引情報の一覧を取得します。
      java.lang.String getName()
      コンテナ名を取得します。
      java.util.List<java.lang.Integer> getRowKeyColumnList()
      ロウキーを構成するカラムの一覧を取得します。
      TimeSeriesProperties getTimeSeriesProperties()
      時系列構成オプションを取得します。
      java.util.List<TriggerInfo> getTriggerInfoList()
      トリガ情報の一覧を取得します。
      ContainerType getType()
      コンテナの種別を取得します。
      boolean isColumnOrderIgnorable()
      カラム順序が無視できるかどうかを返します。
      boolean isRowKeyAssigned()
      複合ロウキーが設定されていない場合に限定し、ロウキーに対応するカラムの有無を取得します。
      void setColumnInfoList(java.util.List<ColumnInfo> columnInfoList)
      すべてのカラムの情報をまとめて設定します。
      void setColumnOrderIgnorable(boolean ignorable)
      カラム順序が無視できるかどうかを設定します。
      void setDataAffinity(java.lang.String dataAffinity)
      データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列を設定します。
      void setIndexInfoList(java.util.List<IndexInfo> indexInfoList)
      索引情報の一覧を設定します。
      void setName(java.lang.String name)
      コンテナ名を設定します。
      void setRowKeyAssigned(boolean assigned)
      ロウキーに対応するカラムの有無を設定します。
      void setRowKeyColumnList(java.util.List<java.lang.Integer> rowKeyColumnList)
      ロウキーを構成するカラムの一覧を設定します。
      void setTimeSeriesProperties(TimeSeriesProperties props)
      時系列構成オプションを設定します。
      void setTriggerInfoList(java.util.List<TriggerInfo> triggerInfoList)
      トリガ情報の一覧を設定します。
      void setType(ContainerType type)
      コンテナ種別を設定します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ContainerInfo

        public ContainerInfo()
        空のコンテナ情報を作成します。
        Since:
        1.5
      • ContainerInfo

        public ContainerInfo(ContainerInfo containerInfo)
        指定のコンテナ情報を複製します。
        Parameters:
        containerInfo - 複製元のコンテナ情報。nullは指定できない
        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
      • ContainerInfo

        public ContainerInfo(java.lang.String name,
                     ContainerType type,
                     java.util.List<ColumnInfo> columnInfoList,
                     boolean rowKeyAssigned)
        複合ロウキーを持たない場合に限定し、カラムレイアウトに関する情報を指定してコンテナ情報を作成します。
        Parameters:
        name - コンテナ名。nullを指定すると未設定状態となる
        type - コンテナ種別。nullを指定すると未設定状態となる
        columnInfoList - カラム情報のリスト。nullは指定できない
        rowKeyAssigned - ロウキーに対応するカラムの有無。単一カラムからなるロウキーを持つ場合はtrue、持たない場合はfalse
        Throws:
        java.lang.NullPointerException - columnInfoListnullが指定された場合
        Since:
        1.5
      • ContainerInfo

        public ContainerInfo(java.lang.String name,
                     ContainerType type,
                     java.util.List<ColumnInfo> columnInfoList,
                     java.util.List<java.lang.Integer> rowKeyColumnList)
        任意のロウキー構成を含む、カラムレイアウトに関する情報を指定してコンテナ情報を作成します。
        Parameters:
        name - コンテナ名。nullを指定すると未設定状態となる
        type - コンテナ種別。nullを指定すると未設定状態となる
        columnInfoList - カラム情報のリスト。nullは指定できない
        rowKeyColumnList - ロウキーを構成するカラム列についての、0 から始まるカラム番号一覧。長さ0のリストまたはnullを指定すると、ロウキーなしとみなされる
        Throws:
        java.lang.NullPointerException - columnInfoListnullが指定された場合
        Since:
        4.3
    • Method Detail

      • getColumnCount

        public int getColumnCount()
        カラム数を取得します。
        Returns:
        カラム数。カラムレイアウト未設定の場合は0
      • getColumnInfo

        public ColumnInfo getColumnInfo(int column)
        指定カラムに関する情報を取得します。
        Parameters:
        column - カラムを特定するための番号。0以上かつカラム数未満の値
        Returns:
        指定カラム番号に対応するカラム情報
        Throws:
        java.lang.IllegalArgumentException - 範囲外のカラム番号を指定した場合
        See Also:
        RowField.columnNumber()
      • getDataAffinity

        public java.lang.String getDataAffinity()
        データ配置最適化のために用いられる、コンテナ間の類似性を示す文字列を取得します。
        Returns:
        時系列間の類似性を示す文字列。標準設定の場合はnull
        Since:
        2.1
        See Also:
        setDataAffinity(String)
      • getIndexInfoList

        public java.util.List<IndexInfo> getIndexInfoList()
        索引情報の一覧を取得します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Returns:
        索引情報の一覧
        Since:
        3.5
      • getName

        public java.lang.String getName()
        コンテナ名を取得します。
        Returns:
        コンテナ名。未設定の場合はnull
      • getRowKeyColumnList

        public java.util.List<java.lang.Integer> getRowKeyColumnList()
        ロウキーを構成するカラムの一覧を取得します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Returns:
        ロウキーを構成するカラム列についての、0から始まるカラム番号一覧。対応するコンテナがロウキーを持たない場合は長さ0 のリスト
        Since:
        4.3
      • getTimeSeriesProperties

        public TimeSeriesProperties getTimeSeriesProperties()
        時系列構成オプションを取得します。

        返却されたオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化するかどうかは未定義です。

        Returns:
        時系列構成オプション。未設定の場合はnull
        Since:
        1.5
      • getTriggerInfoList

        public java.util.List<TriggerInfo> getTriggerInfoList()
        トリガ情報の一覧を取得します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Returns:
        トリガ情報の一覧
        Since:
        1.5
      • getType

        public ContainerType getType()
        コンテナの種別を取得します。
        Returns:
        コンテナの種別。未設定の場合はnull
        See Also:
        ContainerType
      • isColumnOrderIgnorable

        public boolean isColumnOrderIgnorable()
        カラム順序が無視できるかどうかを返します。
        Returns:
        カラム順序が無視できるか
        Since:
        1.5
      • isRowKeyAssigned

        public boolean isRowKeyAssigned()
        複合ロウキーが設定されていない場合に限定し、ロウキーに対応するカラムの有無を取得します。

        このメソッドがtrueを返却する場合、ロウキーに対応するカラム番号は0です。

        任意のロウキー構成を参照するには、getRowKeyColumnList()を使用します。

        Returns:
        ロウキーの有無
        Throws:
        java.lang.IllegalStateException - 複合ロウキーが設定されていた場合
      • setColumnInfoList

        public void setColumnInfoList(java.util.List<ColumnInfo> columnInfoList)
        すべてのカラムの情報をまとめて設定します。

        カラム順序を無視しない場合、指定のカラム情報の並びが実際のコンテナのカラムの並びと対応します。

        ロウキーに対応するカラムの有無の設定状態によらず、設定を解除することができます。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        columnInfoList - カラム情報のリスト。nullまたは空のリスト場合、設定が解除される
        Since:
        1.5
        See Also:
        setColumnOrderIgnorable(boolean)
      • setColumnOrderIgnorable

        public void setColumnOrderIgnorable(boolean ignorable)
        カラム順序が無視できるかどうかを設定します。

        デフォルトでは無視しない(false)状態に設定されています。

        Parameters:
        ignorable - カラム順序が無視できるか
        Since:
        1.5
        See Also:
        GridStore.putContainer(String, ContainerInfo, boolean)
      • setDataAffinity

        public void setDataAffinity(java.lang.String dataAffinity)
        データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列を設定します。

        同一クラスタノード上の同一管理領域内に格納されるコンテナについて、配置先を最適化するために使用されます。

        データアフィニティが同一のコンテナの内容は、近接する配置先に格納される可能性が高くなります。また、解放期限が設定され、近接する配置先に格納された時系列について、登録頻度などの変更パターンが類似している場合、解放期限に到達したロウの解放処理が効率的に行われる可能性が高くなります。

        コンテナの定義において使用できるデータアフィニティ文字列の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。ただし、文字列を設定した時点で必ずしもすべての制限を検査するとは限りません。特に記載のない限り、データアフィニティ文字列が使用される操作では、ASCIIの大文字・小文字表記の違いが区別されます。

        Parameters:
        dataAffinity - コンテナ間の類似性を示す文字列。nullが指定された場合は標準設定を優先することを示す。規則に合致しない文字列は指定できない場合がある
        Throws:
        java.lang.IllegalArgumentException - 制限に反する文字列が指定されたことを検知できた場合
        Since:
        2.1
      • setIndexInfoList

        public void setIndexInfoList(java.util.List<IndexInfo> indexInfoList)
        索引情報の一覧を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        indexInfoList - 索引情報の一覧。nullまたは空のリスト場合、設定が解除される
        Since:
        3.5
      • setName

        public void setName(java.lang.String name)
        コンテナ名を設定します。
        Parameters:
        name - コンテナ名。nullの場合、設定が解除される
        Since:
        1.5
      • setRowKeyAssigned

        public void setRowKeyAssigned(boolean assigned)
        ロウキーに対応するカラムの有無を設定します。

        デフォルトではロウキーなしに設定されています。

        カラムレイアウトの設定状態によらず使用できます。

        Parameters:
        assigned - ロウキーに対応するカラムの有無。ロウキーを持つ場合は true、持たない場合はfalse
        Since:
        1.5
      • setRowKeyColumnList

        public void setRowKeyColumnList(java.util.List<java.lang.Integer> rowKeyColumnList)
        ロウキーを構成するカラムの一覧を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        rowKeyColumnList - ロウキーを構成するカラム列についての、0 から始まるカラム番号一覧。長さ0のリストまたはnullを指定すると、ロウキーなしとみなされる
        Since:
        4.3
      • setTimeSeriesProperties

        public void setTimeSeriesProperties(TimeSeriesProperties props)
        時系列構成オプションを設定します。

        コンテナ種別の設定状態によらず使用できます。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        props - 時系列構成オプション。nullの場合、設定が解除される
        Since:
        1.5
      • setTriggerInfoList

        public void setTriggerInfoList(java.util.List<TriggerInfo> triggerInfoList)
        トリガ情報の一覧を設定します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        triggerInfoList - トリガ情報のリスト。nullまたは空のリスト場合、設定が解除される
        Since:
        1.5
      • setType

        public void setType(ContainerType type)
        コンテナ種別を設定します。
        Parameters:
        type - コンテナ種別。nullの場合、設定が解除される
        Since:
        1.5

Enum ContainerType

  • java.lang.Object
    • java.lang.Enum<ContainerType>
      • com.toshiba.mwcloud.gs.ContainerType
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<ContainerType>


    public enum ContainerType
    extends java.lang.Enum<ContainerType>
    コンテナの種別を表します。
    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      COLLECTION
      対象のコンテナがコレクションであることを示します。
      TIME_SERIES
      対象のコンテナが時系列であることを示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static ContainerType valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static ContainerType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • COLLECTION

        public static final ContainerType COLLECTION
        対象のコンテナがコレクションであることを示します。
      • TIME_SERIES

        public static final ContainerType TIME_SERIES
        対象のコンテナが時系列であることを示します。
    • Method Detail

      • valueOf

        public static ContainerType valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static ContainerType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (ContainerType c : ContainerType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Enum FetchOption

  • java.lang.Object
    • java.lang.Enum<FetchOption>
      • com.toshiba.mwcloud.gs.FetchOption
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<FetchOption>


    public enum FetchOption
    extends java.lang.Enum<FetchOption>
    クエリ実行結果を取得する際のオプション項目です。
    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      LIMIT
      取得するロウの数の最大値を設定するために使用します。
      PARTIAL_EXECUTION
      部分実行モードを設定するために使用します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static FetchOption valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static FetchOption[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • LIMIT

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

        実行結果のロウ数が最大値を超えた場合、RowSetで得られる順番で先頭から最大値の分だけが取得できます。それ以降のロウは取得できません。

        サポートされる設定値の型は、IntegerまたはLongです。負の値は指定できません。設定が省略された場合、上限は設定されません。

      • PARTIAL_EXECUTION

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

        部分実行モードでは、クエリの中間処理や結果送受信に用いるバッファのサイズなどがなるべく一定の範囲に収まるよう、必要に応じて実行対象のデータ範囲を分割し、この部分範囲ごとに実行とフェッチをリクエストすることがあります。そのため、RowSetを取得した時点で一部の範囲の結果が求まっていないことや、結果ロウを順に参照していく段階で、残りの範囲を部分的に実行していくことがあります。

        部分実行モードは、現バージョンでは次の条件すべてを満たすクエリに使用できます。また、LIMITオプションと併用することができます。条件を満たさない場合でも、各種フェッチオプションの設定時点ではエラーを検知しない場合があります。

        • TQL文からなるクエリであること
        • TQL文において、選択式が「*」のみからなり、ORDER BY節を含まないこと
        • 対応するContainerが個々の部分的なクエリ実行時点において常に自動コミットモードに設定されていること

        部分実行モードでは、対応するContainerのトランザクション分離レベルや状態に基づき、個々の部分的なクエリ実行時点において参照可能なロウが使用されます。ただし、クエリ全体の実行開始時点で存在しないロウは、実行対象から外れる場合があります。

        部分実行モードを有効にした場合にRowSetに対して使用できない操作や特有の挙動については、個別の定義を参照してください。

        サポートされる設定値の型は、Booleanのみです。部分実行モードを有効にするには、Boolean.TRUEと一致する値を指定します。現バージョンでは、未設定の場合には部分実行モードを有効にしません。

        Since:
        4.0
    • Method Detail

      • valueOf

        public static FetchOption valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static FetchOption[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (FetchOption c : FetchOption.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Class GSException

  • java.lang.Object
    • java.lang.Throwable
      • java.lang.Exception
        • java.io.IOException
          • com.toshiba.mwcloud.gs.GSException
  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    GSTimeoutException


    public class GSException
    extends java.io.IOException
    GridDB機能の処理中に発生した例外状態を示します。
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor and Description
      GSException()
      詳細メッセージを持たない例外を構築します。
      GSException(int errorCode, java.lang.String description)
      エラー番号および詳細メッセージを指定して、例外を構築します。
      GSException(int errorCode, java.lang.String errorName, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.Throwable cause)
      エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。
      GSException(int errorCode, java.lang.String errorName, java.lang.String description, java.lang.Throwable cause)
      エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。
      GSException(int errorCode, java.lang.String description, java.lang.Throwable cause)
      エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。
      GSException(int errorCode, java.lang.Throwable cause)
      エラー番号および原因を指定して、例外を構築します。
      GSException(java.lang.String message)
      詳細メッセージを指定して、例外を構築します。
      GSException(java.lang.String message, java.lang.Throwable cause)
      詳細メッセージおよび原因を指定して、例外を構築します。
      GSException(java.lang.Throwable cause)
      原因を指定して、例外を構築します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      int getErrorCode()
      エラー番号を取得します。
      java.lang.String getMessage()
      java.util.Map<java.lang.String,java.lang.String> getParameters()
      エラーに関するパラメータのマップを取得します。
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • GSException

        public GSException()
        詳細メッセージを持たない例外を構築します。
        See Also:
        Exception.Exception()
      • GSException

        public GSException(int errorCode,
                   java.lang.String description)
        エラー番号および詳細メッセージを指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        description - 詳細メッセージまたはnull
        See Also:
        Exception.Exception(String)
      • GSException

        public GSException(int errorCode,
                   java.lang.String errorName,
                   java.lang.String description,
                   java.util.Map<java.lang.String,java.lang.String> parameters,
                   java.lang.Throwable cause)
        エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        errorName - エラー名またはnull
        description - 詳細メッセージまたはnull
        parameters - パラメータのマップまたはnull
        cause - 原因またはnull
        See Also:
        Exception.Exception(String, Throwable)
      • GSException

        public GSException(int errorCode,
                   java.lang.String errorName,
                   java.lang.String description,
                   java.lang.Throwable cause)
        エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        errorName - エラー名またはnull
        description - 詳細メッセージまたはnull
        cause - 原因またはnull
        See Also:
        Exception.Exception(String, Throwable)
      • GSException

        public GSException(int errorCode,
                   java.lang.String description,
                   java.lang.Throwable cause)
        エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        description - 詳細メッセージまたはnull
        cause - 原因またはnull
        See Also:
        Exception.Exception(String, Throwable)
      • GSException

        public GSException(int errorCode,
                   java.lang.Throwable cause)
        エラー番号および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        cause - 原因またはnull
        See Also:
        Exception.Exception(Throwable)
      • GSException

        public GSException(java.lang.String message)
        詳細メッセージを指定して、例外を構築します。
        Parameters:
        message - 詳細メッセージまたはnull
        See Also:
        Exception.Exception(String)
      • GSException

        public GSException(java.lang.String message,
                   java.lang.Throwable cause)
        詳細メッセージおよび原因を指定して、例外を構築します。
        Parameters:
        message - 詳細メッセージまたはnull
        cause - 原因またはnull
        See Also:
        Exception.Exception(String, Throwable)
      • GSException

        public GSException(java.lang.Throwable cause)
        原因を指定して、例外を構築します。
        Parameters:
        cause - 原因またはnull
        See Also:
        Exception.Exception(Throwable)
    • Method Detail

      • getErrorCode

        public int getErrorCode()
        エラー番号を取得します。

        対応する番号が存在しない場合は0を返します。

      • getMessage

        public java.lang.String getMessage()
        Overrides:
        getMessage in class java.lang.Throwable
      • getParameters

        public java.util.Map<java.lang.String,java.lang.String> getParameters()
        エラーに関するパラメータのマップを取得します。

        エラーに関する内容について、特定の情報だけを取り出すために使用します。返却されるマップは、パラメータ名とパラメータ値の組からなるエントリの集合により構成されます。マップに含まれるパラメータについては、この例外を送出しうる個々のインタフェースまたは関連するインタフェースの定義を参照してください。

        返却されるマップに含まれる情報は、getMessage()より求まる文字列にも原則として含まれます。一方、この文字列から特定の情報だけを一定の文字列解析規則で取り出せるとは限りません。特定のバージョンのある状況下では取り出せたとしても、別の条件では意図しない情報が求まるなどして取り出せない可能性があります。返却されるマップを使用することで、インタフェースの定義で明記された一部の情報については、文字列解析を行わずに取り出せます。

        返却されるマップの内容だけを記録し、メッセージ文字列などその他の例外の内容を記録しなかった場合、記録された内容からエラーの原因を特定することが困難となる可能性があります。


Class GSTimeoutException

  • All Implemented Interfaces:
    java.io.Serializable


    public class GSTimeoutException
    extends GSException
    要求した処理が既定の時間内に終了しなかったことを示す例外です。
    Since:
    1.5
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor and Description
      GSTimeoutException()
      詳細メッセージを持たない例外を構築します。
      GSTimeoutException(int errorCode, java.lang.String description)
      エラー番号および詳細メッセージを指定して、例外を構築します。
      GSTimeoutException(int errorCode, java.lang.String errorName, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.Throwable cause)
      エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。
      GSTimeoutException(int errorCode, java.lang.String errorName, java.lang.String description, java.lang.Throwable cause)
      エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。
      GSTimeoutException(int errorCode, java.lang.String description, java.lang.Throwable cause)
      エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。
      GSTimeoutException(int errorCode, java.lang.Throwable cause)
      エラー番号および原因を指定して、例外を構築します。
      GSTimeoutException(java.lang.String message)
      詳細メッセージを指定して、例外を構築します。
      GSTimeoutException(java.lang.String message, java.lang.Throwable cause)
      詳細メッセージおよび原因を指定して、例外を構築します。
      GSTimeoutException(java.lang.Throwable cause)
      原因を指定して、例外を構築します。
    • Method Summary

      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • GSTimeoutException

        public GSTimeoutException()
        詳細メッセージを持たない例外を構築します。
        See Also:
        GSException.GSException()
      • GSTimeoutException

        public GSTimeoutException(int errorCode,
                          java.lang.String description)
        エラー番号および詳細メッセージを指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        description - 詳細メッセージまたはnull
        See Also:
        GSException.GSException(int, String)
      • GSTimeoutException

        public GSTimeoutException(int errorCode,
                          java.lang.String errorName,
                          java.lang.String description,
                          java.util.Map<java.lang.String,java.lang.String> parameters,
                          java.lang.Throwable cause)
        エラー番号、エラー名、詳細メッセージ、パラメータのマップ、および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        errorName - エラー名またはnull
        description - 詳細メッセージまたはnull
        parameters - パラメータのマップまたはnull
        cause - 原因またはnull
        See Also:
        GSException.GSException(int, String, String, Map, Throwable)
      • GSTimeoutException

        public GSTimeoutException(int errorCode,
                          java.lang.String errorName,
                          java.lang.String description,
                          java.lang.Throwable cause)
        エラー番号、エラー名、詳細メッセージ、および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        errorName - エラー名またはnull
        description - 詳細メッセージまたはnull
        cause - 原因またはnull
        See Also:
        GSException.GSException(int, String, String, Throwable)
      • GSTimeoutException

        public GSTimeoutException(int errorCode,
                          java.lang.String description,
                          java.lang.Throwable cause)
        エラー番号、詳細メッセージ、および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        description - 詳細メッセージまたはnull
        cause - 原因またはnull
        See Also:
        GSException.GSException(int, String, Throwable)
      • GSTimeoutException

        public GSTimeoutException(int errorCode,
                          java.lang.Throwable cause)
        エラー番号および原因を指定して、例外を構築します。
        Parameters:
        errorCode - エラー番号
        cause - 原因またはnull
        See Also:
        GSException.GSException(int, Throwable)
      • GSTimeoutException

        public GSTimeoutException(java.lang.String message)
        詳細メッセージを指定して、例外を構築します。
        Parameters:
        message - 詳細メッセージまたはnull
        See Also:
        GSException.GSException(String)
      • GSTimeoutException

        public GSTimeoutException(java.lang.String message,
                          java.lang.Throwable cause)
        詳細メッセージおよび原因を指定して、例外を構築します。
        Parameters:
        message - 詳細メッセージまたはnull
        cause - 原因またはnull
        See Also:
        GSException.GSException(String, Throwable)
      • GSTimeoutException

        public GSTimeoutException(java.lang.Throwable cause)
        原因を指定して、例外を構築します。
        Parameters:
        cause - 原因またはnull
        See Also:
        GSException.GSException(Throwable)
  • java.lang.Object
    • java.lang.Enum<GSType>
      • com.toshiba.mwcloud.gs.GSType
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<GSType>


    public enum GSType
    extends java.lang.Enum<GSType>
    GridDB上のフィールド値の型を表します。
    • Enum Constant Detail

      • BLOB

        public static final GSType BLOB
      • BOOL

        public static final GSType BOOL
      • BOOL_ARRAY

        public static final GSType BOOL_ARRAY
      • BYTE

        public static final GSType BYTE
      • BYTE_ARRAY

        public static final GSType BYTE_ARRAY
      • DOUBLE

        public static final GSType DOUBLE
      • DOUBLE_ARRAY

        public static final GSType DOUBLE_ARRAY
      • FLOAT

        public static final GSType FLOAT
      • FLOAT_ARRAY

        public static final GSType FLOAT_ARRAY
      • GEOMETRY

        public static final GSType GEOMETRY
      • INTEGER

        public static final GSType INTEGER
      • INTEGER_ARRAY

        public static final GSType INTEGER_ARRAY
      • LONG

        public static final GSType LONG
      • LONG_ARRAY

        public static final GSType LONG_ARRAY
      • SHORT

        public static final GSType SHORT
      • SHORT_ARRAY

        public static final GSType SHORT_ARRAY
      • STRING

        public static final GSType STRING
      • STRING_ARRAY

        public static final GSType STRING_ARRAY
      • TIMESTAMP

        public static final GSType TIMESTAMP
      • TIMESTAMP_ARRAY

        public static final GSType TIMESTAMP_ARRAY
    • Method Detail

      • valueOf

        public static GSType valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static GSType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (GSType c : GSType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Class Geometry

  • java.lang.Object
    • com.toshiba.mwcloud.gs.Geometry


  • public class Geometry
    extends java.lang.Object
    2次元、もしくは3次元の空間範囲を示すジオメトリデータを管理します。

    このクラスのインスタンスは不変です。また、このクラスのインスタンスに対するメソッド呼び出しはスレッド安全です。

    • Method Summary

      Methods 
      Modifier and Type Method and Description
      boolean equals(java.lang.Object obj)
      このオブジェクトと他のオブジェクトが等しいかどうかを示します。
      int hashCode()
      このオブジェクトのハッシュコード値を返します。
      java.lang.String toString()
      WKT(Well-Known Text)形式による文字列表現(WKT表現)を返します。
      static Geometry valueOf(java.lang.String value)
      WKT(Well-Known Text)形式によるジオメトリデータの文字列表現(WKT表現)から Geometryを作成します。
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • equals

        public boolean equals(java.lang.Object obj)
        このオブジェクトと他のオブジェクトが等しいかどうかを示します。

        valueOf(String)により生成したオブジェクトについて、生成元のWKT表現が文字列として互いに等価ではない場合であっても、区切り文字としての空白文字の有無やデフォルト値のSRID表記の有無といった表記の揺れ以外の違いがない場合は等価であるとみなされます。たとえば、次の3つのWKT表現より生成されるオブジェクトは、等価であるとみなされます。

         POLYGON((0 0,10 0,10 10,0 10,0 0))
         POLYGON( (0 0,10 0,10 10,0 10,0 0) )
         POLYGON((0 0,10 0,10 10,0 10,0 0);-1)

        一方、領域を構成する閉じた線の始点・終点位置が異なるなどして、 WKT表現が文字列として等価になりえないものの同一の空間領域を指すオブジェクトは、等価ではないとみなされます。たとえば、次の2つのWKT表現より生成されるオブジェクトは、等価ではないとみなされます。

         POLYGON((0 0,10 0,10 10,0 10,0 0))
         POLYGON((0 10,0 0,10 0,10 10,0 10))

        このメソッドは、Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトは等価なハッシュコードを保持します。

        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - 比較対象の参照オブジェクト
        Returns:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        See Also:
        hashCode()
      • hashCode

        public int hashCode()
        このオブジェクトのハッシュコード値を返します。

        このメソッドは、Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトのハッシュコード値は等価です。

        Overrides:
        hashCode in class java.lang.Object
        Returns:
        このオブジェクトのハッシュコード値
        See Also:
        equals(Object)
      • toString

        public java.lang.String toString()
        WKT(Well-Known Text)形式による文字列表現(WKT表現)を返します。

        返却される文字列は、区切り文字としての空白文字の有無やデフォルト値のSRID表記の有無といった表記の揺れによっては、 valueOf(String)により生成した際に指定したWKT表現と比べて等価ではない文字列となる場合があります。

        Overrides:
        toString in class java.lang.Object
      • valueOf

        public static Geometry valueOf(java.lang.String value)
                                throws java.lang.IllegalArgumentException
        WKT(Well-Known Text)形式によるジオメトリデータの文字列表現(WKT表現)から Geometryを作成します。

        サポート対象のWKT表現は、TQLのST_GeomFromText関数が扱う表現範囲と同一です。ただし、空間構造QUADRATICSURFACEはコンテナに格納することはできず、検索条件としてのみ使用できます。

        Parameters:
        value - 生成対象のWKT表現。nullは指定できない
        Returns:
        WKT表現より生成されたGeometryインスタンス
        Throws:
        java.lang.IllegalArgumentException - 指定の文字列がWKT形式と一致しない場合
        java.lang.NullPointerException - 引数にnullが指定された場合

Enum GeometryOperator

  • java.lang.Object
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<GeometryOperator>


    public enum GeometryOperator
    extends java.lang.Enum<GeometryOperator>
    空間範囲同士の関係性についての制約を定義します。

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

    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      INTERSECT
      双方の空間範囲またはその外接構造が交差する関係にあることを示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static GeometryOperator valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static GeometryOperator[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • INTERSECT

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

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

    • Method Detail

      • valueOf

        public static GeometryOperator valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static GeometryOperator[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (GeometryOperator c : GeometryOperator.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Interface GridStore

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable


    public interface GridStore
    extends java.io.Closeable
    接続したGridDBシステム内のデータベースに属するデータを操作するための機能を提供します。

    コレクションや時系列といったコンテナの追加・削除・構成変更、ならびに、コンテナを構成するロウの操作機能を提供します。

    コンテナ種別などの違いによらず、1つのデータベースのコンテナ間で、 ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。コンテナ名は、ベースコンテナ名単独、もしくは、ベースコンテナ名の後ろにノードアフィニティ名をアットマーク「@」で連結した形式で表記します。その他、コンテナの定義において使用できるコンテナ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、コンテナ名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。

    このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースが送出するGSExceptionは、エラーに関する次のパラメータを含むことがあります。

    パラメータ名説明
    address接続先クラスタノードのアドレス・ポート。ホスト名またはIPアドレスとポート番号とをコロン「:」で連結した文字列により構成されます。このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースにおいて、クラスタへのアクセスを伴う操作を呼び出した際にエラーを検知すると、このパラメータを含むことがあります。このパラメータを含む場合、パラメータが示すクラスタノードにおいてエラーの詳細が記録されていることがあります。
    container例外に関係しうるコンテナの名前。任意個数のコンテナを一括して扱う操作において、そのうち少なくとも一つのコンテナについての操作を行えないことが判明した場合に、このパラメータを含むことがあります。任意個数のコンテナを扱う具体的な操作については、個々のインタフェースの定義を参照してください。クラスタノードへのリクエスト準備段階でのリソース不足など、どのコンテナの問題か特定し切れないことがあるため、どのようなエラーでもこのパラメータを含むとは限りません。また、複数のコンテナについて操作できない可能性があったとしても、パラメータに含まれるのは高々一つのコンテナの名前のみです。

    各メソッドのスレッド安全性は保証されません。

    See Also:
    Collection, TimeSeries, Container, GSException.getParameters()
    • Method Detail

      • close

        void close()
                   throws GSException
        GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。

        GSExceptionが送出された場合であっても、接続状態は解除やローカルのリソース解放は適宜実施されます。ただし、GridDB上のトランザクション状態などは残る可能性があります。すでにクローズ済みの場合、このメソッドを呼び出しても何の効果もありません。

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        GSException - 接続障害が発生した場合
      • createRow

        Row createRow(ContainerInfo info)
                      throws GSException
        ContainerInfoを指定して、Rowを新規作成します。

        Containerにて規定された制約に合致するよう、 ColumnInfoのリストならびにロウキーの構成を含むカラムレイアウトをContainerInfoに指定します。

        また、コンテナ種別をContainerInfoに含めることで、特定のコンテナ種別固有の制約に合致するかどうかを検証できます。ただし、作成されたRowに対してRow.getSchema() を呼び出したとしても、コンテナ種別は含まれません。

        作成されたRowの各フィールドには、指定のContainerInfoに含まれる各カラムのColumnInfoに基づいた初期値が設定されます。初期値として、ColumnInfo.getDefaultValueNull()の戻り値に応じた次の値が使用されます。

        ColumnInfo.getDefaultValueNull()の戻り値 初期値
        true NULL。ただし制約に反するロウは作成できない。
        false 空の値。Containerの定義を参照。
        null 現バージョンでは、戻り値がfalseの場合と同様。

        作成されたRowに対する操作は、このGridStoreオブジェクトのクローズ有無に影響しません。

        Parameters:
        info - カラムレイアウトを含むコンテナ情報。その他の内容は無視される
        Returns:
        作成されたRow
        Throws:
        GSException - コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
        GSException - クローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
        See Also:
        Container
      • createRowKey

        Row.Key createRowKey(ContainerInfo info)
                             throws GSException
        ContainerInfoを指定して、Row.Keyを新規作成します。

        ロウキー以外のカラムに関する情報は無視されます。それ以外は createRow(ContainerInfo)と同様に振る舞います。

        Parameters:
        info - カラムレイアウトを含むコンテナ情報。その他の内容は無視される
        Returns:
        作成されたRow.Key
        Throws:
        GSException - ロウキーを持たないコンテナ情報が指定された場合
        GSException - コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
        GSException - クローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        4.3
      • dropCollection

        void dropCollection(java.lang.String name)
                            throws GSException
        指定の名前を持つコレクションを削除します。

        削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、dropContainer(String)と同様です。

        Parameters:
        name - 処理対象のコレクションの名前
        Throws:
        GSException - 種別の異なるコンテナを削除しようとした場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • dropContainer

        void dropContainer(java.lang.String name)
                           throws GSException
        指定の名前を持つコンテナを削除します。

        削除済みの場合は何も変更しません。

        処理対象のコンテナにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから削除を行います。

        コンテナの削除要求が完了した直後は、削除したコンテナの索引やロウなどのために使用されていたメモリやストレージ領域を他の用途にただちに再利用できない場合があります。また、削除処理に関連した処理がクラスタ上で動作することにより、削除前と比べて負荷が高まる期間が一定程度継続する場合があります。

        Parameters:
        name - 処理対象のコンテナの名前
        Throws:
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
        See Also:
        dropCollection(String), dropTimeSeries(String)
      • dropTimeSeries

        void dropTimeSeries(java.lang.String name)
                            throws GSException
        指定の名前を持つ時系列を削除します。

        削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、dropContainer(String)と同様です。

        Parameters:
        name - 処理対象の時系列の名前
        Throws:
        GSException - 種別の異なるコンテナを削除しようとした場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • fetchAll

        void fetchAll(java.util.List<? extends Query<?>> queryList)
                      throws GSException
        指定された任意個数のQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。

        指定のリストに含まれる各Queryに対して、個別にQuery.fetch() を行った場合と同様にクエリ実行とフェッチを行い、結果のRowSetを設定します。各Queryの実行結果を取り出すには、Query.getRowSet() を使用します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、リストの要素数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。リスト内のQueryの実行順序は不定です。

        指定のリストには、このGridStoreオブジェクトを介して得られた、対応するContainerを含めクローズされていないQuery のみを含めることができます。 Query.fetch()と同様、各Queryが持つ最後に生成された RowSetがクローズされます。同一のインスタンスがリストに複数含まれていた場合、それぞれ異なるインスタンスであった場合と同様に振る舞います。

        他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。

        指定のQueryに対応する各Containerのコミットモードが自動コミットモード、手動コミットモードのいずれであったとしても、使用できます。トランザクション状態はクエリの実行結果に反映されます。正常に操作が完了した場合、トランザクションタイムアウト時間に到達しない限り、対応する各Containerのトランザクションをアボートすることはありません。

        Queryに対する処理の途中で例外が発生した場合、一部のQueryについてのみ新たなRowSet が設定されることがあります。また、指定のQueryに対応する各Containerの未コミットのトランザクションについては、アボートされることがあります。

        一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。

        送出するGSExceptionは、containerパラメータを含むことがあります。エラーに関するパラメータの詳細は、GridStoreの定義を参照してください。

        Parameters:
        queryList - 対象とするQueryのリスト
        Throws:
        GSException - このGridStoreオブジェクトを介して得られた Query以外のQueryが含まれていた場合
        GSException - 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、このクエリを作成する機能の各種定義を参照のこと
        GSException - TQLを実行した際、実行結果が期待する結果 RowSetの各要素の型と合致しない場合
        GSException - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数queryListnullが指定された場合、または、引数queryListの要素としてnullが含まれていた場合
        java.lang.NullPointerException - このクエリを作成する際に与えられたパラメータの中に、許容されないnullが含まれていた場合。GridDB上で実行される TQL文の評価処理の結果として送出されることはない
        Since:
        1.5
        See Also:
        Query.fetch()
      • getCollection

        <K> Collection<K,Row> getCollection(java.lang.String name)
                                        throws GSException
        Rowによりロウ操作できるCollectionオブジェクトを取得します。

        期待するコンテナ種別がContainerType.COLLECTIONに限定され、返却される型がCollectionとなる点を除き、 getContainer(String)と同様に振る舞います。

        Returns:
        コレクションが存在する場合は対応するCollection、存在しない場合はnull
        Throws:
        GSException - 同名の時系列が存在する場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
        See Also:
        getContainer(String)
      • getCollection

        <K,R> Collection<K,R> getCollection(java.lang.String name,
                                          java.lang.Class<R> rowType)
                                      throws GSException
        指定の名前のコレクションを操作するためのCollectionオブジェクトを取得します。

        指定の型とカラムレイアウトとの対応関係については、Containerの定義を参照してください。

        Parameters:
        name - 処理対象のコレクションの名前
        rowType - 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
        Returns:
        コレクションが存在する場合は対応するCollection、存在しない場合はnull
        Throws:
        GSException - 同名の時系列が存在する場合
        GSException - 指定の型と既存のカラムレイアウトが一致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • getContainer

        <K> Container<K,Row> getContainer(java.lang.String name)
                                      throws GSException
        Rowによりロウ操作できるContainerオブジェクトを取得します。

        次の点を除き、getCollection(String, Class) もしくはgetTimeSeries(String, Class)と同様に振る舞います。

        • 既存のコンテナの種別ならびにカラムレイアウトに基づきContainer オブジェクトを返却する
        • コンテナの種別ならびにカラムレイアウトを指定しないため、これらの不一致に伴うエラーが発生しない
        • 返却されるContainerのロウオブジェクトの型が常にRowとなる

        それぞれの同名の引数nameの用法についても同様です。

        Parameters:
        name - 処理対象のコンテナの名前
        Returns:
        コンテナが存在する場合は対応するContainer、存在しない場合はnull。コンテナが存在し、種別が ContainerType.COLLECTIONであった場合はCollectionContainerType.TIME_SERIESであった場合はTimeSeriesのインスタンスとなる。
        Throws:
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
        See Also:
        getCollection(String, Class), getTimeSeries(String, Class)
      • getContainer

        <K,R,C extends Container<K,R>> C getContainer(java.lang.String name,
                                                    Container.BindType<K,R,C> bindType)
                                         throws GSException
        Container.BindTypeを指定して、Containerオブジェクトを取得します。

        指定のbindTypeに応じて、次のいずれかのメソッドと同様に振る舞います。

        Parameters:
        name - 処理対象のコンテナの名前
        bindType - 処理対象のコンテナと結びつく型情報
        Returns:
        対応するContainerまたはそのサブインタフェースの型のインスタンス
        Throws:
        GSException - nameならびにbindType引数の内容が規則に合致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - bindType引数にnullが指定された場合
        Since:
        4.3
      • getContainerInfo

        ContainerInfo getContainerInfo(java.lang.String name)
                                       throws GSException
        指定の名前のコンテナに関する情報を取得します。

        返却されるContainerInfoに含まれるコンテナ名は、GridDB上に格納されているものが設定されます。したがって、指定したコンテナ名と比較すると、 ASCIIの大文字・小文字表記が異なる場合があります。

        カラム順序を無視するかどうかについては、無視しない状態に設定されます。この設定は、ContainerInfo.isColumnOrderIgnorable()を通じて確認できます。

        現バージョンでは、初期値でのNULL使用有無は未設定状態で求まります。ただし今後のバージョンでは設定される可能性があります。この設定は、各カラムのColumnInfo.getDefaultValueNull()を通じて確認できます。

        Parameters:
        name - 処理対象のコンテナの名前
        Returns:
        指定の名前のコンテナに関する情報
        Throws:
        GSException - GSExceptionこの処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • getTimeSeries

        TimeSeries<Row> getTimeSeries(java.lang.String name)
                                      throws GSException
        Rowによりロウ操作できるTimeSeriesオブジェクトを取得します。

        期待するコンテナ種別がContainerType.TIME_SERIESに限定され、返却される型がTimeSeriesとなる点を除き、 getTimeSeries(String)と同様に振る舞います。

        Returns:
        時系列が存在する場合は対応するTimeSeries、存在しない場合はnull
        Throws:
        GSException - 同名のコレクションが存在する場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        1.5
        See Also:
        getContainer(String)
      • getTimeSeries

        <R> TimeSeries<R> getTimeSeries(java.lang.String name,
                                      java.lang.Class<R> rowType)
                                    throws GSException
        指定の名前の時系列を操作するためのTimeSeriesオブジェクトを取得します。

        指定の型とカラムレイアウトとの対応関係については、Containerの定義を参照してください。

        Parameters:
        name - 処理対象の時系列の名前
        rowType - 処理対象の時系列のカラムレイアウトと対応するロウオブジェクトの型
        Returns:
        時系列が存在する場合は対応するTimeSeries、存在しない場合はnull
        Throws:
        GSException - 同名のコレクションが存在する場合
        GSException - 指定の型と既存のカラムレイアウトが一致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • multiGet

        java.util.Map<java.lang.String,java.util.List<Row>> multiGet(java.util.Map<java.lang.String,? extends RowKeyPredicate<?>> containerPredicateMap)
                                                                     throws GSException
        指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。

        指定のマップに含まれる条件に従い、個別にContainer.get(Object) もしくはQuery.fetch()を呼び出した場合と同様に、ロウの内容を取得します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や条件に合致するロウの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。

        指定のマップは、コンテナ名をキー、RowKeyPredicateで表現される取得条件を値とする任意個数のエントリから構成されます。同一のRowKeyPredicateインスタンスを複数含めることもできます。また、対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、コンテナの構成によっては評価できない取得条件が存在します。具体的な制限については、RowKeyPredicateに対する各種設定機能の定義を参照してください。マップのキーまたは値としてnullを含めることはできません。

        返却されるマップは、コンテナ名をキー、ロウオブジェクトのリストを値とするエントリにより構成されます。また、返却されるマップには、取得条件として指定したマップに含まれるコンテナ名のうち、リクエスト時点で実在するコンテナに関するエントリのみが含まれます。 ASCIIの大文字・小文字表記だけが異なり同一のコンテナを指すコンテナ名の設定された、複数のエントリが指定のマップに含まれていた場合、返却されるマップにはこれらを1つにまとめたエントリが格納されます。同一のリストに複数のロウオブジェクトが含まれる場合、格納される順序はコンテナ種別と対応するContainerのサブインタフェースの定義に従います。指定のコンテナに対応するロウが1つも存在しない場合、対応するロウオブジェクトのリストは空になります。

        返却されたマップもしくはマップに含まれるリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。

        他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。

        Container.get(Object, boolean)もしくは Query.fetch(boolean)のように、トランザクションを維持し、更新用ロックを要求することはできません。

        一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。

        送出するGSExceptionは、containerパラメータを含むことがあります。エラーに関するパラメータの詳細は、GridStoreの定義を参照してください。

        Parameters:
        containerPredicateMap - 対象とするコンテナの名前と条件からなるマップ
        Returns:
        条件に合致するロウ集合をコンテナ別に保持するマップ
        Throws:
        GSException - 指定のコンテナに関して評価できない取得条件が指定された場合
        GSException - この処理またはトランザクションのタイムアウト、接続障害が発生した場合、クローズ後に呼び出された場合
        java.lang.NullPointerException - 引数containerPredicateMapとして nullが指定された場合、このマップのキーまたは値としてnullが含まれていた場合
        Since:
        1.5
        See Also:
        Container.get(Object), Query.fetch(), RowKeyPredicate
      • multiPut

        void multiPut(java.util.Map<java.lang.String,java.util.List<Row>> containerRowsMap)
                      throws GSException
        任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。

        指定のマップに含まれる各ロウオブジェクトについて、個別に Container.put(Object)を呼び出した場合と同様に新規作成または更新操作を行います。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や指定のロウオブジェクトの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。

        指定のマップは、コンテナ名をキー、ロウオブジェクトのリストを値とする任意個数のエントリから構成されます。対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、すでに存在するコンテナでなければなりません。マップのキーまたは値としてnullを含めることはできません。

        各ロウオブジェクトのリストには、対象のコンテナと同一のカラムレイアウトの Rowのみを任意個数含めることができます。現バージョンでは、カラム順序についてもすべて同一でなければなりません。リストの要素としてnullを含めることはできません。

        コンテナの種別ならびに設定によっては、操作できるロウの内容について Container.put(Object)と同様の制限が設けられています。具体的な制限事項は、Containerのサブインタフェースの定義を参照してください。

        指定のマップ内に同一コンテナを対象とした同一ロウキーを持つ複数のロウオブジェクトが存在する場合、異なるリスト間であればマップエントリ集合のイテレータからの取り出し順、同一リスト内であればリストの要素順を基準として、同値のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。

        トランザクションを維持し、ロックを保持し続けることはできません。ただし、既存のトランザクションが対象ロウに影響するロックを確保している場合、すべてのロックが解放されるまで待機し続けます。

        他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。

        各コンテナならびにロウに対する処理の途中で例外が発生した場合、一部のコンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。

        送出するGSExceptionは、containerパラメータを含むことがあります。エラーに関するパラメータの詳細は、GridStoreの定義を参照してください。

        Parameters:
        containerRowsMap - 対象とするコンテナの名前とロウオブジェクトのリストからなるマップ
        Throws:
        GSException - 対象とするコンテナが存在しない場合、また、対象とするコンテナとロウオブジェクトとのカラムレイアウトが一致しない場合
        GSException - 特定コンテナ種別固有の制限に反する操作を行った場合
        GSException - この処理またはトランザクションのタイムアウト、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
        java.lang.NullPointerException - 引数containerRowsMapとして nullが指定された場合、このマップのキーまたは値としてnullが含まれていた場合、もしくは、マップを構成するリストの要素としてnullが含まれていた場合
        Since:
        1.5
        See Also:
        Container.put(Object)
      • putCollection

        <K,R> Collection<K,R> putCollection(java.lang.String name,
                                          java.lang.Class<R> rowType)
                                      throws GSException
        コレクションを新規作成または変更します。

        同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトに従い、新規にコレクションを作成します。すでに同名のコンテナが存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getCollection(String, Class)と同様に振る舞います。

        指定の型とカラムレイアウトとの対応関係については、Containerの定義を参照してください。

        すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。

        Parameters:
        name - 処理対象のコレクションの名前
        rowType - 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
        Returns:
        対応するCollection
        Throws:
        GSException - 同名のコレクションが存在する場合。または、既存の同名の時系列に関してカラムレイアウトならびに追加設定の内容が一致しない場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • putCollection

        <K,R> Collection<K,R> putCollection(java.lang.String name,
                                          java.lang.Class<R> rowType,
                                          boolean modifiable)
                                      throws GSException
        変更オプションを指定して、コレクションを新規作成または変更します。

        同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトに従い、新規にコレクションを作成します。すでに同名のコレクションが存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getCollection(String, Class)と同様に振る舞います。

        modifiabletrueであり、すでに同名のコレクションが存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存のコレクションにない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除はできません。

        コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。

        新たに追加されるカラムの値は、Containerにて定義されている空の値を初期値として初期化されます。

        指定の型とカラムレイアウトとの対応関係については、Containerの定義を参照してください。

        すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。

        ロウキーを持つコレクションを新規に作成する場合、ロウキーに対し、 Container.createIndex(String)にて定義されているデフォルト種別の索引が作成されます。この索引は、削除することができます。

        現バージョンでは、コンテナの規模など諸条件を満たした場合、カラムレイアウトの変更開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、更新ロックなしでのロウの参照操作を行える場合があります。それ以外の操作は、Containerでの定義通り待機させる場合があります。カラムレイアウトの変更途中に別の操作が行われる場合は、変更前のカラムレイアウトが使用されます。

        Parameters:
        name - 処理対象のコレクションの名前
        rowType - 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
        modifiable - 既存コレクションのカラムレイアウト変更を許可するかどうか
        Returns:
        対応するCollection
        Throws:
        GSException - 同名の時系列が存在する場合。または、modifiablefalseであり、既存の同名のコレクションに関してカラムレイアウトの内容が一致しない場合や、 modifiabletrueであり、既存の同名のコレクションに関して変更できない項目を変更しようとした場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • putContainer

        <K,R> Container<K,R> putContainer(java.lang.String name,
                                        java.lang.Class<R> rowType,
                                        ContainerInfo info,
                                        boolean modifiable)
                                    throws GSException
        ロウオブジェクトの型とContainerInfoを指定して、コンテナを新規作成または変更します。

        主に、ロウオブジェクトの型を指定して、追加設定を持つコンテナを新規作成する場合に使用します。

        カラムレイアウトならびにカラム順序の無視設定をContainerInfoに指定できない点を除けば、 putContainer(String, ContainerInfo, boolean)と同様です。

        Parameters:
        name - 処理対象のコンテナの名前
        rowType - 処理対象のコレクションのカラムレイアウトと対応するロウオブジェクトの型
        info - 処理対象のコンテナの情報。nullの場合は無視される
        modifiable - 既存コンテナのカラムレイアウト変更を許可するかどうか
        Returns:
        対応するContainer。コンテナ種別として ContainerType.COLLECTIONを指定した場合はCollectionContainerType.TIME_SERIESを指定した場合はTimeSeriesのインスタンスとなる。
        Throws:
        GSException - nameならびにinfo引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更メソッドの規則に合致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - rowType引数にnullが指定された場合
        Since:
        2.1
        See Also:
        putContainer(String, ContainerInfo, boolean), putCollection(String, Class, boolean), putTimeSeries(String, Class, TimeSeriesProperties, boolean)
      • putContainer

        <K,R,C extends Container<K,R>> C putContainer(java.lang.String name,
                                                    Container.BindType<K,R,C> bindType)
                                         throws GSException
        Container.BindTypeを指定して、コンテナを新規作成または変更します。

        コンテナ情報を指定せず、カラムレイアウト変更を許可しないで putContainer(String, Container.BindType, ContainerInfo, boolean) を呼び出した場合と、同様に振る舞います。

        Parameters:
        name - 処理対象のコンテナの名前
        bindType - 処理対象のコンテナと結びつく型情報
        Returns:
        対応するContainerまたはそのサブインタフェースの型のインスタンス
        Throws:
        GSException - namebindTypeの内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更メソッドの規則に合致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - bindType引数にnullが指定された場合
        Since:
        4.3
      • putContainer

        <K,R,C extends Container<K,R>> C putContainer(java.lang.String name,
                                                    Container.BindType<K,R,C> bindType,
                                                    ContainerInfo info,
                                                    boolean modifiable)
                                         throws GSException
        Container.BindTypeContainerInfoを指定して、コンテナを新規作成または変更します。

        指定のbindTypeに応じて、次のいずれかのメソッドと同様に振る舞います。

        Parameters:
        name - 処理対象のコンテナの名前
        bindType - 処理対象のコンテナと結びつく型情報
        info - 処理対象のコンテナの情報。nullの場合は無視される
        modifiable - 既存コンテナのカラムレイアウト変更を許可するかどうか
        Returns:
        対応するContainerまたはそのサブインタフェースの型のインスタンス
        Throws:
        GSException - namebindType、ならびに、 info引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更メソッドの規則に合致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - bindType引数にnullが指定された場合
        Since:
        4.3
      • putContainer

        <K> Container<K,Row> putContainer(java.lang.String name,
                                        ContainerInfo info,
                                        boolean modifiable)
                                      throws GSException
        ContainerInfoを指定して、コンテナを新規作成または変更します。

        次の点を除き、putCollection(String, Class, boolean) もしくはputTimeSeries(String, Class, TimeSeriesProperties, boolean) と同様に振る舞います。

        • ContainerInfoを用いてコンテナ種別、カラムレイアウト、ならびに、必要に応じ時系列構成オプションを指定する
        • 返却されるContainerのロウオブジェクトの型が常にRowとなる

        それぞれの同名の引数modifiableの用法についても同様です。

        コンテナに関する情報の指定方法の一覧は次の通りです。

        項目引数説明
        コンテナ名nameまたはinfo 少なくともいずれかの引数にnullではない値を指定する。両方に指定する場合、異なる値を指定してはならない。
        コンテナ種別info nullではない値を指定する。 ContainerType.COLLECTIONを指定した場合、 putCollection(String, Class, boolean)と同様の振る舞いとなる。 ContainerType.TIME_SERIESを指定した場合、 putTimeSeries(String, Class, TimeSeriesProperties, boolean)と同様の振る舞いとなる。
        カラムレイアウトinfo Containerにて規定された制約に合致するよう ColumnInfoのリストならびにロウキーの構成を設定する。ただし現バージョンでは、ColumnInfo.getDefaultValueNull()null以外を返すようなColumnInfoを含めることはできない。
        カラム順序の無視info 無視する場合、同名の既存のコンテナのカラム順序と一致するかどうかを検証しない。
        時系列構成オプションinfo コンテナ種別がContainerType.TIME_SERIESの場合のみ、 nullではない値を指定できる。
        索引設定info 現バージョンでは無視される。今後のバージョンでは、 Container.createIndex(String, IndexType)の規則に合致しない設定が含まれていた場合、例外が送出される可能性がある。
        トリガ設定info 現バージョンでは無視される。今後のバージョンでは、 Container.createTrigger(TriggerInfo)の規則に合致しない設定が含まれていた場合、例外が送出される可能性がある。
        コンテナ類似性info null以外を指定し新規作成する場合、指定の内容が反映される。既存コンテナの設定を変更することはできない。nullを指定した場合は無視される。
        Parameters:
        name - 処理対象のコンテナの名前
        info - 処理対象のコンテナの情報
        modifiable - 既存コンテナのカラムレイアウト変更を許可するかどうか
        Returns:
        対応するContainer。コンテナ種別として ContainerType.COLLECTIONを指定した場合はCollectionContainerType.TIME_SERIESを指定した場合はTimeSeriesのインスタンスとなる。
        Throws:
        GSException - nameならびにinfo引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更メソッドの規則に合致しない場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - info引数にnullが指定された場合
        Since:
        1.5
        See Also:
        putCollection(String, Class, boolean), putTimeSeries(String, Class, TimeSeriesProperties, boolean), Container
      • putTimeSeries

        <R> TimeSeries<R> putTimeSeries(java.lang.String name,
                                      java.lang.Class<R> rowType)
                                    throws GSException
        時系列を新規作成または変更します。

        同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトに従い、新規に時系列を作成します。すでに同名の時系列が存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getTimeSeries(String, Class)と同様に振る舞います。

        指定の型とカラムレイアウトとの対応関係については、Containerの定義を参照してください。

        すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。

        Parameters:
        name - 処理対象の時系列の名前
        rowType - 処理対象の時系列のカラムレイアウトと対応するロウオブジェクトの型
        Returns:
        対応するTimeSeries
        Throws:
        GSException - 同名のコレクションが存在する場合。または、既存の同名の時系列に関してカラムレイアウトならびに追加設定の内容が一致しない場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
      • putTimeSeries

        <R> TimeSeries<R> putTimeSeries(java.lang.String name,
                                      java.lang.Class<R> rowType,
                                      TimeSeriesProperties props,
                                      boolean modifiable)
                                    throws GSException
        追加設定や変更オプションを指定して、時系列を新規作成または変更します。

        同名のコンテナが存在しない場合、指定のクラスにより定義されたカラムレイアウトや追加設定に従い、新規に時系列を作成します。すでに同名の時系列が存在し、既存のカラムレイアウトならびに追加設定の内容がすべて一致する場合、実行中のトランザクションを待機する点を除き getTimeSeries(String, Class)と同様に振る舞います。

        modifiabletrueであり、すでに同名の時系列が存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存の時系列にない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除、時系列構成オプションの変更はできません。時系列構成オプションを指定する場合は、既存の設定内容とすべて同値にする必要があります。

        コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。

        新たに追加されるカラムの初期値については、 putCollection(String, Class, boolean)の定義を参照してください。

        指定の型とカラムレイアウトとの対応関係については、Containerの定義を参照してください。

        すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。

        Parameters:
        name - 処理対象の時系列の名前
        rowType - 処理対象の時系列のカラムレイアウトと対応するロウオブジェクトの型
        props - 時系列の構成オプション。nullを指定すると、同名の時系列が存在する場合は既存の設定が継承され、存在しない場合は初期状態のTimeSeriesPropertiesを指定したものとみなされる。
        modifiable - 既存時系列のカラムレイアウト変更を許可するかどうか
        Returns:
        対応するTimeSeries
        Throws:
        GSException - 同名のコレクションが存在する場合。または、modifiablefalseであり、既存の同名の時系列に関してカラムレイアウトならびに追加設定の内容が一致しない場合や、 modifiabletrueであり、既存の同名の時系列に関して変更できない項目を変更しようとした場合
        GSException - 指定の型がロウオブジェクトの型として適切でない場合。詳しくはContainerの定義を参照
        GSException - この処理のタイムアウト、接続障害が発生した場合、またはクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合

Class GridStoreFactory

  • java.lang.Object
    • com.toshiba.mwcloud.gs.GridStoreFactory
  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable


    public abstract class GridStoreFactory
    extends java.lang.Object
    implements java.io.Closeable
    GridStoreインスタンスを管理します。

    GridStoreインスタンス共通のクライアント設定や使用済みのコネクションを管理します。

    GridDBにアクセスするためには、このファクトリを介して GridStoreインスタンスを取得する必要があります。

    このクラスの公開メソッドは、すべてスレッド安全です。

    また、クライアントロギングとクライアント設定ファイルの機能を使用できます。

    クライアントロギング

    クラスパスにロギングライブラリを含めることで、ログ出力を有効にした場合にログを出力できます。

    ロギングフレームワークはSLF4Jを使用します。ロガーの名称は「com.toshiba.mwcloud.gs.GridStoreLogger」で始まります。また、SLF4Jのバージョンは1.6.0以上を推奨しています。

    クライアント設定ファイル

    設定ファイル「gs_client.properties」を含むディレクトリと、設定ライブラリ「gridstore-conf.jar」をクラスパスに共に含めることで、GridStoreFactoryに設定ファイルの内容を適用することができます。設定ファイルを用いることで、アプリケーションコードを修正せずに、接続設定を変更できます。設定ファイルには以下のPropertiesオブジェクトと同じプロパティ項目を指定できます。設定ファイルの内容はPropertiesオブジェクトの設定より優先的に適用されます。

    factoryカテゴリプロパティ
    有効なプロパティの項目はsetProperties(Properties)の仕様に準拠します。
    以下のように「factory.」をプロパティ名の前に付けて記述します。
    factory.maxConnectionPoolSize = 10
    storeカテゴリプロパティ
    有効なプロパティの項目はgetGridStore(Properties)の仕様に準拠します。
    以下のように「store.」をプロパティ名の前に付けて記述します。
    store.clusterName = Project1

    以下の場合は例外が発生します。

    • 設定ファイルを含む複数のディレクトリがクラスパスに含まれる場合
    • 設定ライブラリのみがクラスパスに含まれる場合
    • 存在しないカテゴリ名が指定された場合
    • プロパティ名がカテゴリ名のみからなる場合

    また、設定ファイルを含むディレクトリのみがクラスパスに含まれ、設定ライブラリがクラスパスに含まれない場合には、設定ファイルの内容は適用されません。

    • Constructor Summary

      Constructors 
      Modifier Constructor and Description
      protected GridStoreFactory() 
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      abstract void close()
      このファクトリより作成されたGridStoreをすべてクローズし、必要に応じて関連するリソースを解放します。
      abstract GridStore getGridStore(java.util.Properties properties)
      指定のプロパティを持つGridStoreを取得します。
      static GridStoreFactory getInstance()
      デフォルトのインスタンスを取得します。
      abstract void setProperties(java.util.Properties properties)
      このファクトリの設定を変更します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GridStoreFactory

        protected GridStoreFactory()
    • Method Detail

      • close

        public abstract void close()
                            throws GSException
        このファクトリより作成されたGridStoreをすべてクローズし、必要に応じて関連するリソースを解放します。

        GSExceptionが送出された場合でも、関連するコネクションリソースはすべて解放されます。すでにクローズ済みの場合、このメソッドを呼び出しても何の効果もありません。なお、現在のVMの終了時にも呼び出されます。

        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface java.lang.AutoCloseable
        Throws:
        GSException - クローズ処理中に接続障害などが発生した場合
        See Also:
        Closeable.close()
      • getGridStore

        public abstract GridStore getGridStore(java.util.Properties properties)
                                        throws GSException
        指定のプロパティを持つGridStoreを取得します。

        GridStoreを取得した時点では、各Containerを管理するマスタノード(以下、マスタ)のアドレス探索を必要に応じて行うだけであり、認証処理は行われません。実際に各Containerに対応するノードに接続する必要が生じたタイミングで、認証処理が行われます。

        以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。

        名称説明
        host接続先ホスト名。IPアドレス(IPV4のみ)も可。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しない
        port接続先ポート番号。0から 65535までの数値の文字列表現。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しない
        notificationAddressマスタ自動検出に用いられる通知情報を受信するためのIPアドレス(IPV4のみ)。省略時はデフォルトのアドレスを使用。 notificationMemberおよびnotificationProviderと同時に指定することはできない
        notificationPortマスタ自動検出に用いられる通知情報を受信するためのポート番号。0から65535までの数値の文字列表現。省略時はデフォルトのポートを使用
        clusterNameクラスタ名。接続先のクラスタに設定されているクラスタ名と一致するかどうかを確認するために使用される。省略時もしくは空文字列を指定した場合、クラスタ名の確認は行われない
        database接続先のデータベース名。省略時は全てのユーザがアクセス可能な「public」データベースに自動接続される。接続ユーザは接続データベースに属するコンテナを操作できる。
        userユーザ名
        passwordユーザ認証用のパスワード
        consistency次のいずれかの一貫性レベル。
        "IMMEDIATE"
        他のクライアントからの更新結果は、該当トランザクションの完了後即座に反映される
        "EVENTUAL"
        他のクライアントからの更新結果は、該当トランザクションが完了した後でも反映されない場合がある。 Containerに対する更新操作は実行できない
        デフォルトでは"IMMEDIATE"が適用されます
        transactionTimeoutトランザクションタイムアウト時間の最低値。関係するContainerにおける各トランザクションの開始時点から適用。 0以上Integer.MAX_VALUEまでの値の文字列表現であり、単位は秒。ただし、タイムアウト時間として有効に機能する範囲に上限があり、上限を超える指定は上限値が指定されたものとみなされる。 0の場合、後続のトランザクション処理がタイムアウトエラーになるかどうかは常に不定となる。省略時は接続先GridDB上のデフォルト値を使用
        failoverTimeoutフェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。0以上 Integer.MAX_VALUEまでの数値の文字列表現であり、単位は秒。 0の場合、フェイルオーバ処理を行わない。省略時はこのファクトリの設定値を使用
        containerCacheSize コンテナキャッシュに格納するコンテナ情報の最大個数。 0以上Integer.MAX_VALUEまでの数値の文字列表現。値が0の場合、コンテナキャッシュを使用しないことを意味する。 Containerを取得する際にキャッシュにヒットした場合は、 GridDBへのコンテナ情報の問い合わせを行わない。省略時は既存の設定値を使用。バージョン1.5よりサポート
        dataAffinityPattern データアフィニティ機能のアフィニティ文字列を次のようにコンテナパターンとペアで任意個数指定する。
        (コンテナ名パターン1)=(アフィニティ文字列1),(コンテナ名パターン2)=(アフィニティ文字列2),...
        ContainerInfo.setDataAffinity(String)が未指定の Containerを追加する際に、コンテナ名が指定したいずれかのコンテナ名パターンに合致する場合に、ペアで指定したアフィニティ文字列が適用される。複数のコンテナ名パターンが合致する場合は、記述された順番で最初に合致したパターンが用いられる。コンテナ名パターンはワイルドカード「%」を使用できる他は、コンテナ名の規則に準拠する。アフィニティ文字列はContainerInfo.setDataAffinity(String)の規則に準拠する。パターンやその区切りに使用される記号をコンテナ名などに用いるには、「\」を用いてエスケープする。ただしコンテナ名やアフィニティ文字列の規則に反する記号は使用できない。バージョン2.7よりサポート
        notificationMember 固定リスト方式を使用して構成されたクラスタに接続する場合に、クラスタノードのアドレス・ポートのリストを次のように指定する。
        (アドレス1):(ポート1),(アドレス2):(ポート2),...
        notificationAddressおよびnotificationProviderと同時に指定することはできない。バージョン2.9よりサポート
        notificationProvider プロバイダ方式を使用して構成されたクラスタに接続する場合に、アドレスプロバイダのURLを指定する。 notificationAddressおよびnotificationMemberと同時に指定することはできない。バージョン2.9よりサポート
        applicationNameアプリケーションの名前。アプリケーションの識別を補助するための情報として、接続先のクラスタ上での各種管理情報の出力の際に含められる場合がある。ただし、アプリケーションの同一性をどのように定義するかについては関与しない。省略時はアプリケーション名の指定がなかったものとみなされる。空文字列は指定できない。バージョン4.2よりサポート
        timeZoneタイムゾーン情報。 TQLでのTIMESTAMP値演算などに使用される。「±hh:mm」または「±hhmm」形式によるオフセット値 (±+または-hhは時、 mmは分)、「Z」(+00:00に相当)、「auto」(実行環境に応じ自動設定)のいずれかを指定する。 autoが使用できるのは夏時間を持たないタイムゾーンに限定される。バージョン4.3よりサポート

        クラスタ名、データベース名、ユーザ名、パスワードについては、 ASCIIの大文字・小文字表記の違いがいずれも区別されます。その他、これらの定義に使用できる文字種や長さの上限などの制限については、 GridDBテクニカルリファレンスを参照してください。ただし、制限に反する文字列をプロパティ値として指定した場合、各ノードへの接続のタイミングまでエラーが検知されないことや、認証情報の不一致など別のエラーになることがあります。

        取得のたびに、新たなGridStoreインスタンスが生成されます。異なるGridStoreインスタンスならびに関連するオブジェクトに対する操作は、スレッド安全です。すなわち、ある2つのオブジェクトがそれぞれGridStore インスタンスを基にして生成されたものまたはGridStoreインスタンスそのものであり、かつ、該当する関連GridStoreインスタンスが異なる場合、一方のオブジェクトに対してどのスレッドからどのタイミングでメソッドが呼び出されていたとしても、他方のオブジェクトのメソッドを呼び出すことができます。ただし、GridStore自体のスレッド安全性は保証されていないため、同一GridStoreインスタンスに対して複数スレッドから任意のタイミングでメソッド呼び出しすることはできません。

        Parameters:
        properties - 取得設定を指示するためのプロパティ
        Throws:
        GSException - 指定のホストについて名前解決できなかった場合
        GSException - 指定のプロパティが上で説明した形式・制限に合致しないことを検知できた場合
        GSException - すでにクローズ済みの場合
        java.lang.NullPointerException - propertiesnullが指定された場合
      • getInstance

        public static GridStoreFactory getInstance()
        デフォルトのインスタンスを取得します。

        このクラスのロード時に、GridStoreFactoryクラスのデフォルトのサブクラスがロードされ、インスタンスが生成されます。

      • setProperties

        public abstract void setProperties(java.util.Properties properties)
                                    throws GSException
        このファクトリの設定を変更します。

        設定の変更は、このファクトリより生成されたGridStore、ならびに、今後このファクトリで生成されるGridStoreに反映されます。

        以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。

        名称説明
        maxConnectionPoolSize内部で使用されるコネクションプールの最大コネクション数。0以上 Integer.MAX_VALUEまでの数値の文字列表現。値が0の場合、コネクションプールを使用しないことを意味する。省略時は既存の設定値を使用
        failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。0以上 Integer.MAX_VALUEまでの数値の文字列表現であり、単位は秒。 0の場合、フェイルオーバ処理を行わない。省略時は既存の設定値を使用
        Throws:
        GSException - 指定のプロパティが上で説明した形式に合致しない場合
        GSException - すでにクローズ済みの場合
        java.lang.NullPointerException - propertiesnullが指定された場合

Class IndexInfo

  • java.lang.Object
    • com.toshiba.mwcloud.gs.IndexInfo


  • public class IndexInfo
    extends java.lang.Object
    索引の設定内容を表します。

    カラム名の表記やカラム番号の妥当性について、必ずしも検査するとは限りません。

    Since:
    3.5
    • Constructor Summary

      Constructors 
      Constructor and Description
      IndexInfo()
      空の索引情報を作成します。
      IndexInfo(IndexInfo info)
      指定の内容を引き継ぎ、新たな索引情報を作成します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static IndexInfo createByColumn(java.lang.String columnName, IndexType type)
      必要に応じカラム名と索引種別を指定して索引情報を作成します。
      static IndexInfo createByColumnList(java.util.List<java.lang.String> columnNames, IndexType type)
      必要に応じカラム名の列と索引種別を指定して索引情報を作成します。
      static IndexInfo createByName(java.lang.String name, IndexType type)
      必要に応じ索引名と索引種別を指定して索引情報を作成します。
      java.lang.Integer getColumn()
      索引に対応する単一のカラムのカラム番号を取得します。
      java.util.List<java.lang.Integer> getColumnList()
      索引に対応する任意個数のカラムのカラム番号の列を取得します。
      java.lang.String getColumnName()
      索引に対応する単一のカラムのカラム名を取得します。
      java.util.List<java.lang.String> getColumnNameList()
      索引に対応する任意個数のカラムのカラム名の列を取得します。
      java.lang.String getName()
      索引名を取得します。
      IndexType getType()
      索引種別を取得します。
      void setColumn(java.lang.Integer column)
      索引に対応する、単一のカラムからなるカラム番号列を設定します。
      void setColumnList(java.util.List<java.lang.Integer> columns)
      索引に対応する任意個数のカラムのカラム番号の列を設定します。
      void setColumnName(java.lang.String columnName)
      索引に対応する、単一のカラムからなるカラム名列を設定します。
      void setColumnNameList(java.util.List<java.lang.String> columnNames)
      索引に対応する任意個数のカラムのカラム名の列を設定します。
      void setName(java.lang.String name)
      索引名を設定します。
      void setType(IndexType type)
      索引種別を設定します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IndexInfo

        public IndexInfo()
        空の索引情報を作成します。

        索引種別、索引名、カラム番号、カラム名がいずれも未設定の状態の索引情報を作成します。

      • IndexInfo

        public IndexInfo(IndexInfo info)
        指定の内容を引き継ぎ、新たな索引情報を作成します。
        Parameters:
        info - 引き継ぎ対象の索引情報
        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
    • Method Detail

      • createByColumn

        public static IndexInfo createByColumn(java.lang.String columnName,
                               IndexType type)
        必要に応じカラム名と索引種別を指定して索引情報を作成します。
        Parameters:
        columnName - カラム名。指定しない場合はnull
        type - 索引種別。指定しない場合はnull
      • createByColumnList

        public static IndexInfo createByColumnList(java.util.List<java.lang.String> columnNames,
                                   IndexType type)
        必要に応じカラム名の列と索引種別を指定して索引情報を作成します。
        Parameters:
        columnNames - カラム名の列。長さ0は許容するが、 nullは指定できない
        type - 索引種別。指定しない場合はnull
        Throws:
        java.lang.NullPointerException - columnNamesnullが指定された場合
        Since:
        4.3
      • createByName

        public static IndexInfo createByName(java.lang.String name,
                             IndexType type)
        必要に応じ索引名と索引種別を指定して索引情報を作成します。
        Parameters:
        name - 索引名。指定しない場合はnull
        type - 索引種別。指定しない場合はnull
      • getColumn

        public java.lang.Integer getColumn()
        索引に対応する単一のカラムのカラム番号を取得します。
        Returns:
        カラム番号。未設定の場合はnull
        Throws:
        java.lang.IllegalStateException - 複合索引に関するカラム番号の列またはカラム名の列が設定されていた場合
      • getColumnList

        public java.util.List<java.lang.Integer> getColumnList()
        索引に対応する任意個数のカラムのカラム番号の列を取得します。
        Returns:
        番号の列。未設定の場合は長さ0の列
        Since:
        4.3
      • getColumnName

        public java.lang.String getColumnName()
        索引に対応する単一のカラムのカラム名を取得します。
        Returns:
        カラム名。未設定の場合はnull
        Throws:
        java.lang.IllegalStateException - 複合索引に関するカラム番号の列またはカラム名の列が設定されていた場合
      • getColumnNameList

        public java.util.List<java.lang.String> getColumnNameList()
        索引に対応する任意個数のカラムのカラム名の列を取得します。
        Returns:
        カラム名の列。未設定の場合は長さ0の列
        Since:
        4.3
      • getName

        public java.lang.String getName()
        索引名を取得します。
        Returns:
        索引名。未設定の場合はnull
      • getType

        public IndexType getType()
        索引種別を取得します。
        Returns:
        索引種別。未設定の場合はnull
      • setColumn

        public void setColumn(java.lang.Integer column)
        索引に対応する、単一のカラムからなるカラム番号列を設定します。
        Parameters:
        column - 索引名。nullの場合は未設定状態になる
      • setColumnList

        public void setColumnList(java.util.List<java.lang.Integer> columns)
        索引に対応する任意個数のカラムのカラム番号の列を設定します。
        Parameters:
        columns - カラム番号の列。長さ0は許容するが、 nullは指定できない
        Throws:
        java.lang.NullPointerException - columnsnullが指定された場合
        Since:
        4.3
      • setColumnName

        public void setColumnName(java.lang.String columnName)
        索引に対応する、単一のカラムからなるカラム名列を設定します。
        Parameters:
        columnName - カラム名。nullの場合は未設定状態になる
      • setColumnNameList

        public void setColumnNameList(java.util.List<java.lang.String> columnNames)
        索引に対応する任意個数のカラムのカラム名の列を設定します。
        Parameters:
        columnNames - カラム名の列。長さ0は許容するが、 nullは指定できない
        Throws:
        java.lang.NullPointerException - columnNamesnullが指定された場合
        Since:
        4.3
      • setName

        public void setName(java.lang.String name)
        索引名を設定します。
        Parameters:
        name - 索引名。nullの場合は未設定状態になる
      • setType

        public void setType(IndexType type)
        索引種別を設定します。
        Parameters:
        type - 索引種別。nullの場合は未設定状態になる

Enum IndexType

  • java.lang.Object
    • java.lang.Enum<IndexType>
      • com.toshiba.mwcloud.gs.IndexType
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<IndexType>


    public enum IndexType
    extends java.lang.Enum<IndexType>
    Containerに設定する索引の種別を示します。
    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      DEFAULT
      デフォルトの索引種別を示します。
      HASH
      ハッシュ索引を示します。
      SPATIAL
      空間索引を示します。
      TREE
      ツリー索引を示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static IndexType valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static IndexType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • DEFAULT

        public static final IndexType DEFAULT
        デフォルトの索引種別を示します。

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

        Since:
        3.5
      • HASH

        public static final IndexType HASH
        ハッシュ索引を示します。

        この索引種別は、Collectionにおける次の型のカラムに対して設定できます。

        • STRING
        • BOOL
        • BYTE
        • SHORT
        • INTEGER
        • LONG
        • FLOAT
        • DOUBLE
        • TIMESTAMP

        TimeSeriesに対して設定することはできません。

      • SPATIAL

        public static final IndexType SPATIAL
        空間索引を示します。

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

      • TREE

        public static final IndexType TREE
        ツリー索引を示します。

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

        • STRING
        • BOOL
        • BYTE
        • SHORT
        • INTEGER
        • LONG
        • FLOAT
        • DOUBLE
        • TIMESTAMP
    • Method Detail

      • valueOf

        public static IndexType valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static IndexType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (IndexType c : IndexType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Enum InterpolationMode

  • java.lang.Object
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<InterpolationMode>


    public enum InterpolationMode
    extends java.lang.Enum<InterpolationMode>
    ロウの補間方法の種別を表します。

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

    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      EMPTY
      空の値を補間値として用いることを示します。
      LINEAR_OR_PREVIOUS
      カラムに応じて線形補間または直前ロウの値による補間を行うことを示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static InterpolationMode valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static InterpolationMode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • EMPTY

        public static final InterpolationMode EMPTY
        空の値を補間値として用いることを示します。

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

      • LINEAR_OR_PREVIOUS

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

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

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

    • Method Detail

      • valueOf

        public static InterpolationMode valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static InterpolationMode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (InterpolationMode c : InterpolationMode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Annotation Type NotNull



  • @Retention(value=RUNTIME)
    @Target(value={TYPE,FIELD,METHOD,PACKAGE})
    public @interface NotNull
    NOT NULL制約を持つカラムであることを示します。
    Since:
    3.5
    See Also:
    Container

Annotation Type Nullable



  • @Retention(value=RUNTIME)
    @Target(value={TYPE,FIELD,METHOD,PACKAGE})
    public @interface Nullable
    NOT NULL制約を持たないカラムであることを示します。
    Since:
    3.5
    See Also:
    Container

Interface PartitionController

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable


    public interface PartitionController
    extends java.io.Closeable
    パーティション状態の取得や操作のためのコントローラです。

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

    Since:
    1.5
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void assignPreferableHost(int partitionIndex, java.net.InetAddress host)
      優先的に選択されるホストのアドレスを設定します。
      void close()
      GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。
      java.util.List<java.net.InetAddress> getBackupHosts(int partitionIndex)
      指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。
      long getContainerCount(int partitionIndex)
      指定のパーティションに属するコンテナの総数を取得します。
      java.util.List<java.lang.String> getContainerNames(int partitionIndex, long start, java.lang.Long limit)
      指定のパーティションに所属するコンテナの名前の一覧を取得します。
      java.util.List<java.net.InetAddress> getHosts(int partitionIndex)
      指定のパーティションに対応するノードのアドレス一覧を取得します。
      java.net.InetAddress getOwnerHost(int partitionIndex)
      指定のパーティションに対応するオーナノードのアドレスを取得します。
      int getPartitionCount()
      対象とするGridDBクラスタのパーティション数を取得します。
      int getPartitionIndexOfContainer(java.lang.String containerName)
      指定のコンテナ名に対応するパーティションインデックスを取得します。
    • Method Detail

      • assignPreferableHost

        void assignPreferableHost(int partitionIndex,
                                java.net.InetAddress host)
                                  throws GSException
        優先的に選択されるホストのアドレスを設定します。

        バックアップノードへの接続など、可能な接続先が複数存在する場合に、設定されたアドレスが候補に含まれていれば常に選択されるようになります。それ以外の場合は設定が無視されます。

        Parameters:
        partitionIndex - パーティションインデックス。0以上パーティション数未満の値
        host - 優先的に選択されるホストのアドレス。nullの場合、設定が解除される
        Throws:
        GSException - 範囲外のパーティションインデックスが指定された場合
        GSException - このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
        See Also:
        getBackupHosts(int)
      • close

        void close()
                   throws GSException
        GridDBとの接続状態を解除し、必要に応じて関連するリソースを解放します。
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        GSException - 現バージョンでは送出されない
      • getBackupHosts

        java.util.List<java.net.InetAddress> getBackupHosts(int partitionIndex)
                                                            throws GSException
        指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。

        バックアップノードとは、 GridStoreFactory.getGridStore(java.util.Properties)における一貫性レベルとして"EVENTUAL"を指定した場合に、優先的に選択されるノードのことです。

        一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。

        返却されたリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。

        Parameters:
        partitionIndex - パーティションインデックス。0以上パーティション数未満の値
        Returns:
        バックアップノードのアドレスを表すInetAddressを要素とする、List
        Throws:
        GSException - 範囲外のパーティションインデックスが指定された場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
      • getContainerCount

        long getContainerCount(int partitionIndex)
                               throws GSException
        指定のパーティションに属するコンテナの総数を取得します。

        コンテナ数を求める際の計算量は、コンテナ数にはおおむね依存しません。

        Parameters:
        partitionIndex - パーティションインデックス。0以上パーティション数未満の値
        Returns:
        コンテナ数
        Throws:
        GSException - 範囲外のパーティションインデックスが指定された場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
        See Also:
        getPartitionIndexOfContainer(String)
      • getContainerNames

        java.util.List<java.lang.String> getContainerNames(int partitionIndex,
                                                         long start,
                                                         java.lang.Long limit)
                                                           throws GSException
        指定のパーティションに所属するコンテナの名前の一覧を取得します。

        指定のパーティションについてコンテナの新規作成・構成変更・削除が行われたとしても、該当コンテナを除くとその前後で一覧の取得結果の順序が変わることはありません。それ以外の一覧の順序に関しては不定です。重複する名前が含まれることはありません。

        取得件数の上限が指定された場合、上限を超える場合、後方のものから切り捨てられます。指定条件に該当するものが存在しない場合、空のリストが返却されます。

        返却されたリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。

        Parameters:
        partitionIndex - パーティションインデックス。0以上パーティション数未満の値
        start - 取得範囲の開始位置。0以上の値
        limit - 取得件数の上限。nullの場合、上限なしとみなされる
        Returns:
        コンテナの名前を要素とするList
        Throws:
        GSException - 範囲外のパーティションインデックスが指定された場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
      • getHosts

        java.util.List<java.net.InetAddress> getHosts(int partitionIndex)
                                                      throws GSException
        指定のパーティションに対応するノードのアドレス一覧を取得します。

        一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。

        返却されたリストに対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。

        Parameters:
        partitionIndex - パーティションインデックス。0以上パーティション数未満の値
        Returns:
        ノードのアドレスを表すInetAddressを要素とする、List
        Throws:
        GSException - 範囲外のパーティションインデックスが指定された場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
      • getOwnerHost

        java.net.InetAddress getOwnerHost(int partitionIndex)
                                          throws GSException
        指定のパーティションに対応するオーナノードのアドレスを取得します。

        オーナノードとは、 GridStoreFactory.getGridStore(java.util.Properties)における一貫性レベルとして"IMMEDIATE"を指定した場合に、常に選択されるノードのことです。

        Parameters:
        partitionIndex - パーティションインデックス。0以上パーティション数未満の値
        Returns:
        オーナノードのアドレスを表すInetAddress
        Throws:
        GSException - 範囲外のパーティションインデックスが指定された場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
      • getPartitionCount

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

        対象とするGridDBクラスタにおけるパーティション数設定の値を取得します。一度取得した結果はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。

        Returns:
        パーティション数
        Throws:
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
      • getPartitionIndexOfContainer

        int getPartitionIndexOfContainer(java.lang.String containerName)
                                         throws GSException
        指定のコンテナ名に対応するパーティションインデックスを取得します。

        一度GridDBクラスタが構築されると、コンテナの所属先のパーティションが変化することはなく、パーティションインデックスも一定となります。指定の名前に対応するコンテナが存在するかどうかは、結果に依存しません。

        パーティションインデックスの算出に必要とする情報はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。

        Parameters:
        containerName - コンテナ名。nullは指定できない
        Returns:
        指定のコンテナ名に対応するパーティションインデックス
        Throws:
        GSException - コンテナ名として許可されない文字列が指定された場合
        GSException - この処理のタイムアウト、接続障害が発生した場合、このオブジェクトまたは対応するGridStoreのクローズ後に呼び出された場合
        java.lang.NullPointerException - 引数にnullが指定された場合

Interface Query<R>

  • Type Parameters:
    R - 期待される取得結果のRowSet要素の型
    All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable


    public interface Query<R>
    extends java.io.Closeable
    特定のContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void close()
      関連するリソースを適宜解放します。
      RowSet<R> fetch()
      このクエリを実行し、実行結果に対応するロウ集合を取得します。
      RowSet<R> fetch(boolean forUpdate)
      オプションを指定してこのクエリを実行し、実行結果に対応するロウ集合を取得します。
      RowSet<R> getRowSet()
      直近に実行した結果のRowSetを取得します。
      void setFetchOption(FetchOption option, java.lang.Object value)
      結果取得に関するオプションを設定します。
    • Method Detail

      • close

        void close()
                   throws GSException
        関連するリソースを適宜解放します。
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        GSException - 現バージョンでは送出されない
        See Also:
        Closeable.close()
      • fetch

        RowSet<R> fetch()
                        throws GSException
        このクエリを実行し、実行結果に対応するロウ集合を取得します。

        更新用ロックを要求せずにfetch(boolean)を呼び出した場合と同様です。

        Throws:
        GSException - 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、このクエリを作成する機能の各種定義を参照のこと
        GSException - TQLを実行した際、実行結果が期待する結果 RowSetの各要素の型と合致しない場合
        GSException - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
        java.lang.NullPointerException - このクエリを作成する際に与えられたパラメータの中に、許容されないnullが含まれていた場合。GridDB上で実行される TQL文の評価処理の結果として送出されることはない
        See Also:
        fetch(boolean)
      • fetch

        RowSet<R> fetch(boolean forUpdate)
                        throws GSException
        オプションを指定してこのクエリを実行し、実行結果に対応するロウ集合を取得します。

        forUpdatetrueが指定された場合、取得対象のロウすべてをロックします。ロックすると、対応するトランザクションが有効である間、他のトランザクションからの対象ロウに対する変更操作が阻止されます。対応するコンテナの自動コミットモードが無効の場合のみ、指定できます。

        新たなロウ集合を取得すると、このクエリについて前回実行した結果の RowSetはクローズされます。

        一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。

        Throws:
        GSException - 対応するコレクションの自動コミットモード有効であるにもかかわらず、forUpdatetrueが指定された場合
        GSException - ロックできないクエリであるにもかかわらず、 forUpdatetrueが指定された場合。具体的なロックの可否は、このクエリを作成する機能の各種定義を参照のこと
        GSException - 正しくないパラメータ・構文・命令・オプション設定を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、このクエリを作成する機能の各種定義を参照のこと
        GSException - TQLの実行時、求めるRowSetの要素の型と取得結果の型が一致しない場合
        GSException - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
        java.lang.NullPointerException - このクエリを作成する際に与えられたパラメータの中に、許容されないnullが含まれていた場合
      • getRowSet

        RowSet<R> getRowSet()
                            throws GSException
        直近に実行した結果のRowSetを取得します。

        一度取得すると、以降新たにこのクエリを実行するまでnullが返却されるようになります。

        FetchOption.PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。

        Returns:
        直近に実行した結果のRowSet。取得済みの場合、もしくは、一度もクエリを実行したことのない場合はnull
        Throws:
        GSException - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
        Since:
        1.5
      • setFetchOption

        void setFetchOption(FetchOption option,
                          java.lang.Object value)
                            throws GSException
        結果取得に関するオプションを設定します。

        設定可能なオプション項目と値の定義については、FetchOptionを参照してください。

        Parameters:
        option - オプション項目
        value - オプションの値
        Throws:
        GSException - オプションの値がオプション項目と対応しない場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
        java.lang.NullPointerException - 1つ以上の引数にnullが指定された場合
        See Also:
        FetchOption

Class QueryAnalysisEntry

  • java.lang.Object
    • com.toshiba.mwcloud.gs.QueryAnalysisEntry


  • public class QueryAnalysisEntry
    extends java.lang.Object
    クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。

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

    • Method Summary

      Methods 
      Modifier and Type Method and Description
      boolean equals(java.lang.Object obj)
      このオブジェクトと他のオブジェクトが等しいかどうかを示します。
      int getDepth()
      他のエントリとの関係を表すための、深さを取得します。
      int getId()
      一連のエントリ列における、このエントリの位置を示すIDを取得します。
      java.lang.String getStatement()
      このエントリが示す情報に対応するTQL文の一部を取得します。
      java.lang.String getType()
      このエントリが示す情報の種別を取得します。
      java.lang.String getValue()
      このエントリが示す情報に対応付けられた値の文字列表現を取得します。
      java.lang.String getValueType()
      このエントリが示す情報に対応付けられた値の型を取得します。
      int hashCode()
      このオブジェクトのハッシュコード値を返します。
      void setDepth(int depth)
      他のエントリとの関係を表すための、深さを設定します。
      void setId(int id)
      一連のエントリ列における、このエントリの位置を示すIDを設定します。
      void setStatement(java.lang.String statement)
      このエントリが示す情報に対応するTQL文の一部を設定します。
      void setType(java.lang.String type)
      このエントリが示す情報の種別を設定します。
      void setValue(java.lang.String value)
      このエントリが示す情報に対応付けられた値の文字列表現を設定します。
      void setValueType(java.lang.String valueType)
      このエントリが示す情報に対応付けられた値の型を設定します。
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • QueryAnalysisEntry

        public QueryAnalysisEntry()
    • Method Detail

      • equals

        public boolean equals(java.lang.Object obj)
        このオブジェクトと他のオブジェクトが等しいかどうかを示します。

        getId()getDepth()などにより得られる各値がすべて等価である場合のみ、指定のオブジェクトと等価であるとみなされます。

        このメソッドは、Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトは等価なハッシュコードを保持します。

        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - 比較対象の参照オブジェクトまたはnull
        Returns:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        See Also:
        hashCode()
      • getDepth

        public int getDepth()
        他のエントリとの関係を表すための、深さを取得します。

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

      • getId

        public int getId()
        一連のエントリ列における、このエントリの位置を示すIDを取得します。

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

      • getStatement

        public java.lang.String getStatement()
        このエントリが示す情報に対応するTQL文の一部を取得します。

        対応関係を持たない場合は空文字列を取得します。

      • getType

        public java.lang.String getType()
        このエントリが示す情報の種別を取得します。

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

      • getValue

        public java.lang.String getValue()
        このエントリが示す情報に対応付けられた値の文字列表現を取得します。

        値が対応づけられていない場合は空文字列を取得します。

        See Also:
        getValueType()
      • getValueType

        public java.lang.String getValueType()
        このエントリが示す情報に対応付けられた値の型を取得します。

        実行時間といった解析結果などに対応する値の型を取得します。型の名称は、TQLで定義された基本型のうち次のものです。

        • STRING
        • BOOL
        • BYTE
        • SHORT
        • INTEGER
        • LONG
        • FLOAT
        • DOUBLE

        値が対応づけられていない場合は空文字列を取得します。

      • hashCode

        public int hashCode()
        このオブジェクトのハッシュコード値を返します。

        このメソッドは、Object.hashCode()にて定義されている汎用規約に準拠します。したがって、等価なオブジェクトのハッシュコード値は等価です。

        Overrides:
        hashCode in class java.lang.Object
        Returns:
        このオブジェクトのハッシュコード値
        See Also:
        equals(Object)
      • setDepth

        public void setDepth(int depth)
        他のエントリとの関係を表すための、深さを設定します。
        See Also:
        getDepth()
      • setId

        public void setId(int id)
        一連のエントリ列における、このエントリの位置を示すIDを設定します。
        See Also:
        getId()
      • setStatement

        public void setStatement(java.lang.String statement)
        このエントリが示す情報に対応するTQL文の一部を設定します。
        Parameters:
        statement - TQL文の一部またはnull
        See Also:
        getStatement()
      • setType

        public void setType(java.lang.String type)
        このエントリが示す情報の種別を設定します。
        Parameters:
        type - 種別またはnull
        See Also:
        getType()
      • setValue

        public void setValue(java.lang.String value)
        このエントリが示す情報に対応付けられた値の文字列表現を設定します。
        Parameters:
        value - 値の文字列表現またはnull
        See Also:
        getValue()
      • setValueType

        public void setValueType(java.lang.String valueType)
        このエントリが示す情報に対応付けられた値の型を設定します。
        Parameters:
        valueType - 値の型またはnull
        See Also:
        getValueType()

Enum QueryOrder

  • java.lang.Object
    • java.lang.Enum<QueryOrder>
      • com.toshiba.mwcloud.gs.QueryOrder
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<QueryOrder>


    public enum QueryOrder
    extends java.lang.Enum<QueryOrder>
    クエリにおける要求ロウ順序を表します。

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

    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      ASCENDING
      要求ロウ順序が昇順であることを表します。
      DESCENDING
      要求ロウ順序が降順であることを表します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static QueryOrder valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static QueryOrder[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • ASCENDING

        public static final QueryOrder ASCENDING
        要求ロウ順序が昇順であることを表します。
      • DESCENDING

        public static final QueryOrder DESCENDING
        要求ロウ順序が降順であることを表します。
    • Method Detail

      • valueOf

        public static QueryOrder valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static QueryOrder[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (QueryOrder c : QueryOrder.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Interface Row.Key

  • All Superinterfaces:
    Row
    Enclosing interface:
    Row


    public static interface Row.Key
    extends Row
    ロウキーに関するカラムのみから構成されるRowの一種です。

    Row.getSchema()より返却されるContainerInfoに含まれるカラム情報は、ロウキーに関するカラムの情報のみとなります。

    Since:
    4.3

Interface Row.WithKey<K>

  • Enclosing interface:
    Row


    public static interface Row.WithKey<K>
    マッピングに用いるロウオブジェクトの型について、常に指定のロウキー型と対応付くことを表します。

    このインタフェースを実装するロウオブジェクトの型を指定して、 Container.BindType.of(Class)を通じ型情報を求めると、 Containerインスタンスを生成する際にロウキーの型を明示する必要がなくなります。

    Since:
    4.3

Interface Row

  • All Known Subinterfaces:
    Row.Key


    public interface Row
    任意のスキーマについて汎用的にフィールド操作できるロウです。
    Since:
    1.5
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface and Description
      static interface  Row.Key
      ロウキーに関するカラムのみから構成されるRowの一種です。
      static class  com.toshiba.mwcloud.gs.Row.KeyCategory
      Deprecated. 
      static interface  Row.WithKey<K>
      マッピングに用いるロウオブジェクトの型について、常に指定のロウキー型と対応付くことを表します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      Row.Key createKey()
      ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなRow.Keyインスタンスを作成します。
      Row createRow()
      同一のフィールド値からなる新たなRowインスタンスを作成します。
      java.sql.Blob getBlob(int column)
      指定のBLOB型フィールドの値を取得します。
      boolean getBool(int column)
      指定のBOOL型フィールドの値を取得します。
      boolean[] getBoolArray(int column)
      指定のBOOL型配列フィールドの値を取得します。
      byte getByte(int column)
      指定のBYTE型フィールドの値を取得します。
      byte[] getByteArray(int column)
      指定のBYTE型配列フィールドの値を取得します。
      double getDouble(int column)
      指定のDOUBLE型フィールドの値を取得します。
      double[] getDoubleArray(int column)
      指定のDOUBLE型配列フィールドの値を取得します。
      float getFloat(int column)
      指定のFLOAT型フィールドの値を取得します。
      float[] getFloatArray(int column)
      指定のFLOAT型配列フィールドの値を取得します。
      Geometry getGeometry(int column)
      指定のGEOMETRY型フィールドの値を取得します。
      int getInteger(int column)
      指定のINTEGER型フィールドの値を取得します。
      int[] getIntegerArray(int column)
      指定のINTEGER型配列フィールドの値を取得します。
      long getLong(int column)
      指定のLONG型フィールドの値を取得します。
      long[] getLongArray(int column)
      指定のLONG型配列フィールドの値を取得します。
      ContainerInfo getSchema()
      このロウに対応するスキーマを取得します。
      short getShort(int column)
      指定のSHORT型フィールドの値を取得します。
      short[] getShortArray(int column)
      指定のSHORT型配列フィールドの値を取得します。
      java.lang.String getString(int column)
      指定のSTRING型フィールドの値を取得します。
      java.lang.String[] getStringArray(int column)
      指定のSTRING型配列フィールドの値を取得します。
      java.util.Date getTimestamp(int column)
      指定のTIMESTAMP型フィールドの値を取得します。
      java.util.Date[] getTimestampArray(int column)
      指定のTIMESTAMP型配列フィールドの値を取得します。
      java.lang.Object getValue(int column)
      指定のフィールドの値を取得します。
      boolean isNull(int column)
      指定のフィールドにNULLが設定されているかどうかを返します。
      void setBlob(int column, java.sql.Blob fieldValue)
      指定のBLOB型フィールドに値を設定します。
      void setBool(int column, boolean fieldValue)
      指定のBOOL型フィールドに値を設定します。
      void setBoolArray(int column, boolean[] fieldValue)
      指定のBOOL型配列フィールドに値を設定します。
      void setByte(int column, byte fieldValue)
      指定のBYTE型フィールドに値を設定します。
      void setByteArray(int column, byte[] fieldValue)
      指定のBYTE型配列フィールドに値を設定します。
      void setDouble(int column, double fieldValue)
      指定のDOUBLE型フィールドに値を設定します。
      void setDoubleArray(int column, double[] fieldValue)
      指定のDOUBLE型配列フィールドに値を設定します。
      void setFloat(int column, float fieldValue)
      指定のFLOAT型フィールドに値を設定します。
      void setFloatArray(int column, float[] fieldValue)
      指定のFLOAT型配列フィールドに値を設定します。
      void setGeometry(int column, Geometry fieldValue)
      指定のGEOMETRY型フィールドに値を設定します。
      void setInteger(int column, int fieldValue)
      指定のINTEGER型フィールドに値を設定します。
      void setIntegerArray(int column, int[] fieldValue)
      指定のINTEGER型配列フィールドに値を設定します。
      void setLong(int column, long fieldValue)
      指定のLONG型フィールドに値を設定します。
      void setLongArray(int column, long[] fieldValue)
      指定のLONG型配列フィールドに値を設定します。
      void setNull(int column)
      指定のフィールドにNULLを設定します。
      void setShort(int column, short fieldValue)
      指定のSHORT型フィールドに値を設定します。
      void setShortArray(int column, short[] fieldValue)
      指定のSHORT型配列フィールドに値を設定します。
      void setString(int column, java.lang.String fieldValue)
      指定のSTRING型フィールドに値を設定します。
      void setStringArray(int column, java.lang.String[] fieldValue)
      指定のSTRING型配列フィールドに値を設定します。
      void setTimestamp(int column, java.util.Date fieldValue)
      指定のTIMESTAMP型フィールドに値を設定します。
      void setTimestampArray(int column, java.util.Date[] fieldValue)
      指定のTIMESTAMP型配列フィールドに値を設定します。
      void setValue(int column, java.lang.Object fieldValue)
      指定のフィールドに値を設定します。
    • Method Detail

      • createKey

        Row.Key createKey()
                          throws GSException
        ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなRow.Keyインスタンスを作成します。
        Returns:
        作成されたRow.Key
        Throws:
        GSException - ロウキーを持たない場合
        Since:
        4.3
      • createRow

        Row createRow()
                      throws GSException
        同一のフィールド値からなる新たなRowインスタンスを作成します。
        Returns:
        作成されたRow
        Throws:
        GSException - 現バージョンでは発生しない
        Since:
        4.3
      • getBlob

        java.sql.Blob getBlob(int column)
                              throws GSException
        指定のBLOB型フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getBool

        boolean getBool(int column)
                        throws GSException
        指定のBOOL型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getBoolArray

        boolean[] getBoolArray(int column)
                               throws GSException
        指定のBOOL型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getByte

        byte getByte(int column)
                     throws GSException
        指定のBYTE型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getByteArray

        byte[] getByteArray(int column)
                            throws GSException
        指定のBYTE型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getDouble

        double getDouble(int column)
                         throws GSException
        指定のDOUBLE型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getDoubleArray

        double[] getDoubleArray(int column)
                                throws GSException
        指定のDOUBLE型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getFloat

        float getFloat(int column)
                       throws GSException
        指定のFLOAT型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getFloatArray

        float[] getFloatArray(int column)
                              throws GSException
        指定のFLOAT型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getGeometry

        Geometry getGeometry(int column)
                             throws GSException
        指定のGEOMETRY型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getInteger

        int getInteger(int column)
                       throws GSException
        指定のINTEGER型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getIntegerArray

        int[] getIntegerArray(int column)
                              throws GSException
        指定のINTEGER型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getLong

        long getLong(int column)
                     throws GSException
        指定のLONG型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getLongArray

        long[] getLongArray(int column)
                            throws GSException
        指定のLONG型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getSchema

        ContainerInfo getSchema()
                                throws GSException
        このロウに対応するスキーマを取得します。

        ロウキーの有無を含むカラムレイアウトにする情報のみが設定された ContainerInfoが求まります。コンテナ名、コンテナ種別、索引設定、時系列構成オプションなどその他のコンテナ情報は含まれません。

        Returns:
        スキーマに関するコンテナ情報のみを持つContainerInfo
        Throws:
        GSException - 現バージョンでは送出されない
      • getShort

        short getShort(int column)
                       throws GSException
        指定のSHORT型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合は空の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getShortArray

        short[] getShortArray(int column)
                              throws GSException
        指定のSHORT型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getString

        java.lang.String getString(int column)
                                   throws GSException
        指定のSTRING型フィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getStringArray

        java.lang.String[] getStringArray(int column)
                                          throws GSException
        指定のSTRING型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getTimestamp

        java.util.Date getTimestamp(int column)
                                    throws GSException
        指定のTIMESTAMP型フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getTimestampArray

        java.util.Date[] getTimestampArray(int column)
                                           throws GSException
        指定のTIMESTAMP型配列フィールドの値を取得します。

        返却されたオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。一方、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • getValue

        java.lang.Object getValue(int column)
                                  throws GSException
        指定のフィールドの値を取得します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        対象フィールドの値。NULLが設定されている場合はnull
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
      • isNull

        boolean isNull(int column)
                       throws GSException
        指定のフィールドにNULLが設定されているかどうかを返します。

        NOT NULL制約の設定されたカラムが指定された場合、常にfalseを返します。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Returns:
        指定のフィールドにNULLが設定されているかどうか
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        Since:
        3.5
      • setBlob

        void setBlob(int column,
                   java.sql.Blob fieldValue)
                     throws GSException
        指定のBLOB型フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setBool

        void setBool(int column,
                   boolean fieldValue)
                     throws GSException
        指定のBOOL型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setBoolArray

        void setBoolArray(int column,
                        boolean[] fieldValue)
                          throws GSException
        指定のBOOL型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setByte

        void setByte(int column,
                   byte fieldValue)
                     throws GSException
        指定のBYTE型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setByteArray

        void setByteArray(int column,
                        byte[] fieldValue)
                          throws GSException
        指定のBYTE型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setDouble

        void setDouble(int column,
                     double fieldValue)
                       throws GSException
        指定のDOUBLE型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setDoubleArray

        void setDoubleArray(int column,
                          double[] fieldValue)
                            throws GSException
        指定のDOUBLE型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setFloat

        void setFloat(int column,
                    float fieldValue)
                      throws GSException
        指定のFLOAT型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setFloatArray

        void setFloatArray(int column,
                         float[] fieldValue)
                           throws GSException
        指定のFLOAT型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setGeometry

        void setGeometry(int column,
                       Geometry fieldValue)
                         throws GSException
        指定のGEOMETRY型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setInteger

        void setInteger(int column,
                      int fieldValue)
                        throws GSException
        指定のINTEGER型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setIntegerArray

        void setIntegerArray(int column,
                           int[] fieldValue)
                             throws GSException
        指定のINTEGER型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setLong

        void setLong(int column,
                   long fieldValue)
                     throws GSException
        指定のLONG型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setLongArray

        void setLongArray(int column,
                        long[] fieldValue)
                          throws GSException
        指定のLONG型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setNull

        void setNull(int column)
                     throws GSException
        指定のフィールドにNULLを設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムが指定された場合
        Since:
        3.5
      • setShort

        void setShort(int column,
                    short fieldValue)
                      throws GSException
        指定のSHORT型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setShortArray

        void setShortArray(int column,
                         short[] fieldValue)
                           throws GSException
        指定のSHORT型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setString

        void setString(int column,
                     java.lang.String fieldValue)
                       throws GSException
        指定のSTRING型フィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setStringArray

        void setStringArray(int column,
                          java.lang.String[] fieldValue)
                            throws GSException
        指定のSTRING型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - フィールド値の配列要素にnullが含まれる場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setTimestamp

        void setTimestamp(int column,
                        java.util.Date fieldValue)
                          throws GSException
        指定のTIMESTAMP型フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setTimestampArray

        void setTimestampArray(int column,
                             java.util.Date[] fieldValue)
                               throws GSException
        指定のTIMESTAMP型配列フィールドに値を設定します。

        指定したオブジェクトの内容を呼び出し後に変更した場合に、このオブジェクトの内容が変化するかどうかは未定義です。

        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - フィールド値の配列要素にnullが含まれる場合
        GSException - 指定のカラム番号の型と一致しない場合
      • setValue

        void setValue(int column,
                    java.lang.Object fieldValue)
                      throws GSException
        指定のフィールドに値を設定します。
        Parameters:
        column - 対象フィールドのカラム番号。0以上かつカラム数未満の値
        fieldValue - 対象フィールドの値
        Throws:
        GSException - 範囲外のカラム番号が指定された場合
        GSException - NOT NULL制約の設定されたカラムに対して、フィールド値としてnullが指定された場合
        GSException - 配列型のフィールド値の配列要素にnullが含まれる場合
        GSException - フィールドの値がカラムの型と一致しない場合

Annotation Type RowField



  • @Retention(value=RUNTIME)
    @Target(value={FIELD,METHOD})
    public @interface RowField
    Containerの処理におけるマッピング対象のロウフィールドについて、オプションを設定します。

    複合ロウキーを構成する各ロウフィールドに対しても、使用できます。複合ロウキーの場合、複合ロウキー全体を一つのオブジェクトとして設定・取得するためのフィールド・メソッドに対しては、使用できません。

    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element and Description
      int columnNumber
      カラム番号を設定します。
      java.lang.String name
      指定のカラム名を使用します。
    • Element Detail

      • columnNumber

        public abstract int columnNumber
        カラム番号を設定します。

        カラム順序を明示的に指定する場合、0以上かつカラム数未満の値を指定します。同一コンテナ上で重複するカラム番号を指定することはできません。また、現バージョンでは、ロウキーは常に先頭カラムになるように設定しなければなりません。デフォルト値の-1を指定した場合、対応するカラムの番号は自動的に決定されます。

        複合ロウキーを含むロウオブジェクトのうち、ロウキー以外のロウフィールドに対して番号を設定する場合、複合ロウキーを構成する個々のカラムに割り当てられる番号と重複しないようにする必要があります。

        Default:
        -1
      • name

        public abstract java.lang.String name
        指定のカラム名を使用します。

        空の文字を指定した場合、対応するフィールド名またはメソッド名に基づきカラム名を決定します。

        Default:
        ""

Annotation Type RowKey



  • @Retention(value=RUNTIME)
    @Target(value={FIELD,METHOD})
    public @interface RowKey
    Containerのキーと対応することを示します。

    複合ロウキーの場合、複合ロウキー全体を一つのオブジェクトとして設定・取得するためのフィールド・メソッドに対して使用します。複合ロウキーを構成する各ロウフィールドに対しては、使用できません。


Class RowKeyPredicate<K>

  • java.lang.Object
    • com.toshiba.mwcloud.gs.RowKeyPredicate<K>
  • Type Parameters:
    K - 合致条件の評価対象とするロウキーの型


    public class RowKeyPredicate<K>
    extends java.lang.Object
    ロウキーの合致条件を表します。

    GridStore.multiGet(java.util.Map)における取得条件を構成するために使用できます。

    条件の種別として、範囲条件と個別条件の2つの種別があります。両方の種別の条件を共に指定することはできません。条件の内容を何も指定しない場合、対象とするすべてのロウキーに合致することを表します。

    Since:
    1.5
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void add(K key)
      個別条件の要素の一つとするロウキーの値を追加します。
      static <K> RowKeyPredicate<K> create(java.lang.Class<K> keyType)
      指定のClassに対応するGSTypeをロウキーの型とする合致条件を作成します。
      static RowKeyPredicate<Row.Key> create(ContainerInfo info)
      指定のContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。
      static RowKeyPredicate<java.lang.Object> create(GSType keyType)
      指定のGSTypeをロウキーの型とする合致条件を作成します。
      java.util.Collection<K> getDistinctKeys()
      個別条件を構成するロウキーの値の集合を取得します。
      K getFinish()
      範囲条件の終了位置とするロウキーの値を取得します。
      ContainerInfo getKeySchema()
      合致条件の評価対象とするロウキーのスキーマを取得します。
      GSType getKeyType()
      複合ロウキーについての合致条件である場合を除いて、合致条件の評価対象とするロウキーの型を取得します。
      K getStart()
      範囲条件の開始位置とするロウキーの値を取得します。
      void setFinish(K finishKey)
      範囲条件の終了位置とするロウキーの値を設定します。
      void setStart(K startKey)
      範囲条件の開始位置とするロウキーの値を設定します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • add

        public void add(K key)
                 throws GSException
        個別条件の要素の一つとするロウキーの値を追加します。

        追加された値と同一の値のロウキーは合致するものとみなされるようになります。

        Parameters:
        key - 個別条件の要素の一つとするロウキーの値。nullは指定できない
        Throws:
        GSException - 範囲条件がすでに設定されていた場合
        java.lang.ClassCastException - 指定のロウキーの値の型がnull ではなく、ロウキーに対応するクラスのインスタンスではない場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • create

        public static <K> RowKeyPredicate<K> create(java.lang.Class<K> keyType)
                                         throws GSException
        指定のClassに対応するGSTypeをロウキーの型とする合致条件を作成します。

        合致条件の評価対象とするコンテナは、単一カラムからなるロウキーを持ち、かつ、そのロウキーの型は指定のGSTypeと同一の型でなければなりません。

        設定可能なロウキーの型は、Containerのいずれかのサブインタフェースにて許容されている型のみです。 ClassGSTypeとの対応関係については、 Containerの定義を参照してください。

        複合ロウキーなどロウキーを構成するカラムの個数によらずに合致条件を作成するには、create(ContainerInfo)を使用します。

        Parameters:
        keyType - 合致条件の判定対象とするロウキーの型に対応する、Class
        Returns:
        新規に作成されたRowKeyPredicate
        Throws:
        GSException - 指定された型がロウキーとして常にサポート外となる場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        See Also:
        Container
      • create

        public static RowKeyPredicate<Row.Key> create(ContainerInfo info)
                                               throws GSException
        指定のContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。

        合致条件の評価対象とするコンテナは、ロウキーを持ち、かつ、指定の ContainerInfoのロウキーに関するカラム定義と対応づく必要があります。ロウキー以外のカラム定義については対応関係の判定に用いられません。

        Parameters:
        info - 合致条件の判定対象とするロウキーのカラムレイアウトを含む、コンテナ情報。その他の内容は無視される
        Returns:
        新規に作成されたRowKeyPredicate
        Throws:
        GSException - 指定の情報がロウキーを含まないか、ロウキーとして常にサポート外となる場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        4.3
      • create

        public static RowKeyPredicate<java.lang.Object> create(GSType keyType)
                                                        throws GSException
        指定のGSTypeをロウキーの型とする合致条件を作成します。

        合致条件の評価対象とするコンテナは、ロウキーを持ち、かつ、ロウキーの型が指定のGSTypeと同一の型でなければなりません。

        create(Class)とは異なり、アプリケーションのコンパイル時点でロウキーの型が確定しない場合の使用に適します。ただし、条件内容を設定する際のロウキーの型チェックの基準は同一です。

        設定可能なロウキーの型は、Containerのいずれかのサブインタフェースにて許容されている型のみです。

        Parameters:
        keyType - 合致条件の評価対象とするロウキーの型
        Returns:
        新規に作成されたRowKeyPredicate
        Throws:
        GSException - 指定された型がロウキーとして常にサポート外となる場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        See Also:
        Container
      • getDistinctKeys

        public java.util.Collection<K> getDistinctKeys()
        個別条件を構成するロウキーの値の集合を取得します。

        返却された値に対して変更操作を行った場合に、 UnsupportedOperationExceptionなどの実行時例外が発生するかどうかは未定義です。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化するかどうかは未定義です。

        Returns:
        個別条件を構成するロウキーの値を要素とする Collection
      • getFinish

        public K getFinish()
        範囲条件の終了位置とするロウキーの値を取得します。
        Returns:
        終了位置とするロウキーの値。設定されていない場合はnull
      • getKeySchema

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

        この合致条件の作成に用いられた情報に、ロウキー以外のカラム情報やスキーマ以外のコンテナ情報が含まれていたとしても、返却されるスキーマ情報には含まれません。

        Returns:
        ロウキーのスキーマに関するコンテナ情報のみを持つ ContainerInfo
        Since:
        4.3
      • getKeyType

        public GSType getKeyType()
        複合ロウキーについての合致条件である場合を除いて、合致条件の評価対象とするロウキーの型を取得します。

        複合ロウキーを含む任意のロウキーについてのスキーマを取得するには、 getKeySchema()}を使用します。

        Returns:
        合致条件の評価対象とするロウキーの型
        Throws:
        java.lang.IllegalStateException - 複合ロウキーについての合致条件である場合に呼び出された場合
      • getStart

        public K getStart()
        範囲条件の開始位置とするロウキーの値を取得します。
        Returns:
        開始位置とするロウキーの値。設定されていない場合はnull
      • setFinish

        public void setFinish(K finishKey)
                       throws GSException
        範囲条件の終了位置とするロウキーの値を設定します。

        設定された値より大きな値のロウキーは合致しないものとみなされるようになります。

        STRING型のロウキーまたはその型を含む複合ロウキーのように、大小関係が定義されていないロウキーの場合、条件として設定はできるものの、実際の判定に用いることはできません。

        Parameters:
        finishKey - 終了位置とするロウキーの値。nullの場合、設定が解除される
        Throws:
        GSException - 個別条件がすでに設定されていた場合
        java.lang.ClassCastException - 指定のロウキーの値の型がnull ではなく、ロウキーに対応するクラスのインスタンスではない場合
      • setStart

        public void setStart(K startKey)
                      throws GSException
        範囲条件の開始位置とするロウキーの値を設定します。

        設定された値より小さな値のロウキーは合致しないものとみなされるようになります。

        STRING型のロウキーまたはその型を含む複合ロウキーのように、大小関係が定義されていないロウキーの場合、条件として設定はできるものの、実際の判定に用いることはできません。

        Parameters:
        startKey - 開始位置とするロウキーの値。nullの場合、設定が解除される
        Throws:
        GSException - 個別条件がすでに設定されていた場合
        java.lang.ClassCastException - 指定のロウキーの値の型がnull ではなく、ロウキーに対応するクラスのインスタンスではない場合

Interface RowSet<R>

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable


    public interface RowSet<R>
    extends java.io.Closeable
    クエリ実行より求めたロウの集合を管理します。

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

    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void close()
      関連するリソースを適宜解放します。
      boolean hasNext()
      現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを取得します。
      R next()
      ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。
      void remove()
      現在のカーソル位置のロウを削除します。
      int size()
      サイズ、すなわちロウ集合作成時点におけるロウの数を取得します。
      void update(R rowObj)
      現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。
    • Method Detail

      • close

        void close()
                   throws GSException
        関連するリソースを適宜解放します。
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        GSException - 現バージョンでは送出されない
        See Also:
        Closeable.close()
      • hasNext

        boolean hasNext()
                        throws GSException
        現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを取得します。
        Throws:
        GSException - 現バージョンでは送出されない
      • next

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

        FetchOption.PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。

        Throws:
        GSException - 対象位置のロウが存在しない場合
        GSException - 接続障害によりロウオブジェクトの生成に失敗した場合
        GSException - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
      • remove

        void remove()
                    throws GSException
        現在のカーソル位置のロウを削除します。

        ロックを有効にして取得したRowSetに対してのみ使用できます。また、Container.remove(Object)と同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。

        Throws:
        GSException - 対象位置のロウが存在しない場合
        GSException - ロックを有効にせずに取得したRowSetに対して呼び出された場合
        GSException - 特定コンテナ固有の制限に反する操作を行った場合
        GSException - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
      • size

        int size()
        サイズ、すなわちロウ集合作成時点におけるロウの数を取得します。

        FetchOption.PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の進行状況によらず、結果を求めることはできません。

        Throws:
        java.lang.IllegalStateException - オプション設定の影響によりロウの数を取得できない場合
      • update

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

        nullは指定できません。指定のロウオブジェクトに含まれるロウキーは無視されます。

        ロックを有効にして取得したRowSetに対してのみ使用できます。また、Container.put(Object, Object)と同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。

        Throws:
        GSException - 対象位置のロウが存在しない場合
        GSException - ロックを有効にせずに取得したRowSetに対して呼び出された場合
        GSException - 特定コンテナ固有の制限に反する操作を行った場合
        GSException - この処理または関連するトランザクションのタイムアウト、対応するンテナの削除もしくはスキーマ変更、接続障害が発生した場合
        GSException - このオブジェクトまたは対応するContainerのクローズ後に呼び出された場合
        java.lang.ClassCastException - 指定のロウオブジェクトがマッピング処理で使用されるロウオブジェクトの型と対応しない場合
        java.lang.NullPointerException - 引数にnullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトが1つ以上存在しない場合

Enum TimeOperator

  • java.lang.Object
    • java.lang.Enum<TimeOperator>
      • com.toshiba.mwcloud.gs.TimeOperator
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<TimeOperator>


    public enum TimeOperator
    extends java.lang.Enum<TimeOperator>
    TimeSeriesのキー時刻に基づく、ロウの特定方法を表します。

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

    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      NEXT
      指定時刻同一またはまたはより後の時刻のロウのうち、最も古いものを求めます。
      NEXT_ONLY
      指定時刻より後の時刻のロウのうち、最も古いものを求めます。
      PREVIOUS
      指定時刻と同一またはより前の時刻のロウのうち、最も新しいものを求めます。
      PREVIOUS_ONLY
      指定より前の時刻のロウのうち、最も新しいものを求めます。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static TimeOperator valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static TimeOperator[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • NEXT

        public static final TimeOperator NEXT
        指定時刻同一またはまたはより後の時刻のロウのうち、最も古いものを求めます。
      • NEXT_ONLY

        public static final TimeOperator NEXT_ONLY
        指定時刻より後の時刻のロウのうち、最も古いものを求めます。
      • PREVIOUS

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

        public static final TimeOperator PREVIOUS_ONLY
        指定より前の時刻のロウのうち、最も新しいものを求めます。
    • Method Detail

      • valueOf

        public static TimeOperator valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static TimeOperator[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (TimeOperator c : TimeOperator.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Class TimeSeries.BindType

  • java.lang.Object
    • com.toshiba.mwcloud.gs.TimeSeries.BindType
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static <R> Container.BindType<java.util.Date,R,? extends TimeSeries<R>> of(java.lang.Class<R> rowClass)
      指定のロウオブジェクト型、ならびに、TimeSeriesと結びつく Container.BindTypeを取得します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • of

        public static <R> Container.BindType<java.util.Date,R,? extends TimeSeries<R>> of(java.lang.Class<R> rowClass)
                                                                               throws GSException
        指定のロウオブジェクト型、ならびに、TimeSeriesと結びつく Container.BindTypeを取得します。
        Type Parameters:
        R - ロウオブジェクトの型
        Parameters:
        rowClass - ロウオブジェクトの型に対応するクラスオブジェクト
        Throws:
        GSException - ロウキーの型と、ロウオブジェクトの型との間で不整合を検出した場合
        Since:
        4.3

Interface TimeSeries<R>

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable, Container<java.util.Date,R>


    public interface TimeSeries<R>
    extends Container<java.util.Date,R>
    時刻をロウキーとする、時系列処理に特化したコンテナです。

    一般的に、範囲取得や集計演算といった処理は、Collectionよりも効率的な実装が選択されます。

    ロウ操作については、Collectionと異なり一部制限が設けられています。 TimeSeriesPropertiesに基づき圧縮オプションが設定されている場合、次のロウ操作を行えません。

    • 指定ロウの更新
    • 指定ロウの削除
    • 指定時刻より新しい時刻のロウが存在する場合の、ロウの新規作成

    Container.query(String)GridStore.multiGet(java.util.Map)などより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序はロウキーの時刻を基準としてQueryOrder.ASCENDING 相当の順序に整列されます。

    ロック粒度は、1つ以上のロウ集合をひとまとまりとする内部格納単位となります。したがって、特定ロウについてロックする際、そのロウが属する内部格納単位上の他のロウも同時にロックしようとします。

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface and Description
      static class  TimeSeries.BindType
      TimeSeriesならびにその型パラメータと結びつく Container.BindTypeを構築するための、補助クラスです。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      AggregationResult aggregate(java.util.Date start, java.util.Date end, java.lang.String column, Aggregation aggregation)
      開始・終了時刻指定を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。
      boolean append(R row)
      GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。
      R get(java.util.Date key)
      指定のオプションに従い、ロウキーに対応するロウの内容を取得します。
      R get(java.util.Date base, TimeOperator timeOp)
      指定の時刻を基準として、関係する1つのロウを取得します。
      R interpolate(java.util.Date base, java.lang.String column)
      指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。
      boolean put(java.util.Date key, R row)
      必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。
      Query<R> query(java.util.Date start, java.util.Date end)
      開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。
      Query<R> query(java.util.Date start, java.util.Date end, QueryOrder order)
      開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。
      Query<R> query(java.util.Date start, java.util.Date end, java.util.Set<java.lang.String> columnSet, InterpolationMode mode, int interval, TimeUnit intervalUnit)
      特定範囲のロウ集合をサンプリングするクエリを作成します。
      boolean remove(java.util.Date key)
      指定のロウキーに対応するロウを削除します。
    • Method Detail

      • aggregate

        AggregationResult aggregate(java.util.Date start,
                                  java.util.Date end,
                                  java.lang.String column,
                                  Aggregation aggregation)
                                    throws GSException
        開始・終了時刻指定を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。

        columnは、aggregation次第で無視されることがあります。演算対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。

        Parameters:
        start - 開始時刻
        end - 終了時刻
        column - 集計対象のカラム名。合計演算のように、特定のカラムを対象としない場合はnull
        aggregation - 集計方法
        Returns:
        集計結果が設定された場合、対応するAggregationResult。設定されなかった場合はnull。詳細はAggregationの定義を参照のこと
        Throws:
        GSException - 指定の演算方法で許可されていない型のカラムを指定した場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合
        java.lang.NullPointerException - startendaggregationnullが指定された場合
        See Also:
        Aggregation
      • append

        boolean append(R row)
                       throws GSException
        GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。

        GridDB上の現在時刻に相当するTIMESTAMP値をロウキーとする点を除き、 put(Date, Object)と同様に振る舞います。指定のロウオブジェクト内のロウキーは無視されます。

        圧縮オプションが設定された状態の時系列に対しては、 GridDB上の現在時刻より新しい時刻のロウが存在しない場合のみ使用できます。最も新しい時刻を持つ既存ロウの時刻が現在時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。

        手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。

        Parameters:
        row - 新規作成または更新するロウの内容と対応するロウオブジェクト
        Returns:
        GridDB上の現在時刻と一致するロウが存在したかどうか
        Throws:
        GSException - この時系列について圧縮オプションが設定されており、現在時刻より新しい時刻のロウが存在した場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
        java.lang.ClassCastException - 指定のキーもしくはロウオブジェクトと、マッピング処理で使用される型との間で対応しないものがある場合
        java.lang.NullPointerException - rownullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトの中に、設定されていないものが存在した場合
        See Also:
        put(Date, Object), TimeSeriesProperties.getCompressionMethod()
      • get

        R get(java.util.Date key)
              throws GSException
        指定のオプションに従い、ロウキーに対応するロウの内容を取得します。

        Container.get(Object)と同様です。ただし、ロウキーの型が固定であるため、ClassCastExceptionが送出されることはありません。

        Specified by:
        get in interface Container<java.util.Date,R>
        Returns:
        対応するロウが存在したかどうか
        Throws:
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして設定されていた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        See Also:
        Container.get(Object)
      • get

        R get(java.util.Date base,
            TimeOperator timeOp)
              throws GSException
        指定の時刻を基準として、関係する1つのロウを取得します。
        Parameters:
        base - 基準となる時刻
        timeOp - 取得方法
        Returns:
        条件に一致するロウ。存在しない場合はnull
        Throws:
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値が基準時刻として指定された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • interpolate

        R interpolate(java.util.Date base,
                    java.lang.String column)
                      throws GSException
        指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。

        一致する時系列ロウの指定のカラムの値、もしくは、前後時刻のロウの指定カラムの値を線形補間して得られた値を基にロウオブジェクトを生成します。前後時刻のロウの少なくともいずれか、もしくは、一致するロウが存在しない場合は生成されません。

        補間対象として指定できるカラムの型は、数値型のみです。指定のカラムならびにロウキー以外のフィールドには、指定時刻と同一またはより前の時刻のロウのうち、最も新しい時刻を持つロウのフィールドの値が設定されます。

        Parameters:
        base - 基準となる時刻
        column - 線形補間対象のカラム
        Throws:
        GSException - 対応する名前のカラムが存在しない場合。また、サポートされていない型のカラムが指定された場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値が基準時刻として指定された場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • put

        boolean put(java.util.Date key,
                  R row)
                    throws GSException
        必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。

        keyにより別途ロウキーを指定した場合はその値を、指定しない場合は指定のロウオブジェクト内のロウキーを基にロウを新規作成します。

        圧縮オプションが設定された状態の時系列に対しては、最も新しい時刻を持つ既存ロウより新しい時刻のロウのみを新規作成できます。最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。

        手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。

        Specified by:
        put in interface Container<java.util.Date,R>
        Parameters:
        key - 処理対象のロウキー
        row - 新規作成または更新するロウの内容と対応するロウオブジェクト
        Returns:
        指定のロウキーと一致するロウが存在したかどうか
        Throws:
        GSException - この時系列について圧縮オプションが設定されており、指定時刻より新しい時刻のロウが存在した場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
        java.lang.ClassCastException - 指定のキーもしくはロウオブジェクトと、マッピング処理で使用される型との間で対応しないものがある場合
        java.lang.NullPointerException - rownullが指定された場合。また、ロウフィールドに対応するロウオブジェクト内のオブジェクトの中に、設定されていないものが存在した場合
        See Also:
        Container.put(Object, Object), TimeSeriesProperties.getCompressionMethod()
      • query

        Query<R> query(java.util.Date start,
                     java.util.Date end)
                       throws GSException
        開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。

        取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。要求するロウ集合は昇順、すなわち古い時刻から新しい時刻の順となります。

        Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。

        Parameters:
        start - 開始時刻またはnullnullの場合、この時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなす
        end - 終了時刻またはnullnullの場合、この時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなす
        Throws:
        GSException - 現バージョンでは送出されない
      • query

        Query<R> query(java.util.Date start,
                     java.util.Date end,
                     QueryOrder order)
                       throws GSException
        開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。

        取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。

        Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。

        nullを指定できない引数でnullを指定したことによる NullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。

        Parameters:
        start - 開始時刻またはnullnullの場合、この時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなす
        end - 終了時刻またはnullnullの場合、この時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなす
        order - 取得するロウ集合の時刻順序。nullは指定できない。 QueryOrder.ASCENDINGの場合は古い時刻から新しい時刻の順、 QueryOrder.DESCENDINGの場合は新しい時刻から古い時刻の順となる
        Throws:
        GSException - 現バージョンでは送出されない
      • query

        Query<R> query(java.util.Date start,
                     java.util.Date end,
                     java.util.Set<java.lang.String> columnSet,
                     InterpolationMode mode,
                     int interval,
                     TimeUnit intervalUnit)
                       throws GSException
        特定範囲のロウ集合をサンプリングするクエリを作成します。

        サンプリング対象の時刻は、開始時刻に対し非負整数倍のサンプリング間隔を加えた時刻のうち、終了時刻と同じかそれ以前のもののみです。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。

        作成したクエリを実行すると、各サンプリング位置の時刻と一致するロウが存在する場合は該当ロウの値を、存在しない場合はcolumnSetmode引数の指定に従い補間された値を使用しロウ集合を生成します。個別の補間方法については、InterpolationModeの定義を参照してください。

        補間のために参照する必要のあるロウが存在しない場合、該当するサンプリング時刻のロウは生成されず、該当箇所の数だけ結果件数が減少します。サンプリング間隔をより短く設定すると、補間方法次第では異なるサンプリング時刻であっても同一のロウの内容が使用される可能性が高まります。

        Query.fetch(boolean)を通じてロウ集合を求める際、更新用ロックのオプションを有効にすることはできません。

        現バージョンでは、GSExceptionや、nullを指定できない引数でnullを指定したことによるNullPointerExceptionは送出されません。引数に誤りがあった場合、得られたクエリをフェッチする際に例外が送出されます。

        Parameters:
        start - 開始時刻。nullは指定できない
        end - 終了時刻。nullは指定できない
        columnSet - modeに基づき特定の補間処理を適用するカラムの名前の集合。空集合の場合は適用対象のカラムを何も指定しないことを示す。 nullの場合は空集合を指定した場合と同様
        mode - 補間方法。nullは指定できない
        interval - サンプリング間隔。0および負の値は指定できない
        intervalUnit - サンプリング間隔の時間単位。 TimeUnit.YEARTimeUnit.MONTHは指定できない。また、nullは指定できない
        Throws:
        GSException - 現バージョンでは送出されない
      • remove

        boolean remove(java.util.Date key)
                       throws GSException
        指定のロウキーに対応するロウを削除します。

        ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。

        圧縮オプションが設定された状態の時系列に対しては使用できません。

        手動コミットモードの場合、対象のロウはロックされます。

        Specified by:
        remove in interface Container<java.util.Date,R>
        Returns:
        対応するロウが存在したかどうか
        Throws:
        GSException - ロウキーに対応するカラムが存在しない場合
        GSException - この時系列について圧縮オプションが設定されていた場合
        GSException - この処理またはトランザクションのタイムアウト、このコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、クローズ後に呼び出された場合、またはサポート範囲外の値がキーとして指定された場合
        java.lang.ClassCastException - 指定のロウキーがマッピング処理で使用されるロウキーの型と対応しない場合
        java.lang.NullPointerException - 引数にnullが指定された場合
        See Also:
        Container.remove(Object), TimeSeriesProperties.getCompressionMethod()

Class TimeSeriesProperties

  • java.lang.Object
    • com.toshiba.mwcloud.gs.TimeSeriesProperties
  • All Implemented Interfaces:
    java.lang.Cloneable


    public class TimeSeriesProperties
    extends java.lang.Object
    implements java.lang.Cloneable
    時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。

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

    • Method Summary

      Methods 
      Modifier and Type Method and Description
      TimeSeriesProperties clone()
      このオブジェクトと同一設定のTimeSeriesPropertiesを作成します。
      CompressionMethod getCompressionMethod()
      時系列圧縮方式の種別を取得します。
      java.lang.Double getCompressionRate(java.lang.String column)
      指定のカラムについて、相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率を取得します。
      java.lang.Double getCompressionSpan(java.lang.String column)
      指定のカラムについての、相対誤差あり間引き圧縮で用いられる、値がとりうる範囲の最大値と最小値の差を取得します。
      java.lang.Double getCompressionWidth(java.lang.String column)
      指定のカラムについての、絶対誤差あり間引き圧縮における誤差境界の幅を取得します。
      int getCompressionWindowSize()
      間引き圧縮において連続して間引きされるロウの最大期間を取得します。
      TimeUnit getCompressionWindowSizeUnit()
      間引き圧縮において連続して間引きされるロウの最大期間の単位を取得します。
      int getExpirationDivisionCount()
      期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数を取得します。
      int getRowExpirationTime()
      ロウの有効期限の基準となる経過期間を取得します。
      TimeUnit getRowExpirationTimeUnit()
      ロウの有効期限の基準とする経過期間の単位を取得します。
      java.util.Set<java.lang.String> getSpecifiedColumns()
      追加設定のあるカラムの名前をすべて取得します。
      java.lang.Boolean isCompressionRelative(java.lang.String column)
      指定のカラムについて、誤差あり間引き圧縮の誤差判定基準値が相対値かどうかを返します。
      void setAbsoluteHiCompression(java.lang.String column, double width)
      指定のカラムについて、絶対誤差あり間引き圧縮のパラメータを設定します。
      void setCompressionMethod(CompressionMethod compressionMethod)
      時系列圧縮方式の種別を設定します。
      void setCompressionWindowSize(int compressionWindowSize, TimeUnit compressionWindowSizeUnit)
      間引き圧縮において連続して間引きされるロウの最大期間を設定します。
      void setExpirationDivisionCount(int count)
      有効期間に対する分割数により、期限に到達したロウデータの解放単位を設定します。
      void setRelativeHiCompression(java.lang.String column, double rate, double span)
      指定のカラムについて、相対誤差あり間引き圧縮のパラメータを設定します。
      void setRowExpiration(int elapsedTime, TimeUnit timeUnit)
      ロウの有効期限の基準となる経過期間を設定します。
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TimeSeriesProperties

        public TimeSeriesProperties()
        標準設定のTimeSeriesPropertiesを作成します。
    • Method Detail

      • getCompressionMethod

        public CompressionMethod getCompressionMethod()
        時系列圧縮方式の種別を取得します。
        Returns:
        圧縮方式の種別。nullは返却されない
      • getCompressionRate

        public java.lang.Double getCompressionRate(java.lang.String column)
        指定のカラムについて、相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率を取得します。

        値がとりうる範囲は、getCompressionWidth(String)により取得できます。

        Parameters:
        column - カラム名
        Returns:
        指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
        Throws:
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • getCompressionSpan

        public java.lang.Double getCompressionSpan(java.lang.String column)
        指定のカラムについての、相対誤差あり間引き圧縮で用いられる、値がとりうる範囲の最大値と最小値の差を取得します。
        Parameters:
        column - カラム名
        Returns:
        指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
        Throws:
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • getCompressionWidth

        public java.lang.Double getCompressionWidth(java.lang.String column)
        指定のカラムについての、絶対誤差あり間引き圧縮における誤差境界の幅を取得します。

        誤差境界の幅とは、間引き判定対象の値と間引きした場合に線形補間される値との差として、許容される最大の値です。

        Parameters:
        column - カラム名
        Returns:
        指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
        Throws:
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • getCompressionWindowSize

        public int getCompressionWindowSize()
        間引き圧縮において連続して間引きされるロウの最大期間を取得します。
        Returns:
        最大連続間引き期間。無設定の場合は-1
      • getCompressionWindowSizeUnit

        public TimeUnit getCompressionWindowSizeUnit()
        間引き圧縮において連続して間引きされるロウの最大期間の単位を取得します。
        Returns:
        最大連続間引き期間の単位。無設定の場合はnull
      • getExpirationDivisionCount

        public int getExpirationDivisionCount()
        期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数を取得します。
        Returns:
        有効期間に対する分割数。無設定の場合は-1
        Since:
        2.0
        See Also:
        setExpirationDivisionCount(int)
      • getRowExpirationTime

        public int getRowExpirationTime()
        ロウの有効期限の基準となる経過期間を取得します。
        Returns:
        有効期限の基準となる経過期間。無設定の場合は-1
      • getRowExpirationTimeUnit

        public TimeUnit getRowExpirationTimeUnit()
        ロウの有効期限の基準とする経過期間の単位を取得します。
        Returns:
        有効期限の基準とする経過期間の単位。無設定の場合はnull
      • getSpecifiedColumns

        public java.util.Set<java.lang.String> getSpecifiedColumns()
        追加設定のあるカラムの名前をすべて取得します。

        返却されたオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

        Returns:
        追加設定のあるカラム名の集合
      • isCompressionRelative

        public java.lang.Boolean isCompressionRelative(java.lang.String column)
        指定のカラムについて、誤差あり間引き圧縮の誤差判定基準値が相対値かどうかを返します。
        Parameters:
        column - カラム名
        Returns:
        指定のカラム名に対応する設定がある場合はその設定値、ない場合はnull
        Throws:
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setAbsoluteHiCompression

        public void setAbsoluteHiCompression(java.lang.String column,
                                    double width)
        指定のカラムについて、絶対誤差あり間引き圧縮のパラメータを設定します。

        異なる圧縮方式が設定されていた場合、間引き圧縮設定に変更されます。

        パラメータ設定できるカラムの型、ならびに、カラム数の上限は、 setRelativeHiCompression(String, double, double)と同様です。

        Parameters:
        column - カラム名
        width - getCompressionWidth(String)と対応する誤差境界の幅
        Throws:
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setCompressionMethod

        public void setCompressionMethod(CompressionMethod compressionMethod)
        時系列圧縮方式の種別を設定します。

        異なる圧縮方式に変更した場合、カラム別の設定はすべて解除されます。

        Parameters:
        compressionMethod - 圧縮方式の種別
        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setCompressionWindowSize

        public void setCompressionWindowSize(int compressionWindowSize,
                                    TimeUnit compressionWindowSizeUnit)
        間引き圧縮において連続して間引きされるロウの最大期間を設定します。

        この期間が設定された時系列のロウについて、前方のロウと指定の期間以上時刻が離れていた場合、間引き圧縮として間引き可能な条件を満たしていたとしても、間引かれなくなります。

        時系列圧縮方式としてCompressionMethod.NOが設定されていた場合、この期間の設定は無視されます。

        時系列圧縮方式としてCompressionMethod.HIまたは CompressionMethod.SSが設定されており、この期間について設定されなかった場合、TIMESTAMP型の取りうる値の範囲全体が期間として設定されたとみなされます。

        前方のロウと指定の期間以上時刻が離れておらず、かつ、間引き圧縮として間引き可能な条件を満たしていたとしても、格納先の内部の配置などによっては間引かれない場合があります。

        Parameters:
        compressionWindowSize - 最大連続間引き期間。0 以下の値は指定できない
        compressionWindowSizeUnit - 最大連続間引き期間を表す単位。 TimeUnit.YEARTimeUnit.MONTHは指定できない
        Throws:
        java.lang.IllegalArgumentException - 範囲外のcompressionWindowSizecompressionWindowSizeUnitが指定された場合
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setExpirationDivisionCount

        public void setExpirationDivisionCount(int count)
        有効期間に対する分割数により、期限に到達したロウデータの解放単位を設定します。

        分割数を設定すると、期限に到達したロウデータの管理領域を解放するための条件を制御できます。期限に到達したロウデータが分割数に相当する期間だけ集まった時点で解放しようとします。

        分割数の上限については、GridDBテクニカルリファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。

        ロウの有効期限の基準となる経過期間の設定がない場合、この分割数の設定は無視され無設定となります。一方、ロウの有効期限の基準となる経過期間の設定がある場合にこの分割数の設定を省略すると、作成される時系列にはGridDBクラスタ上のデフォルトの分割数が設定されます。

        Parameters:
        count - 有効期間に対する分割数。0以下の値は指定できない
        Throws:
        java.lang.IllegalArgumentException - 0以下の分割数が指定された場合
        Since:
        2.0
      • setRelativeHiCompression

        public void setRelativeHiCompression(java.lang.String column,
                                    double rate,
                                    double span)
        指定のカラムについて、相対誤差あり間引き圧縮のパラメータを設定します。

        異なる圧縮方式が設定されていた場合、間引き圧縮設定に変更されます。

        ratespanの積は、絶対誤差あり間引き圧縮にて getCompressionWidth(String)により得られる値と等価です。

        パラメータ設定できるカラムの型は、以下のいずれかに限定されます。

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

        Parameters:
        column - カラム名
        rate - spanを基準とした相対誤差境界値。0 以上1以下でなければならない
        span - 対象のカラムの値がとりうる範囲の最大値と最小値の差
        Throws:
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合、また、rateに範囲外の値を指定した場合
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setRowExpiration

        public void setRowExpiration(int elapsedTime,
                            TimeUnit timeUnit)
        ロウの有効期限の基準となる経過期間を設定します。

        ロウの有効期限の時刻は、ロウキーの時刻から指定の経過期間を加算することで求まります。有効期限の時刻がGridDB上の現在時刻よりも古いロウは、有効期限の切れたロウとみなされます。期限切れのロウは、検索や更新といったロウ操作の対象から外れ、存在しないものとみなされます。対応するGridDB上の内部データは、随時削除されます。

        有効期限超過の判定に使用される現在時刻は、GridDBの各ノードの実行環境に依存します。したがって、ネットワークの遅延や実行環境の時刻設定のずれなどにより、このVMの時刻より前に期限切れ前のロウにアクセスできなくなる場合や、このVMの時刻より後に期限切れロウにアクセスできる場合があります。意図しないロウの喪失を避けるために、最低限必要な期間よりも大きな値を設定することを推奨します。

        作成済みの時系列の設定を変更することはできません。

        Parameters:
        elapsedTime - 基準とする経過期間。0以下の値は指定できない
        timeUnit - 経過期間の単位。TimeUnit.YEARTimeUnit.MONTHは指定できない
        Throws:
        java.lang.IllegalArgumentException - 範囲外のelapsedTimetimeUnitが指定された場合
        java.lang.IllegalArgumentException - 制限に反するカラム名が指定されたことを検知できた場合
        java.lang.NullPointerException - 引数にnullが指定された場合

Enum TimeUnit

  • java.lang.Object
    • java.lang.Enum<TimeUnit>
      • com.toshiba.mwcloud.gs.TimeUnit
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<TimeUnit>


    public enum TimeUnit
    extends java.lang.Enum<TimeUnit>
    時系列処理で用いる時間の単位を示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static TimeUnit valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static TimeUnit[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • HOUR

        public static final TimeUnit HOUR
      • MILLISECOND

        public static final TimeUnit MILLISECOND
      • MINUTE

        public static final TimeUnit MINUTE
      • MONTH

        public static final TimeUnit MONTH
      • SECOND

        public static final TimeUnit SECOND
      • YEAR

        public static final TimeUnit YEAR
    • Method Detail

      • valueOf

        public static TimeUnit valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static TimeUnit[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (TimeUnit c : TimeUnit.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Class TimestampUtils

  • java.lang.Object
    • com.toshiba.mwcloud.gs.TimestampUtils


  • public class TimestampUtils
    extends java.lang.Object
    時刻データを操作するためのユーティリティ機能を提供します。

    TQL文の構築や、TQLと同一表記のTIMESTAMP値の処理を補助するために使用できます。

    実行環境のタイムゾーン、ロケール設定には依存しません。

    • Constructor Summary

      Constructors 
      Constructor and Description
      TimestampUtils()
      Deprecated. 
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static java.util.Date add(java.util.Date timestamp, int amount, TimeUnit timeUnit)
      時刻に一定の値を加算します。
      static java.util.Date add(java.util.Date timestamp, int amount, TimeUnit timeUnit, java.util.TimeZone zone)
      指定のタイムゾーン設定を用い、時刻に一定の値を加算します。
      static java.util.Date current()
      現在時刻を求めます。
      static java.util.Calendar currentCalendar()
      現在時刻をCalendarとして求めます。
      static java.lang.String format(java.util.Date timestamp)
      TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。
      static java.lang.String format(java.util.Date timestamp, java.util.TimeZone zone)
      指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。
      static java.text.DateFormat getFormat()
      TQLのTIMESTAMP値表記と対応する、日付フォーマットを取得します。
      static java.text.DateFormat getFormat(java.util.TimeZone zone)
      指定のタイムゾーン設定が適用され、TQLのTIMESTAMP値表記と対応する、日付フォーマットを取得します。
      static java.util.Date parse(java.lang.String source)
      TQLのTIMESTAMP値表記に従い、指定の文字列に対応するDateを求めます。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TimestampUtils

        @Deprecated
        public TimestampUtils()
        Deprecated. 
    • Method Detail

      • add

        public static java.util.Date add(java.util.Date timestamp,
                         int amount,
                         TimeUnit timeUnit)
        時刻に一定の値を加算します。

        amountに負の値を指定することで、指定の時刻より前の時刻を求めることができます。

        現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。

        Parameters:
        timestamp - 対象とする時刻
        amount - 加算する値
        timeUnit - 加算する値の単位
        Returns:
        加算された値
        Throws:
        java.lang.NullPointerException - timestamptimeUnitnullが指定された場合
      • add

        public static java.util.Date add(java.util.Date timestamp,
                         int amount,
                         TimeUnit timeUnit,
                         java.util.TimeZone zone)
        指定のタイムゾーン設定を用い、時刻に一定の値を加算します。

        演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。

        Parameters:
        timestamp - 対象とする時刻
        amount - 加算する値
        timeUnit - 加算する値の単位
        zone - 演算に用いるタイムゾーン設定
        Returns:
        加算された値
        Throws:
        java.lang.NullPointerException - timestamptimeUnitnullが指定された場合
        Since:
        4.3
        See Also:
        add(Date, int, TimeUnit)
      • current

        public static java.util.Date current()
        現在時刻を求めます。
      • currentCalendar

        public static java.util.Calendar currentCalendar()
        現在時刻をCalendarとして求めます。

        現バージョンでは、タイムゾーンは常にUTCに設定されます。

      • format

        public static java.lang.String format(java.util.Date timestamp)
        TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。

        現バージョンでは、変換の際に使用されるタイムゾーンはUTCです。

        Parameters:
        timestamp - 対象とする時刻
        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
      • format

        public static java.lang.String format(java.util.Date timestamp,
                              java.util.TimeZone zone)
        指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。
        Parameters:
        timestamp - 対象とする時刻
        zone - 演算に用いるタイムゾーン設定
        Returns:
        対応する文字列表現
        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        4.3
        See Also:
        format(Date)
      • getFormat

        public static java.text.DateFormat getFormat()
        TQLのTIMESTAMP値表記と対応する、日付フォーマットを取得します。

        現バージョンでは、タイムゾーンは常にUTCに設定されます。

        Returns:
        日付フォーマット

        年の値が負となる時刻は扱えません。

      • getFormat

        public static java.text.DateFormat getFormat(java.util.TimeZone zone)
        指定のタイムゾーン設定が適用され、TQLのTIMESTAMP値表記と対応する、日付フォーマットを取得します。
        Parameters:
        zone - 適用対象のタイムゾーン設定
        Returns:
        日付フォーマット
        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
        Since:
        4.3
      • parse

        public static java.util.Date parse(java.lang.String source)
                                    throws java.text.ParseException
        TQLのTIMESTAMP値表記に従い、指定の文字列に対応するDateを求めます。
        Parameters:
        source - 対象とする時刻の文字列表現
        Returns:
        指定の文字列に対応するDate
        Throws:
        java.text.ParseException - 時刻の文字列表記と一致しない文字列が指定された場合
        java.lang.NullPointerException - 引数にnullが指定された場合

Annotation Type TransientRowField



  • @Retention(value=RUNTIME)
    @Target(value={FIELD,METHOD})
    public @interface TransientRowField
    Containerの処理において、マッピング対象外のロウフィールドであることを宣言します。

Enum TriggerInfo.EventType

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<TriggerInfo.EventType>
    Enclosing class:
    TriggerInfo


    public static enum TriggerInfo.EventType
    extends java.lang.Enum<TriggerInfo.EventType>
    トリガで監視対象とする更新操作種別を表します。
    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      DELETE
      コンテナに対するロウ削除を示します。
      PUT
      コンテナに対するロウ新規作成または更新を示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static TriggerInfo.EventType valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static TriggerInfo.EventType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • DELETE

        public static final TriggerInfo.EventType DELETE
        コンテナに対するロウ削除を示します。
      • PUT

        public static final TriggerInfo.EventType PUT
        コンテナに対するロウ新規作成または更新を示します。
    • Method Detail

      • valueOf

        public static TriggerInfo.EventType valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static TriggerInfo.EventType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (TriggerInfo.EventType c : TriggerInfo.EventType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Enum TriggerInfo.Type

  • java.lang.Object
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<TriggerInfo.Type>
    Enclosing class:
    TriggerInfo


    public static enum TriggerInfo.Type
    extends java.lang.Enum<TriggerInfo.Type>
    トリガの種別を表します。
    • Enum Constant Summary

      Enum Constants 
      Enum Constant and Description
      JMS
      コンテナの更新時にJava Message Service(JMS)で通知するトリガ種別を示します。
      REST
      コンテナの更新時にRESTで通知するトリガ種別を示します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      static TriggerInfo.Type valueOf(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static TriggerInfo.Type[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • JMS

        public static final TriggerInfo.Type JMS
        コンテナの更新時にJava Message Service(JMS)で通知するトリガ種別を示します。
      • REST

        public static final TriggerInfo.Type REST
        コンテナの更新時にRESTで通知するトリガ種別を示します。
    • Method Detail

      • valueOf

        public static TriggerInfo.Type valueOf(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • values

        public static TriggerInfo.Type[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (TriggerInfo.Type c : TriggerInfo.Type.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared

Class TriggerInfo

  • java.lang.Object
    • com.toshiba.mwcloud.gs.TriggerInfo


  • public class TriggerInfo
    extends java.lang.Object
    コンテナの更新を監視するためのトリガ情報を表します。

    トリガ名の表記などの内容の妥当性について、必ずしも検査するとは限りません。

    Since:
    1.5
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      static class  TriggerInfo.EventType
      トリガで監視対象とする更新操作種別を表します。
      static class  TriggerInfo.Type
      トリガの種別を表します。
    • Constructor Summary

      Constructors 
      Constructor and Description
      TriggerInfo()
      トリガ情報を生成します。
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      java.lang.String getJMSDestinationName()
      JMS通知で使用するデスティネーション名を取得します。
      java.lang.String getJMSDestinationType()
      JMS通知で使用するデスティネーション種別を取得します。
      java.lang.String getName()
      トリガ名を取得します。
      java.lang.String getPassword()
      通知先サーバに接続する際のパスワードを取得します。
      java.util.Set<java.lang.String> getTargetColumns()
      トリガ発火時に通知対象とするカラム名を取得します。
      java.util.Set<TriggerInfo.EventType> getTargetEvents()
      トリガ発火対象とする更新操作種別を取得します。
      TriggerInfo.Type getType()
      トリガ種別を取得します。
      java.net.URI getURI()
      トリガ発火時の通知先URIを取得します。
      java.lang.String getUser()
      通知先サーバに接続する際のユーザ名を取得します。
      void setJMSDestinationName(java.lang.String destinationName)
      JMS通知で使用するデスティネーション名を設定します。
      void setJMSDestinationType(java.lang.String destinationType)
      JMS通知で使用するデスティネーション種別を設定します。
      void setName(java.lang.String name)
      トリガ名を設定します。
      void setPassword(java.lang.String password)
      通知先サーバに接続する際のパスワードを設定します。
      void setTargetColumns(java.util.Set<java.lang.String> columnSet)
      トリガ発火時に通知対象とするカラム名を設定します。
      void setTargetEvents(java.util.Set<TriggerInfo.EventType> eventSet)
      トリガ発火対象とする更新操作種別を設定します。
      void setType(TriggerInfo.Type type)
      トリガ種別を設定します。
      void setURI(java.net.URI uri)
      トリガ発火時の通知先URIを設定します。
      void setUser(java.lang.String user)
      通知先サーバに接続する際のユーザ名を設定します。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TriggerInfo

        public TriggerInfo()
        トリガ情報を生成します。
    • Method Detail

      • getJMSDestinationName

        public java.lang.String getJMSDestinationName()
        JMS通知で使用するデスティネーション名を取得します。
      • getJMSDestinationType

        public java.lang.String getJMSDestinationType()
        JMS通知で使用するデスティネーション種別を取得します。
      • getName

        public java.lang.String getName()
        トリガ名を取得します。
      • getPassword

        public java.lang.String getPassword()
        通知先サーバに接続する際のパスワードを取得します。

        現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。

      • getTargetColumns

        public java.util.Set<java.lang.String> getTargetColumns()
        トリガ発火時に通知対象とするカラム名を取得します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

      • getTargetEvents

        public java.util.Set<TriggerInfo.EventType> getTargetEvents()
        トリガ発火対象とする更新操作種別を取得します。

        返却された値に対して変更操作を行った場合、 UnsupportedOperationExceptionが発生することがあります。また、このオブジェクトに対する操作により、返却されたオブジェクトの内容が変化することはありません。

      • getType

        public TriggerInfo.Type getType()
        トリガ種別を取得します。
      • getURI

        public java.net.URI getURI()
        トリガ発火時の通知先URIを取得します。
      • getUser

        public java.lang.String getUser()
        通知先サーバに接続する際のユーザ名を取得します。

        現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。

      • setJMSDestinationName

        public void setJMSDestinationName(java.lang.String destinationName)
        JMS通知で使用するデスティネーション名を設定します。

        nullが指定された場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。

      • setJMSDestinationType

        public void setJMSDestinationType(java.lang.String destinationType)
        JMS通知で使用するデスティネーション種別を設定します。

        "queue"または"topic"が指定できます。 ASCIIの大文字・小文字表記の違いは区別されます。

        "queue"または"topic"以外が指定された場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。

      • setName

        public void setName(java.lang.String name)
        トリガ名を設定します。

        空文字列・nullが設定された場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。

      • setPassword

        public void setPassword(java.lang.String password)
        通知先サーバに接続する際のパスワードを設定します。

        現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。

        設定がない、または空文字列・nullが設定された場合、空文字列をパスワードとして使用し接続します。

        ユーザ名・パスワードとも設定がない、または空文字列・nullが設定された場合、ユーザ名・パスワードを使用せずに接続します。

      • setTargetColumns

        public void setTargetColumns(java.util.Set<java.lang.String> columnSet)
        トリガ発火時に通知対象とするカラム名を設定します。

        通知対象のカラムを特定する際、ASCIIの大文字・小文字表記の違いは区別されません。同一のカラムを指す複数のカラム名を含めても、そのカラムの値は通知には一度しか設定されません。

        カラム名の指定がない場合、通知にはいずれのカラムの値も設定されません。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setTargetEvents

        public void setTargetEvents(java.util.Set<TriggerInfo.EventType> eventSet)
        トリガ発火対象とする更新操作種別を設定します。

        複数の更新操作を設定した場合は、そのいずれかが行われた場合にトリガが発火します。

        更新操作の設定がない場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。

        指定したオブジェクトの内容を呼び出し後に変更したとしても、このオブジェクトの内容は変化しません。

        Throws:
        java.lang.NullPointerException - 引数にnullが指定された場合
      • setURI

        public void setURI(java.net.URI uri)
        トリガ発火時の通知先URIを設定します。

        nullが設定された場合、 Container.createTrigger(TriggerInfo)の実行時にエラーとなります。

      • setUser

        public void setUser(java.lang.String user)
        通知先サーバに接続する際のユーザ名を設定します。

        現バージョンでは、JMS通知でJMSサーバへ接続する場合にのみ使用されます。

        設定がない、または空文字列・nullが設定された場合、空文字列をユーザ名として使用し接続します。

        ユーザ名・パスワードとも設定がない、または空文字列・null が設定された場合、ユーザ名・パスワードを使用せずに接続します。

Serialized Form

  • Package com.toshiba.mwcloud.gs

    • Class com.toshiba.mwcloud.gs.GSException extends java.io.IOException implements Serializable

      serialVersionUID:
      -7261622831192521426L
      • Serialized Fields

        • errorCode

          int errorCode
        • errorName

          java.lang.String errorName
        • description

          java.lang.String description
        • parameters

          java.util.Map<K,V> parameters
    • Class com.toshiba.mwcloud.gs.GSRecoverableException extends GSException implements Serializable

      serialVersionUID:
      1241771194878438360L
    • Class com.toshiba.mwcloud.gs.GSTimeoutException extends GSException implements Serializable

      serialVersionUID:
      -2321647495394140580L

1.2 APIサンプル

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

package test;


import java.util.Arrays;
import java.util.Properties;

import com.toshiba.mwcloud.gs.Collection;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;


// コレクションデータの操作
public class Sample1 {

	static class Person {
		@RowKey String name;
		boolean status;
		long count;
		byte[] lob;
	}

	public static void main(String[] args) throws GSException {

		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);

		// コレクションの作成
		Collection<String, Person> col = store.putCollection("col01", Person.class);

		// カラムに索引を設定
		col.createIndex("count");

		// 自動コミットモードをオフ
		col.setAutoCommit(false);

		// Rowのデータを用意
		Person person = new Person();
		person.name = "name01";
		person.status = false;
		person.count = 1;
		person.lob = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };

		// KV形式でRowを操作: RowKeyは"name01"
		boolean update = true;
		col.put(person);	// 登録
		person = col.get(person.name, update);	// 取得(更新用にロック)
		col.remove(person.name);	// 削除

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

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

		// コレクション内のRowを検索
		Query<Person> query = col.query("select * where name = 'name02'");

		// 検索したRowの取得と更新
		RowSet<Person> rs = query.fetch(update);
		while (rs.hasNext()) {
			// 検索したRowの更新
			Person person1 = rs.next();
			person1.count += 1;
			rs.update(person1);

			System.out.println("Person:" +
					" name=" + person1.name +
					" status=" + person1.status +
					" count=" + person1.count +
					" lob=" + Arrays.toString(person1.lob));
		}

		// トランザクションの確定
		col.commit();

		// リソースの解放
		store.close();
	}

}

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

package test;


import java.util.Date;
import java.util.Properties;

import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;
import com.toshiba.mwcloud.gs.TimeSeries;
import com.toshiba.mwcloud.gs.TimestampUtils;
import com.toshiba.mwcloud.gs.TimeUnit;


// 時系列データの登録と範囲取得
public class Sample2 {

	static class Point {
		@RowKey Date timestamp;
		boolean active;
		double voltage;
	}

	public static void main(String[] args) throws GSException {

		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);

		// 時系列の作成 (既存の場合は取得のみ)
		TimeSeries<Point> ts = store.putTimeSeries("point01", Point.class);

		// 時系列要素のデータを用意
		Point point = new Point();
		point.active = false;
		point.voltage = 100;

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

		// 指定区間の時系列の取得: 6時間前から直近まで
		Date now = TimestampUtils.current();
		Date before = TimestampUtils.add(now, -6, TimeUnit.HOUR);

		RowSet<Point> rs = ts.query(before, now).fetch();

		while (rs.hasNext()) {
			point = rs.next();

			System.out.println(
					"Time=" + TimestampUtils.format(point.timestamp) +
					" Active=" + point.active +
					" Voltage=" + point.voltage);
		}

		// リソースの解放
		store.close();
	}

}

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

package test;


import java.util.Date;
import java.util.Properties;

import com.toshiba.mwcloud.gs.Aggregation;
import com.toshiba.mwcloud.gs.AggregationResult;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.RowKey;
import com.toshiba.mwcloud.gs.RowSet;
import com.toshiba.mwcloud.gs.TimeOperator;
import com.toshiba.mwcloud.gs.TimeSeries;
import com.toshiba.mwcloud.gs.TimestampUtils;
import com.toshiba.mwcloud.gs.TimeUnit;


// 時系列データの検索と集計
public class Sample3 {

	static class Point {
		@RowKey Date timestamp;
		boolean active;
		double voltage;
	}

	public static void main(String[] args) throws GSException {

		// 読み取りのみなので、一貫性レベルを緩和(デフォルトはIMMEDIATE)
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		props.setProperty("consistency", "EVENTUAL");

		// GridStoreインスタンスの取得
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);

		// 時系列の取得
		// ※Sample2と同じPointクラスを使用
		TimeSeries<Point> ts = store.getTimeSeries("point01", Point.class);

		// 停止中にもかかわらず電圧が基準値以上の箇所を検索
		Query<Point> query = ts.query(
				"select * from point01" +
				" where not active and voltage > 50");
		RowSet<Point> rs = query.fetch();

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

			Point hotPoint = rs.next();
			Date hot = hotPoint.timestamp;

			// 10分前付近のデータを取得
			Date start = TimestampUtils.add(hot, -10, TimeUnit.MINUTE);
			Point startPoint = ts.get(start, TimeOperator.NEXT);

			// 前後10分間の平均値を計算
			Date end = TimestampUtils.add(hot, 10, TimeUnit.MINUTE);
			AggregationResult avg = ts.aggregate(
					start, end, "voltage", Aggregation.AVERAGE);

			System.out.println(
					"[Alert] " + TimestampUtils.format(hot) +
					" start=" + startPoint.voltage +
					" hot=" + hotPoint.voltage +
					" avg=" + avg.getDouble());
		}

		// リソースの解放
		store.close();
	}

}

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

package test;


import java.util.Arrays;
import java.util.Properties;

import com.toshiba.mwcloud.gs.ColumnInfo;
import com.toshiba.mwcloud.gs.Container;
import com.toshiba.mwcloud.gs.ContainerInfo;
import com.toshiba.mwcloud.gs.ContainerType;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GSType;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.Row;
import com.toshiba.mwcloud.gs.RowSet;


// コンテナ情報を用いてスキーマ定義
public class Sample4 {

	public static void main(String[] args) throws GSException {

		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);

		// コンテナ情報を作成
		ContainerInfo info = new ContainerInfo();
		info.setType(ContainerType.COLLECTION);
		info.setName("col01");
		info.setColumnInfoList(Arrays.asList(
				new ColumnInfo("name", GSType.STRING),
				new ColumnInfo("status", GSType.BOOL),
				new ColumnInfo("count", GSType.LONG),
				new ColumnInfo("lob", GSType.BYTE_ARRAY)));
		info.setRowKeyAssigned(true);

		// コレクションの作成
		Container<String, Row> container = store.putContainer(null, info, false);

		// カラムに索引を設定
		container.createIndex("count");

		// 自動コミットモードをオフ
		container.setAutoCommit(false);

		// Rowのデータを用意
		Row row;
		{
			String name = "name01";
			boolean status = false;
			long count = 1;
			byte[] lob = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };

			row = container.createRow();
			row.setString(0, name);
			row.setBool(1, status);
			row.setLong(2, count);
			row.setByteArray(3, lob);
		}

		// KV形式でRowを操作: RowKeyは"name01"
		boolean update = true;
		container.put(row);	// 登録
		row = container.get("name01", update);	// 取得(更新用にロック)
		container.remove("name01");	// 削除

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

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

		// コレクション内のRowを検索
		Query<Row> query = container.query("select * where name = 'name02'");

		// 検索したRowの取得と更新
		RowSet<Row> rs = query.fetch(update);
		while (rs.hasNext()) {
			// 検索したRowの更新
			row = rs.next();

			String name = row.getString(0);
			boolean status = row.getBool(1);
			long count = row.getLong(2);
			byte[] lob = row.getByteArray(3);
			count += 1;
			rs.update(row);

			System.out.println("Person:" +
					" name=" + name +
					" status=" + status +
					" count=" + count +
					" lob=" + Arrays.toString(lob));
		}

		// トランザクションの確定
		container.commit();

		// リソースの解放
		store.close();
	}

}

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

package test;


import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;

import com.toshiba.mwcloud.gs.ColumnInfo;
import com.toshiba.mwcloud.gs.Container;
import com.toshiba.mwcloud.gs.ContainerInfo;
import com.toshiba.mwcloud.gs.ContainerType;
import com.toshiba.mwcloud.gs.GSException;
import com.toshiba.mwcloud.gs.GSType;
import com.toshiba.mwcloud.gs.GridStore;
import com.toshiba.mwcloud.gs.GridStoreFactory;
import com.toshiba.mwcloud.gs.Query;
import com.toshiba.mwcloud.gs.Row;
import com.toshiba.mwcloud.gs.RowKeyPredicate;
import com.toshiba.mwcloud.gs.RowSet;


// 複数コンテナ一括操作
public class Sample5 {

	public static void main(String[] args) throws GSException {
		final List<String> containerNameList = Arrays.asList(
				"col01", "col02", "col03", "col04", "col05");
		final List<String> keyList = Arrays.asList(
				"name01", "name02");

		// GridStoreインスタンスの取得
		Properties props = new Properties();
		props.setProperty("notificationAddress", args[0]);
		props.setProperty("notificationPort", args[1]);
		props.setProperty("clusterName", args[2]);
		props.setProperty("user", args[3]);
		props.setProperty("password", args[4]);
		GridStore store = GridStoreFactory.getInstance().getGridStore(props);

		// コンテナ情報を作成
		ContainerInfo info = new ContainerInfo();
		info.setType(ContainerType.COLLECTION);
		info.setColumnInfoList(Arrays.asList(
				new ColumnInfo("name", GSType.STRING),
				new ColumnInfo("status", GSType.BOOL),
				new ColumnInfo("count", GSType.LONG),
				new ColumnInfo("lob", GSType.BYTE_ARRAY)));
		info.setRowKeyAssigned(true);

		// コレクションの作成
		List<Container<String, Row>> containerList =
				new ArrayList<Container<String, Row>>();
		for (String containerName : containerNameList) {
			Container<String, Row> container =
					store.putContainer(containerName, info, false);
			containerList.add(container);
		}

		// 複数コレクションのRowを一括登録
		{
			boolean status = false;
			long count = 1;
			byte[] lob = new byte[] { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 };

			Map<String, List<Row>> inMap = new HashMap<String, List<Row>>();
			for (String containerName : containerNameList) {
				List<Row> rowList = new ArrayList<Row>();
				for (String key : keyList) {
					Row row = store.createRow(info);
					row.setString(0, key);
					row.setBool(1, status);
					row.setLong(2, count);
					row.setByteArray(3, lob);
					count++;

					rowList.add(row);
				}
				inMap.put(containerName, rowList);
			}
			store.multiPut(inMap);
		}

		// 複数コレクションのRowを一括取得
		{
			// 取得条件を構築
			Map<String, RowKeyPredicate<String>> predMap =
					new HashMap<String, RowKeyPredicate<String>>();
			for (String containerName : containerNameList) {
				RowKeyPredicate<String> predicate =
						RowKeyPredicate.create(String.class);
				for (String key : keyList) {
					predicate.add(key);
				}
				predMap.put(containerName, predicate);
			}

			Map<String, List<Row>> outMap = store.multiGet(predMap);

			// 取得結果を出力
			for (Map.Entry<String, List<Row>> entry : outMap.entrySet()) {
				for (Row row : entry.getValue()) {
					String name = row.getString(0);
					long count = row.getLong(2);

					System.out.println("Person[" + entry.getKey() + "]:" +
							" name=" + name +
							" count=" + count);
				}
			}
		}

		// 複数コレクションのRowを一括検索(クエリ使用)
		{
			List<Query<Row>> queryList = new ArrayList<Query<Row>>();
			for (Container<String, Row> container : containerList) {
				String tql = "select * where count >= 0";
				queryList.add(container.query(tql));
			}

			store.fetchAll(queryList);

			for (int i = 0; i < queryList.size(); i++) {
				Query<Row> query = queryList.get(i);
				RowSet<Row> rs = query.getRowSet();
				while (rs.hasNext()) {
					Row row = rs.next();

					String name = row.getString(0);
					boolean status = row.getBool(1);
					long count = row.getLong(2);
					byte[] lob = row.getByteArray(3);

					System.out.println("Person[" + i + "]:" +
							" name=" + name +
							" status=" + status +
							" count=" + count +
							" lob=" + Arrays.toString(lob));
				}
			}
		}

		// リソースの解放
		store.close();
	}

}

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 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • その他製品名は、それぞれの所有者の商標または登録商標です。

    Copyright (c) 2013-2019 Toshiba Digital Solutions Corporation