Package org.firebirdsql.jdbc

## Class FBCallableStatement

- java.lang.Object
- - org.firebirdsql.jdbc.FBStatement
  - - org.firebirdsql.jdbc.AbstractPreparedStatement
    - - org.firebirdsql.jdbc.FBPreparedStatement
      - - org.firebirdsql.jdbc.AbstractCallableStatement
        - - org.firebirdsql.jdbc.FBCallableStatement

- All Implemented Interfaces:
    `java.lang.AutoCloseable`, `java.sql.CallableStatement`, `java.sql.PreparedStatement`, `java.sql.Statement`, `java.sql.Wrapper`, `FirebirdCallableStatement`, `FirebirdPreparedStatement`, `FirebirdStatement`, `Synchronizable`

      public class FBCallableStatement
      extends AbstractCallableStatement

  JDBC 4.2 implementation of `PreparedStatement` interface.

  Contains methods specific to the JDBC 4.2 implementation, or exists if there are methods in higher JDBC versions that cannot be defined in JDBC 4.2.

  Author:
    David Jencks, Roman Rokytskyy, Steven Jardine, Mark Rotteveel

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.firebirdsql.jdbc.FBStatement

      `FBStatement.StatementResult`

  - ### Field Summary

    - ### Fields inherited from class org.firebirdsql.jdbc.AbstractCallableStatement

      `procedureCall, selectableProcedure`

    - ### Fields inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement

      `batchList, METHOD_NOT_SUPPORTED`

    - ### Fields inherited from class org.firebirdsql.jdbc.FBStatement

      `completed, connection, currentStatementResult, fbStatement, fetchSize, firstWarning, gdsHelper, isSingletonResult, jdbcVersionSupport, maxRows, specialResult, statementListener`

    - ### 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_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`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `FBCallableStatement​(GDSHelper c, java.lang.String sql, int rsType, int rsConcurrency, int rsHoldability, StoredProcedureMetaData storedProcMetaData, FBObjectListener.StatementListener statementListener, FBObjectListener.BlobListener blobListener)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `registerOutParameter​(int parameterIndex, java.sql.SQLType sqlType)`
    `void` | `registerOutParameter​(int parameterIndex, java.sql.SQLType sqlType, int scale)`
    `void` | `registerOutParameter​(int parameterIndex, java.sql.SQLType sqlType, java.lang.String typeName)`
    `void` | `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType)`
    `void` | `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, int scale)`
    `void` | `registerOutParameter​(java.lang.String parameterName, java.sql.SQLType sqlType, java.lang.String typeName)`

    - ### Methods inherited from class org.firebirdsql.jdbc.AbstractCallableStatement

      `addBatch, assertHasData, createSpecialResultSet, execute, executeBatchInternal, executeQuery, executeUpdate, findOutParameter, getAndAssertSingletonResultSet, getArray, getArray, getBigDecimal, getBigDecimal, getBigDecimal, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getCurrentResultSet, getDate, getDate, getDate, getDate, getDouble, getDouble, getFloat, getFloat, getGeneratedKeys, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getParameterMetaData, getRef, getRef, getResultSet, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getURL, getURL, internalExecute, isSelectableProcedure, prepareFixedStatement, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setDate, setDate, setDate, setDate, setDouble, setDouble, setFloat, setFloat, setInt, setInt, setLong, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setRequiredTypes, setRowId, setSelectableProcedure, setShort, setShort, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setURL, wasNull`

    - ### Methods inherited from class org.firebirdsql.jdbc.FBPreparedStatement

      `setObject, setObject`

    - ### Methods inherited from class org.firebirdsql.jdbc.AbstractPreparedStatement

      `addBatch, clearBatch, clearParameters, completeStatement, execute, execute, execute, execute, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getExecutionPlan, getExplainedExecutionPlan, getField, getFirebirdParameterMetaData, getParameterDescriptor, getStatementType, isGeneratedKeyQuery, notifyStatementCompleted, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setRef, setRowId, setSQLXML, setStringForced, setUnicodeStream, setURL`

    - ### Methods inherited from class org.firebirdsql.jdbc.FBStatement

      `addWarning, cancel, checkValidity, clearWarnings, close, closeOnCompletion, completeStatement, createStatementListener, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, equals, executeBatch, executeImpl, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, finalize, forgetResultSet, getConnection, getDeletedRowsCount, getFetchDirection, getFetchSize, getInsertedRowsCount, getLargeMaxRows, getLargeUpdateCount, getLastExecutionPlan, getLastExplainedExecutionPlan, getLocalStatementId, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSynchronizationObject, getUpdateCount, getUpdatedRowsCount, getWarnings, hashCode, hasOpenResultSet, internalExecute, isClosed, isCloseOnCompletion, isExecuteProcedureStatement, isPoolable, isSimpleIdentifier, isValid, isWrapperFor, nativeSQL, notifyStatementCompleted, notifyStatementStarted, notifyStatementStarted, requireStatement, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, toArray, toLargeArray, unwrap`

    - ### Methods inherited from class java.lang.Object

      `clone, getClass, notify, notifyAll, toString, wait, wait, wait`

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

      `setObject, setObject`

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

      `getExecutionPlan, getExplainedExecutionPlan, getStatementType`

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

      `getDeletedRowsCount, getInsertedRowsCount, getLastExecutionPlan, getLastExplainedExecutionPlan, getLocalStatementId, getUpdatedRowsCount, hasOpenResultSet, isValid`

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

      `clearParameters, executeLargeUpdate, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setObject, setObject, setRef, setRowId, setSQLXML, 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, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, 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`

- - ### Constructor Detail

    - #### FBCallableStatement

          protected FBCallableStatement​(GDSHelper c,
                                        java.lang.String sql,
                                        int rsType,
                                        int rsConcurrency,
                                        int rsHoldability,
                                        StoredProcedureMetaData storedProcMetaData,
                                        FBObjectListener.StatementListener statementListener,
                                        FBObjectListener.BlobListener blobListener)
                                 throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

  - ### Method Detail

    - #### registerOutParameter

          public void registerOutParameter​(int parameterIndex,
                                           java.sql.SQLType sqlType)
                                    throws java.sql.SQLException

      Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(int, int)` called with `SQLType.getVendorTypeNumber()`.

      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

          public void registerOutParameter​(int parameterIndex,
                                           java.sql.SQLType sqlType,
                                           int scale)
                                    throws java.sql.SQLException

      Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(int, int, int)` called with `SQLType.getVendorTypeNumber()`.

      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

          public void registerOutParameter​(int parameterIndex,
                                           java.sql.SQLType sqlType,
                                           java.lang.String typeName)
                                    throws java.sql.SQLException

      Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(int, int, String)` called with `SQLType.getVendorTypeNumber()`.

      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

          public void registerOutParameter​(java.lang.String parameterName,
                                           java.sql.SQLType sqlType)
                                    throws java.sql.SQLException

      Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(String, int)` called with `SQLType.getVendorTypeNumber()`.

      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

          public void registerOutParameter​(java.lang.String parameterName,
                                           java.sql.SQLType sqlType,
                                           int scale)
                                    throws java.sql.SQLException

      Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(String, int, int)` called with `SQLType.getVendorTypeNumber()`.

      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

          public void registerOutParameter​(java.lang.String parameterName,
                                           java.sql.SQLType sqlType,
                                           java.lang.String typeName)
                                    throws java.sql.SQLException

      Implementation note: behaves as `AbstractCallableStatement.registerOutParameter(String, int, String)` called with `SQLType.getVendorTypeNumber()`.

      Throws:
        `java.sql.SQLException`