Interface PreparedQuery


public interface PreparedQuery
A query that has been prepared against a table. Prepared queries can be executed multiple times with different arguments.
Since:
7.2
  • Method Summary

    Modifier and Type
    Method
    Description
    Factory for argument tuples for this prepared query.
    void
    Run the query against a given set of arguments, and pass the results to consumer
    void
    Execute the query
    boolean
    whether it is safe to share this prepared query object with multiple threads which can execute it on different table instances Note that the tables MUST have the same definition
  • Method Details

    • createArgumentTuple

      CompiledTuple createArgumentTuple()
      Factory for argument tuples for this prepared query.
      Returns:
      a tuple suitable for populating values and passing to execute.
    • execute

      void execute(CompiledTuple args, RowConsumer consumer) throws StreamBaseException
      Run the query against a given set of arguments, and pass the results to consumer
      Parameters:
      args - Tuple of arguments for this prepared query. This tuple must come from createArgumentTuple()
      consumer - A RowConsumer that will be passed each row in the results of the query one by one
      Throws:
      StreamBaseException - If the query does not run properly, or if the consumer throws an exception
    • execute

      void execute(CompiledTuple args, TableAccessor table, RowConsumer consumer) throws StreamBaseException
      Execute the query
      Parameters:
      args - Prepared query arguments. Must have been created using createArgumentTuple()
      table - Table accessor
      consumer - RowConsumer that will be passed each row in the result set
      Throws:
      StreamBaseException - Error executing query, or consume reports an error
    • isShareable

      boolean isShareable()
      whether it is safe to share this prepared query object with multiple threads which can execute it on different table instances Note that the tables MUST have the same definition
      Returns:
      where it's safe to share this prepared query