Module org.firebirdsql.jaybird
Package org.firebirdsql.jdbc

# Interface FirebirdCallableStatement

All Superinterfaces:
  `AutoCloseable`, `CallableStatement`, `FirebirdPreparedStatement`, `FirebirdStatement`, `PreparedStatement`, `Statement`, `Wrapper`

All Known Implementing Classes:
  `FBCallableStatement`

public interface FirebirdCallableStatement extends FirebirdPreparedStatement, CallableStatement
Firebird extension to the `CallableStatement` interface.

Author:
  Roman Rokytskyy

- ## Field Summary

  ### Fields inherited from interface org.firebirdsql.jdbc.FirebirdPreparedStatement

  `TYPE_COMMIT, TYPE_DDL, TYPE_DELETE, TYPE_EXEC_PROCEDURE, TYPE_GET_SEGMENT, TYPE_INSERT, TYPE_PUT_SEGMENT, TYPE_ROLLBACK, TYPE_SAVEPOINT, TYPE_SELECT, TYPE_SELECT_FOR_UPDATE, TYPE_SET_GENERATOR, TYPE_START_TRANS, TYPE_UPDATE`

  ### Fields inherited from interface java.sql.Statement

  `CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isSelectableProcedure()`
  Retrieve if this callable statement has been marked as selectable.
  `void`
  `setSelectableProcedure(boolean selectable)`
  Mark this callable statement as a call of the selectable procedure.

  ### Methods inherited from interface java.sql.CallableStatement

  `getArray, getArray, getBigDecimal, getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getDate, getDate, getDate, getDate, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setURL, wasNull`

  ### Methods inherited from interface org.firebirdsql.jdbc.FirebirdPreparedStatement

  `getStatementType`

  ### Methods inherited from interface org.firebirdsql.jdbc.FirebirdStatement

  `getCurrentResultSet, getDeletedRowsCount, getExecutionPlan, getExplainedExecutionPlan, getInsertedRowsCount, getLastExecutionPlan, getLastExplainedExecutionPlan, getLocalStatementId, getUpdatedRowsCount, hasOpenResultSet, isValid`

  ### Methods inherited from interface java.sql.PreparedStatement

  `addBatch, clearParameters, execute, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

  ### Methods inherited from interface java.sql.Statement

  `addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

  ### Methods inherited from interface java.sql.Wrapper

  `isWrapperFor, unwrap`

- ## Method Details

  - ### setSelectableProcedure

    void setSelectableProcedure(boolean selectable)
    Mark this callable statement as a call of the selectable procedure. By default, callable statement uses "EXECUTE PROCEDURE" SQL statement to invoke stored procedures that return single row of output parameters or a result set. In former case it retrieves only the first row of the result set.
    Parameters:
      `selectable` - `true` if the called procedure is selectable.
    See Also:
      - `isSelectableProcedure()`

  - ### isSelectableProcedure

    boolean isSelectableProcedure()
    Retrieve if this callable statement has been marked as selectable.

    Starting from Firebird 2.1, this value is set automatically from metadata stored in the database. Prior to Firebird 2.1, it must be set manually.

    Returns:
      `true` if the called procedure is selectable, false otherwise
    See Also:
      - `setSelectableProcedure(boolean)`