org.h2.jdbc

## Class JdbcCallableStatement

- java.lang.Object
- - org.h2.message.TraceObject
  - - org.h2.jdbc.JdbcStatement
    - - org.h2.jdbc.JdbcPreparedStatement
      - - org.h2.jdbc.JdbcCallableStatement

- All Implemented Interfaces:
    java.lang.AutoCloseable, java.sql.CallableStatement, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper, JdbcStatementBackwardsCompat

      public final class JdbcCallableStatement
      extends JdbcPreparedStatement
      implements java.sql.CallableStatement

  Represents a callable statement.

  Thread safety: the callable statement is not thread-safe. If the same callable statement is used by multiple threads access to it must be synchronized. The single synchronized block must include assignment of parameters, execution of the command and all operations with its result.

       synchronized (call) {
           call.setInt(1, 10);
           try (ResultSet rs = call.executeQuery()) {
               while (rs.next) {
                   // Do something
               }
           }
       }
       synchronized (call) {
           call.setInt(1, 15);
           updateCount = call.executeUpdate();
       }

- - ### Field Summary

    - ### Fields inherited from class org.h2.jdbc.JdbcPreparedStatement

      `command`

    - ### Fields inherited from class org.h2.jdbc.JdbcStatement

      `conn, fetchSize, generatedKeys, maxRows, resultSet, resultSetConcurrency, resultSetType, session, updateCount`

    - ### Fields inherited from class org.h2.message.TraceObject

      `ARRAY, BLOB, CALLABLE_STATEMENT, CLOB, CONNECTION, DATA_SOURCE, DATABASE_META_DATA, PARAMETER_META_DATA, PREPARED_STATEMENT, RESULT_SET, RESULT_SET_META_DATA, SAVEPOINT, SQLXML, STATEMENT, trace, XA_DATA_SOURCE, XID`

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

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `executeLargeUpdate()` Executes a statement (insert, update, delete, create, drop) and returns the update count.
    `int` | `executeUpdate()` Executes a statement (insert, update, delete, create, drop) and returns the update count.
    `java.sql.Array` | `getArray(int parameterIndex)` Returns the value of the specified column as an Array.
    `java.sql.Array` | `getArray(java.lang.String parameterName)` Returns the value of the specified column as an Array.
    `java.math.BigDecimal` | `getBigDecimal(int parameterIndex)` Returns the value of the specified column as a BigDecimal.
    `java.math.BigDecimal` | `getBigDecimal(int parameterIndex, int scale)` Deprecated. use `getBigDecimal(int)`
    `java.math.BigDecimal` | `getBigDecimal(java.lang.String parameterName)` Returns the value of the specified column as a BigDecimal.
    `java.sql.Blob` | `getBlob(int parameterIndex)` Returns the value of the specified column as a Blob.
    `java.sql.Blob` | `getBlob(java.lang.String parameterName)` Returns the value of the specified column as a Blob.
    `boolean` | `getBoolean(int parameterIndex)` Returns the value of the specified column as a boolean.
    `boolean` | `getBoolean(java.lang.String parameterName)` Returns the value of the specified column as a boolean.
    `byte` | `getByte(int parameterIndex)` Returns the value of the specified column as a byte.
    `byte` | `getByte(java.lang.String parameterName)` Returns the value of the specified column as a byte.
    `byte[]` | `getBytes(int parameterIndex)` Returns the value of the specified column as a byte array.
    `byte[]` | `getBytes(java.lang.String parameterName)` Returns the value of the specified column as a byte array.
    `java.io.Reader` | `getCharacterStream(int parameterIndex)` Returns the value of the specified column as a reader.
    `java.io.Reader` | `getCharacterStream(java.lang.String parameterName)` Returns the value of the specified column as a reader.
    `java.sql.Clob` | `getClob(int parameterIndex)` Returns the value of the specified column as a Clob.
    `java.sql.Clob` | `getClob(java.lang.String parameterName)` Returns the value of the specified column as a Clob.
    `java.sql.Date` | `getDate(int parameterIndex)` Returns the value of the specified column as a java.sql.Date.
    `java.sql.Date` | `getDate(int parameterIndex, java.util.Calendar cal)` Returns the value of the specified column as a java.sql.Date using a specified time zone.
    `java.sql.Date` | `getDate(java.lang.String parameterName)` Returns the value of the specified column as a java.sql.Date.
    `java.sql.Date` | `getDate(java.lang.String parameterName, java.util.Calendar cal)` Returns the value of the specified column as a java.sql.Date using a specified time zone.
    `double` | `getDouble(int parameterIndex)` Returns the value of the specified column as a double.
    `double` | `getDouble(java.lang.String parameterName)` Returns the value of the specified column as a double.
    `float` | `getFloat(int parameterIndex)` Returns the value of the specified column as a float.
    `float` | `getFloat(java.lang.String parameterName)` Returns the value of the specified column as a float.
    `int` | `getInt(int parameterIndex)` Returns the value of the specified column as an int.
    `int` | `getInt(java.lang.String parameterName)` Returns the value of the specified column as an int.
    `long` | `getLong(int parameterIndex)` Returns the value of the specified column as a long.
    `long` | `getLong(java.lang.String parameterName)` Returns the value of the specified column as a long.
    `java.io.Reader` | `getNCharacterStream(int parameterIndex)` Returns the value of the specified column as a reader.
    `java.io.Reader` | `getNCharacterStream(java.lang.String parameterName)` Returns the value of the specified column as a reader.
    `java.sql.NClob` | `getNClob(int parameterIndex)` Returns the value of the specified column as a Clob.
    `java.sql.NClob` | `getNClob(java.lang.String parameterName)` Returns the value of the specified column as a Clob.
    `java.lang.String` | `getNString(int parameterIndex)` Returns the value of the specified column as a String.
    `java.lang.String` | `getNString(java.lang.String parameterName)` Returns the value of the specified column as a String.
    `java.lang.Object` | `getObject(int parameterIndex)` Returns a column value as a Java object.
    `<T> T` | `getObject(int parameterIndex, java.lang.Class<T> type)` Returns the value of the specified column as a Java object of the specified type.
    `java.lang.Object` | `getObject(int parameterIndex, java.util.Map<java.lang.String,java.lang.Class<?>> map)` [Not supported] Gets a column as a object using the specified type mapping.
    `java.lang.Object` | `getObject(java.lang.String parameterName)` Returns a column value as a Java object.
    `<T> T` | `getObject(java.lang.String parameterName, java.lang.Class<T> type)` Returns the value of the specified column as a Java object of the specified type.
    `java.lang.Object` | `getObject(java.lang.String parameterName, java.util.Map<java.lang.String,java.lang.Class<?>> map)` [Not supported] Gets a column as a object using the specified type mapping.
    `java.sql.Ref` | `getRef(int parameterIndex)` [Not supported] Gets a column as a reference.
    `java.sql.Ref` | `getRef(java.lang.String parameterName)` [Not supported] Gets a column as a reference.
    `java.sql.RowId` | `getRowId(int parameterIndex)` [Not supported] Returns the value of the specified column as a row id.
    `java.sql.RowId` | `getRowId(java.lang.String parameterName)` [Not supported] Returns the value of the specified column as a row id.
    `short` | `getShort(int parameterIndex)` Returns the value of the specified column as a short.
    `short` | `getShort(java.lang.String parameterName)` Returns the value of the specified column as a short.
    `java.sql.SQLXML` | `getSQLXML(int parameterIndex)` Returns the value of the specified column as a SQLXML object.
    `java.sql.SQLXML` | `getSQLXML(java.lang.String parameterName)` Returns the value of the specified column as a SQLXML object.
    `java.lang.String` | `getString(int parameterIndex)` Returns the value of the specified column as a String.
    `java.lang.String` | `getString(java.lang.String parameterName)` Returns the value of the specified column as a String.
    `java.sql.Time` | `getTime(int parameterIndex)` Returns the value of the specified column as a java.sql.Time.
    `java.sql.Time` | `getTime(int parameterIndex, java.util.Calendar cal)` Returns the value of the specified column as a java.sql.Time using a specified time zone.
    `java.sql.Time` | `getTime(java.lang.String parameterName)` Returns the value of the specified column as a java.sql.Time.
    `java.sql.Time` | `getTime(java.lang.String parameterName, java.util.Calendar cal)` Returns the value of the specified column as a java.sql.Time using a specified time zone.
    `java.sql.Timestamp` | `getTimestamp(int parameterIndex)` Returns the value of the specified column as a java.sql.Timestamp.
    `java.sql.Timestamp` | `getTimestamp(int parameterIndex, java.util.Calendar cal)` Returns the value of the specified column as a java.sql.Timestamp using a specified time zone.
    `java.sql.Timestamp` | `getTimestamp(java.lang.String parameterName)` Returns the value of the specified column as a java.sql.Timestamp.
    `java.sql.Timestamp` | `getTimestamp(java.lang.String parameterName, java.util.Calendar cal)` Returns the value of the specified column as a java.sql.Timestamp using a specified time zone.
    `java.net.URL` | `getURL(int parameterIndex)` [Not supported]
    `java.net.URL` | `getURL(java.lang.String parameterName)` [Not supported]
    `void` | `registerOutParameter(int parameterIndex, int sqlType)` Registers the given OUT parameter.
    `void` | `registerOutParameter(int parameterIndex, int sqlType, int scale)` Registers the given OUT parameter.
    `void` | `registerOutParameter(int parameterIndex, int sqlType, java.lang.String typeName)` Registers the given OUT parameter.
    `void` | `registerOutParameter(java.lang.String parameterName, int sqlType)` Registers the given OUT parameter.
    `void` | `registerOutParameter(java.lang.String parameterName, int sqlType, int scale)` Registers the given OUT parameter.
    `void` | `registerOutParameter(java.lang.String parameterName, int sqlType, java.lang.String typeName)` Registers the given OUT parameter.
    `void` | `setAsciiStream(java.lang.String parameterName, java.io.InputStream x)` Sets the value of a parameter as an ASCII stream.
    `void` | `setAsciiStream(java.lang.String parameterName, java.io.InputStream x, int length)` Sets the value of a parameter as an ASCII stream.
    `void` | `setAsciiStream(java.lang.String parameterName, java.io.InputStream x, long length)` Sets the value of a parameter as an ASCII stream.
    `void` | `setBigDecimal(java.lang.String parameterName, java.math.BigDecimal x)` Sets the value of a parameter.
    `void` | `setBinaryStream(java.lang.String parameterName, java.io.InputStream x)` Sets the value of a parameter as an input stream.
    `void` | `setBinaryStream(java.lang.String parameterName, java.io.InputStream x, int length)` Sets the value of a parameter as an input stream.
    `void` | `setBinaryStream(java.lang.String parameterName, java.io.InputStream x, long length)` Sets the value of a parameter as an input stream.
    `void` | `setBlob(java.lang.String parameterName, java.sql.Blob x)` Sets the value of a parameter as a Blob.
    `void` | `setBlob(java.lang.String parameterName, java.io.InputStream x)` Sets the value of a parameter as a Blob.
    `void` | `setBlob(java.lang.String parameterName, java.io.InputStream x, long length)` Sets the value of a parameter as a Blob.
    `void` | `setBoolean(java.lang.String parameterName, boolean x)` Sets the value of a parameter.
    `void` | `setByte(java.lang.String parameterName, byte x)` Sets the value of a parameter.
    `void` | `setBytes(java.lang.String parameterName, byte[] x)` Sets the value of a parameter as a byte array.
    `void` | `setCharacterStream(java.lang.String parameterName, java.io.Reader x)` Sets the value of a parameter as a character stream.
    `void` | `setCharacterStream(java.lang.String parameterName, java.io.Reader x, int length)` Sets the value of a parameter as a character stream.
    `void` | `setCharacterStream(java.lang.String parameterName, java.io.Reader x, long length)` Sets the value of a parameter as a character stream.
    `void` | `setClob(java.lang.String parameterName, java.sql.Clob x)` Sets the value of a parameter as a Clob.
    `void` | `setClob(java.lang.String parameterName, java.io.Reader x)` Sets the value of a parameter as a character stream.
    `void` | `setClob(java.lang.String parameterName, java.io.Reader x, long length)` Sets the value of a parameter as a Clob.
    `void` | `setDate(java.lang.String parameterName, java.sql.Date x)` Sets the value of a parameter.
    `void` | `setDate(java.lang.String parameterName, java.sql.Date x, java.util.Calendar cal)` Sets the date using a specified time zone.
    `void` | `setDouble(java.lang.String parameterName, double x)` Sets the value of a parameter.
    `void` | `setFloat(java.lang.String parameterName, float x)` Sets the value of a parameter.
    `void` | `setInt(java.lang.String parameterName, int x)` Sets the value of a parameter.
    `void` | `setLong(java.lang.String parameterName, long x)` Sets the value of a parameter.
    `void` | `setNCharacterStream(java.lang.String parameterName, java.io.Reader x)` Sets the value of a parameter as a character stream.
    `void` | `setNCharacterStream(java.lang.String parameterName, java.io.Reader x, long length)` Sets the value of a parameter as a character stream.
    `void` | `setNClob(java.lang.String parameterName, java.sql.NClob x)` Sets the value of a parameter as a Clob.
    `void` | `setNClob(java.lang.String parameterName, java.io.Reader x)` Sets the value of a parameter as a Clob.
    `void` | `setNClob(java.lang.String parameterName, java.io.Reader x, long length)` Sets the value of a parameter as a Clob.
    `void` | `setNString(java.lang.String parameterName, java.lang.String x)` Sets the value of a parameter.
    `void` | `setNull(java.lang.String parameterName, int sqlType)` Sets a parameter to null.
    `void` | `setNull(java.lang.String parameterName, int sqlType, java.lang.String typeName)` Sets a parameter to null.
    `void` | `setObject(java.lang.String parameterName, java.lang.Object x)` Sets the value of a parameter.
    `void` | `setObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType)` Sets the value of a parameter.
    `void` | `setObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType, int scale)` Sets the value of a parameter.
    `void` | `setObject(java.lang.String parameterName, java.lang.Object x, java.sql.SQLType targetSqlType)` Sets the value of a parameter.
    `void` | `setObject(java.lang.String parameterName, java.lang.Object x, java.sql.SQLType targetSqlType, int scaleOrLength)` Sets the value of a parameter.
    `void` | `setRowId(java.lang.String parameterName, java.sql.RowId x)` [Not supported] Sets the value of a parameter as a row id.
    `void` | `setShort(java.lang.String parameterName, short x)` Sets the value of a parameter.
    `void` | `setSQLXML(java.lang.String parameterName, java.sql.SQLXML x)` Sets the value of a parameter as a SQLXML object.
    `void` | `setString(java.lang.String parameterName, java.lang.String x)` Sets the value of a parameter.
    `void` | `setTime(java.lang.String parameterName, java.sql.Time x)` Sets the time using a specified time zone.
    `void` | `setTime(java.lang.String parameterName, java.sql.Time x, java.util.Calendar cal)` Sets the time using a specified time zone.
    `void` | `setTimestamp(java.lang.String parameterName, java.sql.Timestamp x)` Sets the value of a parameter.
    `void` | `setTimestamp(java.lang.String parameterName, java.sql.Timestamp x, java.util.Calendar cal)` Sets the timestamp using a specified time zone.
    `void` | `setURL(java.lang.String parameterName, java.net.URL val)` [Not supported]
    `boolean` | `wasNull()` Returns whether the last column accessed was null.

    - ### Methods inherited from class org.h2.jdbc.JdbcPreparedStatement

      `addBatch, addBatch, clearBatch, clearParameters, close, execute, executeBatch, executeLargeBatch, executeQuery, executeQuery, getGeneratedKeys, 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, toString`

    - ### Methods inherited from class org.h2.jdbc.JdbcStatement

      `cancel, clearWarnings, closeOldResultSet, closeOnCompletion, enquoteIdentifier, execute, execute, execute, execute, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isCancelled, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, isWrapperFor, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, unwrap`

    - ### Methods inherited from class org.h2.message.TraceObject

      `debugCode, debugCodeAssign, debugCodeCall, debugCodeCall, debugCodeCall, getNextId, getTraceId, getTraceObjectName, isDebugEnabled, isInfoEnabled, logAndConvert, quote, quoteArray, quoteBigDecimal, quoteBytes, quoteDate, quoteIntArray, quoteMap, quoteTime, quoteTimestamp, setTrace, unsupported`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

      `registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter`

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

      `addBatch, clearParameters, execute, executeQuery, 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, 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, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

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

      `isWrapperFor, unwrap`

- - ### Method Detail

    - #### executeUpdate

          public int executeUpdate()
                            throws java.sql.SQLException

      Executes a statement (insert, update, delete, create, drop) and returns the update count. If another result set exists for this statement, this will be closed (even if this statement fails). If auto commit is on, this statement will be committed. If the statement is a DDL statement (create, drop, alter) and does not throw an exception, the current transaction (if any) is committed after executing the statement.
      Specified by:
        `executeUpdate` in interface `java.sql.PreparedStatement`
      Overrides:
        `executeUpdate` in class `JdbcPreparedStatement`
      Returns:
        the update count (number of row affected by an insert, update or delete, or 0 if no rows or the statement was a create, drop, commit or rollback)
      Throws:
        `java.sql.SQLException` - if this object is closed or invalid
      See Also:
        `JdbcPreparedStatement.executeLargeUpdate()`

    - #### executeLargeUpdate

          public long executeLargeUpdate()
                                  throws java.sql.SQLException

      Executes a statement (insert, update, delete, create, drop) and returns the update count. If another result set exists for this statement, this will be closed (even if this statement fails). If auto commit is on, this statement will be committed. If the statement is a DDL statement (create, drop, alter) and does not throw an exception, the current transaction (if any) is committed after executing the statement.
      Specified by:
        `executeLargeUpdate` in interface `java.sql.PreparedStatement`
      Overrides:
        `executeLargeUpdate` in class `JdbcPreparedStatement`
      Returns:
        the update count (number of row affected by an insert, update or delete, or 0 if no rows or the statement was a create, drop, commit or rollback)
      Throws:
        `java.sql.SQLException` - if this object is closed or invalid

    - #### registerOutParameter

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

      Registers the given OUT parameter.
      Specified by:
        `registerOutParameter` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `sqlType` - the data type (Types.x) - ignored
      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

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

      Registers the given OUT parameter.
      Specified by:
        `registerOutParameter` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `sqlType` - the data type (Types.x) - ignored
        `typeName` - the SQL type name - ignored
      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

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

      Registers the given OUT parameter.
      Specified by:
        `registerOutParameter` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `sqlType` - the data type (Types.x)
        `scale` - is ignored
      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

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

      Registers the given OUT parameter.
      Specified by:
        `registerOutParameter` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `sqlType` - the data type (Types.x) - ignored
        `typeName` - the SQL type name - ignored
      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

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

      Registers the given OUT parameter.
      Specified by:
        `registerOutParameter` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `sqlType` - the data type (Types.x) - ignored
        `scale` - is ignored
      Throws:
        `java.sql.SQLException`

    - #### registerOutParameter

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

      Registers the given OUT parameter.
      Specified by:
        `registerOutParameter` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `sqlType` - the data type (Types.x) - ignored
      Throws:
        `java.sql.SQLException`

    - #### wasNull

          public boolean wasNull()
                          throws java.sql.SQLException

      Returns whether the last column accessed was null.
      Specified by:
        `wasNull` in interface `java.sql.CallableStatement`
      Returns:
        true if the last column accessed was null
      Throws:
        `java.sql.SQLException`

    - #### getURL

          public java.net.URL getURL(int parameterIndex)
                              throws java.sql.SQLException

      [Not supported]
      Specified by:
        `getURL` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### getString

          public java.lang.String getString(int parameterIndex)
                                     throws java.sql.SQLException

      Returns the value of the specified column as a String.
      Specified by:
        `getString` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - (1,2,...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getBoolean

          public boolean getBoolean(int parameterIndex)
                             throws java.sql.SQLException

      Returns the value of the specified column as a boolean.
      Specified by:
        `getBoolean` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - (1,2,...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getByte

          public byte getByte(int parameterIndex)
                       throws java.sql.SQLException

      Returns the value of the specified column as a byte.
      Specified by:
        `getByte` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - (1,2,...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getShort

          public short getShort(int parameterIndex)
                         throws java.sql.SQLException

      Returns the value of the specified column as a short.
      Specified by:
        `getShort` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - (1,2,...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getInt

          public int getInt(int parameterIndex)
                     throws java.sql.SQLException

      Returns the value of the specified column as an int.
      Specified by:
        `getInt` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getLong

          public long getLong(int parameterIndex)
                       throws java.sql.SQLException

      Returns the value of the specified column as a long.
      Specified by:
        `getLong` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getFloat

          public float getFloat(int parameterIndex)
                         throws java.sql.SQLException

      Returns the value of the specified column as a float.
      Specified by:
        `getFloat` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getDouble

          public double getDouble(int parameterIndex)
                           throws java.sql.SQLException

      Returns the value of the specified column as a double.
      Specified by:
        `getDouble` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getBigDecimal

          @Deprecated
          public java.math.BigDecimal getBigDecimal(int parameterIndex,
                                                                int scale)
                                                         throws java.sql.SQLException

      Deprecated. use `getBigDecimal(int)`
      Returns the value of the specified column as a BigDecimal.
      Specified by:
        `getBigDecimal` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `scale` - is ignored
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getBytes

          public byte[] getBytes(int parameterIndex)
                          throws java.sql.SQLException

      Returns the value of the specified column as a byte array.
      Specified by:
        `getBytes` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getDate

          public java.sql.Date getDate(int parameterIndex)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Date.

      Usage of this method is discouraged. Use `getObject(columnIndex, LocalDate.class)` instead.

      Specified by:
        `getDate` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(int, Class)`

    - #### getTime

          public java.sql.Time getTime(int parameterIndex)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Time.

      Usage of this method is discouraged. Use `getObject(columnIndex, LocalTime.class)` instead.

      Specified by:
        `getTime` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(int, Class)`

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(int parameterIndex)
                                          throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Timestamp.

      Usage of this method is discouraged. Use `getObject(columnIndex, LocalDateTime.class)` instead.

      Specified by:
        `getTimestamp` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(int, Class)`

    - #### getObject

          public java.lang.Object getObject(int parameterIndex)
                                     throws java.sql.SQLException

      Returns a column value as a Java object. The data is de-serialized into a Java object (on the client side).
      Specified by:
        `getObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value or null
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getBigDecimal

          public java.math.BigDecimal getBigDecimal(int parameterIndex)
                                             throws java.sql.SQLException

      Returns the value of the specified column as a BigDecimal.
      Specified by:
        `getBigDecimal` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getObject

          public java.lang.Object getObject(int parameterIndex,
                                            java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                     throws java.sql.SQLException

      [Not supported] Gets a column as a object using the specified type mapping.
      Specified by:
        `getObject` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### getRef

          public java.sql.Ref getRef(int parameterIndex)
                              throws java.sql.SQLException

      [Not supported] Gets a column as a reference.
      Specified by:
        `getRef` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### getBlob

          public java.sql.Blob getBlob(int parameterIndex)
                                throws java.sql.SQLException

      Returns the value of the specified column as a Blob.
      Specified by:
        `getBlob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getClob

          public java.sql.Clob getClob(int parameterIndex)
                                throws java.sql.SQLException

      Returns the value of the specified column as a Clob.
      Specified by:
        `getClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getArray

          public java.sql.Array getArray(int parameterIndex)
                                  throws java.sql.SQLException

      Returns the value of the specified column as an Array.
      Specified by:
        `getArray` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getDate

          public java.sql.Date getDate(int parameterIndex,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Date using a specified time zone.

      Usage of this method is discouraged. Use `getObject(columnIndex, LocalDate.class)` instead.

      Specified by:
        `getDate` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `cal` - the calendar
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(int, Class)`

    - #### getTime

          public java.sql.Time getTime(int parameterIndex,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Time using a specified time zone.

      Usage of this method is discouraged. Use `getObject(columnIndex, LocalTime.class)` instead.

      Specified by:
        `getTime` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `cal` - the calendar
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(int, Class)`

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(int parameterIndex,
                                                 java.util.Calendar cal)
                                          throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Timestamp using a specified time zone.

      Usage of this method is discouraged. Use `getObject(columnIndex, LocalDateTime.class)` instead.

      Specified by:
        `getTimestamp` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `cal` - the calendar
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(int, Class)`

    - #### getURL

          public java.net.URL getURL(java.lang.String parameterName)
                              throws java.sql.SQLException

      [Not supported]
      Specified by:
        `getURL` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(java.lang.String parameterName,
                                                 java.util.Calendar cal)
                                          throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Timestamp using a specified time zone.

      Usage of this method is discouraged. Use `getObject(parameterName, LocalDateTime.class)` instead.

      Specified by:
        `getTimestamp` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `cal` - the calendar
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(String, Class)`

    - #### getTime

          public java.sql.Time getTime(java.lang.String parameterName,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Time using a specified time zone.

      Usage of this method is discouraged. Use `getObject(parameterName, LocalTime.class)` instead.

      Specified by:
        `getTime` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `cal` - the calendar
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(String, Class)`

    - #### getDate

          public java.sql.Date getDate(java.lang.String parameterName,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Date using a specified time zone.

      Usage of this method is discouraged. Use `getObject(parameterName, LocalDate.class)` instead.

      Specified by:
        `getDate` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `cal` - the calendar
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(String, Class)`

    - #### getArray

          public java.sql.Array getArray(java.lang.String parameterName)
                                  throws java.sql.SQLException

      Returns the value of the specified column as an Array.
      Specified by:
        `getArray` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getClob

          public java.sql.Clob getClob(java.lang.String parameterName)
                                throws java.sql.SQLException

      Returns the value of the specified column as a Clob.
      Specified by:
        `getClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getBlob

          public java.sql.Blob getBlob(java.lang.String parameterName)
                                throws java.sql.SQLException

      Returns the value of the specified column as a Blob.
      Specified by:
        `getBlob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getRef

          public java.sql.Ref getRef(java.lang.String parameterName)
                              throws java.sql.SQLException

      [Not supported] Gets a column as a reference.
      Specified by:
        `getRef` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### getObject

          public java.lang.Object getObject(java.lang.String parameterName,
                                            java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                     throws java.sql.SQLException

      [Not supported] Gets a column as a object using the specified type mapping.
      Specified by:
        `getObject` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### getBigDecimal

          public java.math.BigDecimal getBigDecimal(java.lang.String parameterName)
                                             throws java.sql.SQLException

      Returns the value of the specified column as a BigDecimal.
      Specified by:
        `getBigDecimal` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getObject

          public java.lang.Object getObject(java.lang.String parameterName)
                                     throws java.sql.SQLException

      Returns a column value as a Java object. The data is de-serialized into a Java object (on the client side).
      Specified by:
        `getObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value or null
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getTimestamp

          public java.sql.Timestamp getTimestamp(java.lang.String parameterName)
                                          throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Timestamp.

      Usage of this method is discouraged. Use `getObject(parameterName, LocalDateTime.class)` instead.

      Specified by:
        `getTimestamp` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(String, Class)`

    - #### getTime

          public java.sql.Time getTime(java.lang.String parameterName)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Time.

      Usage of this method is discouraged. Use `getObject(parameterName, LocalTime.class)` instead.

      Specified by:
        `getTime` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(String, Class)`

    - #### getDate

          public java.sql.Date getDate(java.lang.String parameterName)
                                throws java.sql.SQLException

      Returns the value of the specified column as a java.sql.Date.

      Usage of this method is discouraged. Use `getObject(parameterName, LocalDate.class)` instead.

      Specified by:
        `getDate` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed
      See Also:
        `getObject(String, Class)`

    - #### getBytes

          public byte[] getBytes(java.lang.String parameterName)
                          throws java.sql.SQLException

      Returns the value of the specified column as a byte array.
      Specified by:
        `getBytes` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getDouble

          public double getDouble(java.lang.String parameterName)
                           throws java.sql.SQLException

      Returns the value of the specified column as a double.
      Specified by:
        `getDouble` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getFloat

          public float getFloat(java.lang.String parameterName)
                         throws java.sql.SQLException

      Returns the value of the specified column as a float.
      Specified by:
        `getFloat` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getLong

          public long getLong(java.lang.String parameterName)
                       throws java.sql.SQLException

      Returns the value of the specified column as a long.
      Specified by:
        `getLong` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getInt

          public int getInt(java.lang.String parameterName)
                     throws java.sql.SQLException

      Returns the value of the specified column as an int.
      Specified by:
        `getInt` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getShort

          public short getShort(java.lang.String parameterName)
                         throws java.sql.SQLException

      Returns the value of the specified column as a short.
      Specified by:
        `getShort` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getByte

          public byte getByte(java.lang.String parameterName)
                       throws java.sql.SQLException

      Returns the value of the specified column as a byte.
      Specified by:
        `getByte` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getBoolean

          public boolean getBoolean(java.lang.String parameterName)
                             throws java.sql.SQLException

      Returns the value of the specified column as a boolean.
      Specified by:
        `getBoolean` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getString

          public java.lang.String getString(java.lang.String parameterName)
                                     throws java.sql.SQLException

      Returns the value of the specified column as a String.
      Specified by:
        `getString` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getRowId

          public java.sql.RowId getRowId(int parameterIndex)
                                  throws java.sql.SQLException

      [Not supported] Returns the value of the specified column as a row id.
      Specified by:
        `getRowId` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Throws:
        `java.sql.SQLException`

    - #### getRowId

          public java.sql.RowId getRowId(java.lang.String parameterName)
                                  throws java.sql.SQLException

      [Not supported] Returns the value of the specified column as a row id.
      Specified by:
        `getRowId` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Throws:
        `java.sql.SQLException`

    - #### getNClob

          public java.sql.NClob getNClob(int parameterIndex)
                                  throws java.sql.SQLException

      Returns the value of the specified column as a Clob.
      Specified by:
        `getNClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getNClob

          public java.sql.NClob getNClob(java.lang.String parameterName)
                                  throws java.sql.SQLException

      Returns the value of the specified column as a Clob.
      Specified by:
        `getNClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getSQLXML

          public java.sql.SQLXML getSQLXML(int parameterIndex)
                                    throws java.sql.SQLException

      Returns the value of the specified column as a SQLXML object.
      Specified by:
        `getSQLXML` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getSQLXML

          public java.sql.SQLXML getSQLXML(java.lang.String parameterName)
                                    throws java.sql.SQLException

      Returns the value of the specified column as a SQLXML object.
      Specified by:
        `getSQLXML` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getNString

          public java.lang.String getNString(int parameterIndex)
                                      throws java.sql.SQLException

      Returns the value of the specified column as a String.
      Specified by:
        `getNString` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getNString

          public java.lang.String getNString(java.lang.String parameterName)
                                      throws java.sql.SQLException

      Returns the value of the specified column as a String.
      Specified by:
        `getNString` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getNCharacterStream

          public java.io.Reader getNCharacterStream(int parameterIndex)
                                             throws java.sql.SQLException

      Returns the value of the specified column as a reader.
      Specified by:
        `getNCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getNCharacterStream

          public java.io.Reader getNCharacterStream(java.lang.String parameterName)
                                             throws java.sql.SQLException

      Returns the value of the specified column as a reader.
      Specified by:
        `getNCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getCharacterStream

          public java.io.Reader getCharacterStream(int parameterIndex)
                                            throws java.sql.SQLException

      Returns the value of the specified column as a reader.
      Specified by:
        `getCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getCharacterStream

          public java.io.Reader getCharacterStream(java.lang.String parameterName)
                                            throws java.sql.SQLException

      Returns the value of the specified column as a reader.
      Specified by:
        `getCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### setNull

          public void setNull(java.lang.String parameterName,
                              int sqlType,
                              java.lang.String typeName)
                       throws java.sql.SQLException

      Sets a parameter to null.
      Specified by:
        `setNull` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `sqlType` - the data type (Types.x)
        `typeName` - this parameter is ignored
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setNull

          public void setNull(java.lang.String parameterName,
                              int sqlType)
                       throws java.sql.SQLException

      Sets a parameter to null.
      Specified by:
        `setNull` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `sqlType` - the data type (Types.x)
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setTimestamp

          public void setTimestamp(java.lang.String parameterName,
                                   java.sql.Timestamp x,
                                   java.util.Calendar cal)
                            throws java.sql.SQLException

      Sets the timestamp using a specified time zone. The value will be converted to the local time zone.

      Usage of this method is discouraged. Use `setObject(parameterName, value)` with `LocalDateTime` parameter instead.

      Specified by:
        `setTimestamp` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `cal` - the calendar
      Throws:
        `java.sql.SQLException` - if this object is closed
      See Also:
        `setObject(String, Object)`

    - #### setTime

          public void setTime(java.lang.String parameterName,
                              java.sql.Time x,
                              java.util.Calendar cal)
                       throws java.sql.SQLException

      Sets the time using a specified time zone. The value will be converted to the local time zone.

      Usage of this method is discouraged. Use `setObject(parameterName, value)` with `LocalTime` parameter instead.

      Specified by:
        `setTime` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `cal` - the calendar
      Throws:
        `java.sql.SQLException` - if this object is closed
      See Also:
        `setObject(String, Object)`

    - #### setDate

          public void setDate(java.lang.String parameterName,
                              java.sql.Date x,
                              java.util.Calendar cal)
                       throws java.sql.SQLException

      Sets the date using a specified time zone. The value will be converted to the local time zone.

      Usage of this method is discouraged. Use `setObject(parameterName, value)` with `LocalDate` parameter instead.

      Specified by:
        `setDate` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `cal` - the calendar
      Throws:
        `java.sql.SQLException` - if this object is closed
      See Also:
        `setObject(String, Object)`

    - #### setCharacterStream

          public void setCharacterStream(java.lang.String parameterName,
                                         java.io.Reader x,
                                         int length)
                                  throws java.sql.SQLException

      Sets the value of a parameter as a character stream. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of characters
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setObject

          public void setObject(java.lang.String parameterName,
                                java.lang.Object x)
                         throws java.sql.SQLException

      Sets the value of a parameter. Objects of unknown classes are serialized (on the client side).
      Specified by:
        `setObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setObject

          public void setObject(java.lang.String parameterName,
                                java.lang.Object x,
                                int targetSqlType)
                         throws java.sql.SQLException

      Sets the value of a parameter. The object is converted, if required, to the specified data type before sending to the database. Objects of unknown classes are serialized (on the client side).
      Specified by:
        `setObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value, null is allowed
        `targetSqlType` - the type as defined in java.sql.Types
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setObject

          public void setObject(java.lang.String parameterName,
                                java.lang.Object x,
                                int targetSqlType,
                                int scale)
                         throws java.sql.SQLException

      Sets the value of a parameter. The object is converted, if required, to the specified data type before sending to the database. Objects of unknown classes are serialized (on the client side).
      Specified by:
        `setObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value, null is allowed
        `targetSqlType` - the type as defined in java.sql.Types
        `scale` - is ignored
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setObject

          public void setObject(java.lang.String parameterName,
                                java.lang.Object x,
                                java.sql.SQLType targetSqlType)
                         throws java.sql.SQLException

      Sets the value of a parameter. The object is converted, if required, to the specified data type before sending to the database. Objects of unknown classes are serialized (on the client side).
      Specified by:
        `setObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value, null is allowed
        `targetSqlType` - the type
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setObject

          public void setObject(java.lang.String parameterName,
                                java.lang.Object x,
                                java.sql.SQLType targetSqlType,
                                int scaleOrLength)
                         throws java.sql.SQLException

      Sets the value of a parameter. The object is converted, if required, to the specified data type before sending to the database. Objects of unknown classes are serialized (on the client side).
      Specified by:
        `setObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value, null is allowed
        `targetSqlType` - the type
        `scaleOrLength` - is ignored
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBinaryStream

          public void setBinaryStream(java.lang.String parameterName,
                                      java.io.InputStream x,
                                      int length)
                               throws java.sql.SQLException

      Sets the value of a parameter as an input stream. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setBinaryStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of bytes
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setAsciiStream

          public void setAsciiStream(java.lang.String parameterName,
                                     java.io.InputStream x,
                                     long length)
                              throws java.sql.SQLException

      Sets the value of a parameter as an ASCII stream. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setAsciiStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of bytes
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setTimestamp

          public void setTimestamp(java.lang.String parameterName,
                                   java.sql.Timestamp x)
                            throws java.sql.SQLException

      Sets the value of a parameter.

      Usage of this method is discouraged. Use `setObject(parameterName, value)` with `LocalDateTime` parameter instead.

      Specified by:
        `setTimestamp` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed
      See Also:
        `setObject(String, Object)`

    - #### setTime

          public void setTime(java.lang.String parameterName,
                              java.sql.Time x)
                       throws java.sql.SQLException

      Sets the time using a specified time zone.

      Usage of this method is discouraged. Use `setObject(parameterName, value)` with `LocalTime` parameter instead.

      Specified by:
        `setTime` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed
      See Also:
        `setObject(String, Object)`

    - #### setDate

          public void setDate(java.lang.String parameterName,
                              java.sql.Date x)
                       throws java.sql.SQLException

      Sets the value of a parameter.

      Usage of this method is discouraged. Use `setObject(parameterName, value)` with `LocalDate` parameter instead.

      Specified by:
        `setDate` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed
      See Also:
        `setObject(String, Object)`

    - #### setBytes

          public void setBytes(java.lang.String parameterName,
                               byte[] x)
                        throws java.sql.SQLException

      Sets the value of a parameter as a byte array.
      Specified by:
        `setBytes` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setString

          public void setString(java.lang.String parameterName,
                                java.lang.String x)
                         throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setString` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBigDecimal

          public void setBigDecimal(java.lang.String parameterName,
                                    java.math.BigDecimal x)
                             throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setBigDecimal` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setDouble

          public void setDouble(java.lang.String parameterName,
                                double x)
                         throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setDouble` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setFloat

          public void setFloat(java.lang.String parameterName,
                               float x)
                        throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setFloat` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setLong

          public void setLong(java.lang.String parameterName,
                              long x)
                       throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setLong` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setInt

          public void setInt(java.lang.String parameterName,
                             int x)
                      throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setInt` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setShort

          public void setShort(java.lang.String parameterName,
                               short x)
                        throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setShort` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setByte

          public void setByte(java.lang.String parameterName,
                              byte x)
                       throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setByte` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBoolean

          public void setBoolean(java.lang.String parameterName,
                                 boolean x)
                          throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setBoolean` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setURL

          public void setURL(java.lang.String parameterName,
                             java.net.URL val)
                      throws java.sql.SQLException

      [Not supported]
      Specified by:
        `setURL` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### setRowId

          public void setRowId(java.lang.String parameterName,
                               java.sql.RowId x)
                        throws java.sql.SQLException

      [Not supported] Sets the value of a parameter as a row id.
      Specified by:
        `setRowId` in interface `java.sql.CallableStatement`
      Throws:
        `java.sql.SQLException`

    - #### setNString

          public void setNString(java.lang.String parameterName,
                                 java.lang.String x)
                          throws java.sql.SQLException

      Sets the value of a parameter.
      Specified by:
        `setNString` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setNCharacterStream

          public void setNCharacterStream(java.lang.String parameterName,
                                          java.io.Reader x,
                                          long length)
                                   throws java.sql.SQLException

      Sets the value of a parameter as a character stream. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setNCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of characters
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setNClob

          public void setNClob(java.lang.String parameterName,
                               java.sql.NClob x)
                        throws java.sql.SQLException

      Sets the value of a parameter as a Clob.
      Specified by:
        `setNClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setClob

          public void setClob(java.lang.String parameterName,
                              java.io.Reader x,
                              long length)
                       throws java.sql.SQLException

      Sets the value of a parameter as a Clob. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of characters
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBlob

          public void setBlob(java.lang.String parameterName,
                              java.io.InputStream x,
                              long length)
                       throws java.sql.SQLException

      Sets the value of a parameter as a Blob. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setBlob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of bytes
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setNClob

          public void setNClob(java.lang.String parameterName,
                               java.io.Reader x,
                               long length)
                        throws java.sql.SQLException

      Sets the value of a parameter as a Clob. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setNClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of characters
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBlob

          public void setBlob(java.lang.String parameterName,
                              java.sql.Blob x)
                       throws java.sql.SQLException

      Sets the value of a parameter as a Blob.
      Specified by:
        `setBlob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setClob

          public void setClob(java.lang.String parameterName,
                              java.sql.Clob x)
                       throws java.sql.SQLException

      Sets the value of a parameter as a Clob.
      Specified by:
        `setClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setAsciiStream

          public void setAsciiStream(java.lang.String parameterName,
                                     java.io.InputStream x)
                              throws java.sql.SQLException

      Sets the value of a parameter as an ASCII stream. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setAsciiStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setAsciiStream

          public void setAsciiStream(java.lang.String parameterName,
                                     java.io.InputStream x,
                                     int length)
                              throws java.sql.SQLException

      Sets the value of a parameter as an ASCII stream. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setAsciiStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of bytes
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBinaryStream

          public void setBinaryStream(java.lang.String parameterName,
                                      java.io.InputStream x)
                               throws java.sql.SQLException

      Sets the value of a parameter as an input stream. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setBinaryStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBinaryStream

          public void setBinaryStream(java.lang.String parameterName,
                                      java.io.InputStream x,
                                      long length)
                               throws java.sql.SQLException

      Sets the value of a parameter as an input stream. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setBinaryStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of bytes
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setBlob

          public void setBlob(java.lang.String parameterName,
                              java.io.InputStream x)
                       throws java.sql.SQLException

      Sets the value of a parameter as a Blob. This method does not close the stream. The stream may be closed after executing the statement.
      Specified by:
        `setBlob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setCharacterStream

          public void setCharacterStream(java.lang.String parameterName,
                                         java.io.Reader x)
                                  throws java.sql.SQLException

      Sets the value of a parameter as a character stream. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setCharacterStream

          public void setCharacterStream(java.lang.String parameterName,
                                         java.io.Reader x,
                                         long length)
                                  throws java.sql.SQLException

      Sets the value of a parameter as a character stream. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
        `length` - the maximum number of characters
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setClob

          public void setClob(java.lang.String parameterName,
                              java.io.Reader x)
                       throws java.sql.SQLException

      Sets the value of a parameter as a character stream. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setNCharacterStream

          public void setNCharacterStream(java.lang.String parameterName,
                                          java.io.Reader x)
                                   throws java.sql.SQLException

      Sets the value of a parameter as a character stream. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setNCharacterStream` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setNClob

          public void setNClob(java.lang.String parameterName,
                               java.io.Reader x)
                        throws java.sql.SQLException

      Sets the value of a parameter as a Clob. This method does not close the reader. The reader may be closed after executing the statement.
      Specified by:
        `setNClob` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### setSQLXML

          public void setSQLXML(java.lang.String parameterName,
                                java.sql.SQLXML x)
                         throws java.sql.SQLException

      Sets the value of a parameter as a SQLXML object.
      Specified by:
        `setSQLXML` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `x` - the value
      Throws:
        `java.sql.SQLException` - if this object is closed

    - #### getObject

          public <T> T getObject(int parameterIndex,
                                 java.lang.Class<T> type)
                          throws java.sql.SQLException

      Returns the value of the specified column as a Java object of the specified type.
      Specified by:
        `getObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterIndex` - the parameter index (1, 2, ...)
        `type` - the class of the returned value
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed

    - #### getObject

          public <T> T getObject(java.lang.String parameterName,
                                 java.lang.Class<T> type)
                          throws java.sql.SQLException

      Returns the value of the specified column as a Java object of the specified type.
      Specified by:
        `getObject` in interface `java.sql.CallableStatement`
      Parameters:
        `parameterName` - the parameter name
        `type` - the class of the returned value
      Returns:
        the value
      Throws:
        `java.sql.SQLException` - if the column is not found or if this object is closed