Interface IFastPath


public interface IFastPath
An internal api for VTIs to allow VTI's written in terms of the datatype system, e.g. returning rows. This allows passing of data from the VTI into the query engine without a conversion through a JDBC ResultSet.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Indicates nextRow() found a row..
    static final int
    Indicates nextRow() has completed its scan but executeQuery must be called to complete the query.
    static final int
    Indicates nextRow() has completed its scan.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    A call from the VTI execution layer back into the supplied VTI.
    boolean
    Start a query.
    int
    When operating in fast path mode return the next row into the passed in row parameter.
    void
    Called once the ResultSet returned by executeQuery() has emptied all of its rows (next() has returned false).
  • Field Details

    • SCAN_COMPLETED

      static final int SCAN_COMPLETED
      Indicates nextRow() has completed its scan.
      See Also:
    • GOT_ROW

      static final int GOT_ROW
      Indicates nextRow() found a row..
      See Also:
    • NEED_RS

      static final int NEED_RS
      Indicates nextRow() has completed its scan but executeQuery must be called to complete the query.
      See Also:
  • Method Details

    • executeAsFastPath

      boolean executeAsFastPath() throws StandardException, SQLException
      Start a query. Returns true if the VTI will start out as a fast path query and thus rows will be returned by nextRow(). Returns false if the engine must call the VTI's PreparedStatement.executeQuery() method to execute as a regular ResultSet VTI.
      Throws:
      StandardException
      SQLException
    • nextRow

      When operating in fast path mode return the next row into the passed in row parameter. Returns GOT_ROW if a valid row is found. Returns SCAN_COMPLETED if the scan is complete. Returns NEED_RS if the rest of the query must be handled as a regular ResultSet VTI by the engine calling the VTI's PreparedStatement.executeQuery()
      Throws:
      StandardException
      SQLException
    • currentRow

      void currentRow(ResultSet rs, DataValueDescriptor[] row) throws StandardException, SQLException
      A call from the VTI execution layer back into the supplied VTI. Presents the row just processed as an array of DataValueDescriptors. This only called when the VTI is being executed as a regular ResultSet VTI
      Throws:
      StandardException
      SQLException
    • rowsDone

      void rowsDone() throws StandardException, SQLException
      Called once the ResultSet returned by executeQuery() has emptied all of its rows (next() has returned false).
      Throws:
      StandardException
      SQLException