インターフェース ReactiveResultSet


public interface ReactiveResultSet
クエリのリアクティブ結果。

ReactiveResultSet の行の取得は、通常、ページングされます (結果の最初のページがフェッチされ、最初のページの結果がすべて消費された後にのみ次のページがフェッチされます)。ページのサイズは、グローバルに、または Statement.setPageSize(int) を使用してステートメントごとに構成できます。

ただし、この ReactiveResultSet ページングは、ネイティブプロトコルのバージョン 1 (つまり、Cassandra 1.2 の場合、またはバージョン 1 が明示的にリクエストされている場合) では利用できないことに注意してください。プロトコルバージョン 1 が使用されている場合、ReactiveResultSet は常に完全にフェッチされ、クエリによってメモリに保持されない ReactiveResultSet が生成されないようにするのはクライアントの責任です。

このクラスはスレッドセーフではないことに注意してください。

導入:
2.0
作成者:
Mark Paluch
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    reactor.core.publisher.Flux<com.datastax.oss.driver.api.core.cql.Row>
    結果セットチャンクに含まれる行に対して Flux を返します。
    ListSE<com.datastax.oss.driver.api.core.cql.ExecutionInfo>
    この ReactiveResultSet を取得するために行われたすべてのクエリの実行情報を返します。
    com.datastax.oss.driver.api.core.cql.ColumnDefinitions
    この ReactiveResultSet で返される列を返します。
    com.datastax.oss.driver.api.core.cql.ExecutionInfo
    この ReactiveResultSet に対して行われた最後のクエリの実行に関する情報を返します。
    reactor.core.publisher.Flux<com.datastax.oss.driver.api.core.cql.Row>
    透過的なページングを適用して、この結果セットに含まれる行に対して Flux を返します。
    boolean
    この ResultSet を生成したクエリが条件付き更新だった場合、それが正常に適用されたかどうかを返します。
  • メソッドの詳細

    • rows

      reactor.core.publisher.Flux<com.datastax.oss.driver.api.core.cql.Row> rows()
      透過的なページングを適用して、この結果セットに含まれる行に対して Flux を返します。

      Flux は、リアクティブ要求に応じてこの ReactiveResultSet 内のすべてのレコードをストリームし、現在の paging stateSE を適用した基礎となるクエリを発行して次の結果チャンクを取得します。

      戻り値:
      結果全体のすべての rows にストリームされる行の Flux
    • availableRows

      reactor.core.publisher.Flux<com.datastax.oss.driver.api.core.cql.Row> availableRows()
      この結果セットチャンクに含まれる行に対して Flux を返します。このメソッドは透過的なページングを適用しません。次の結果チャンクを取得するには、getExecutionInfo() から paging stateSE を使用して後続のクエリを発行します。
      戻り値:
      この ReactiveResultSet 内のすべての rows にストリーミングされる行の Flux
      導入:
      2.1
    • getColumnDefinitions

      com.datastax.oss.driver.api.core.cql.ColumnDefinitions getColumnDefinitions()
      この ReactiveResultSet で返される列を返します。
      戻り値:
      この ReactiveResultSet で返される列。
    • wasApplied

      boolean wasApplied()
      この ResultSet を生成したクエリが条件付き更新だった場合、それが正常に適用されたかどうかを返します。

      一貫性を保つために、このメソッドは条件なしのクエリに対しては常に true を返します (ただし、その場合はメソッドを呼び出す理由はありません)。これは条件付き DDL ステートメント (CREATE KEYSPACE... IF NOT EXISTSCREATE TABLE... IF NOT EXISTS) の場合にも当てはまり、Cassandra は [applied] 列を返しません。

      2.0.9 および 2.1.0-rc2 より厳密に低いバージョンの Cassandra の場合、サーバー側のバグ (CASSANDRA-7337) により、このメソッドは条件付きクエリを含むバッチに対して常に true を返すことに注意してください。

      戻り値:
      クエリが条件付き更新だった場合、それが適用されたかどうか。他の種類のクエリの場合は true
      関連事項:
    • getExecutionInfo

      com.datastax.oss.driver.api.core.cql.ExecutionInfo getExecutionInfo()
      この ReactiveResultSet に対して行われた最後のクエリの実行に関する情報を返します。

      ほとんどの場合、結果セットは 1 つのクエリだけで取得されますが、大きな結果セットはページングされ、複数のクエリで取得される可能性があることに注意してください。その場合、このメソッドは最後に実行されたクエリの ExecutionInfo を返します。すべてのクエリの情報を取得するには、getAllExecutionInfo() を使用します。

      返されるオブジェクトには、クエリされたホストなどの基本情報が含まれますが、クエリのトレースが有効になっている場合は Cassandra クエリトレースも含まれます。

      戻り値:
      この ReactiveResultSet に対して行われた最後のクエリの ExecutionInfo
    • getAllExecutionInfo

      ListSE<com.datastax.oss.driver.api.core.cql.ExecutionInfo> getAllExecutionInfo()
      この ReactiveResultSet を取得するために行われたすべてのクエリの実行情報を返します。

      結果セットがページングできるほど大きくない場合、返されるリストはシングルトンになります。ただし、ページングが使用されている場合、返されるリストには、この結果セットを取得するために実行されたすべてのクエリ (呼び出し時) の ExecutionInfo オブジェクトが、クエリが行われた順序で含まれます。

      戻り値:
      この ReactiveResultSet に対して行われたすべてのクエリの ExecutionInfo のリスト。