com.informix.jdbc

## Class IfxCallableStatement

- java.lang.Object
- - com.informix.jdbc.IfxStatement
  - - com.informix.jdbc.IfxPreparedStatement
    - - com.informix.jdbc.IfxCallableStatement

All Implemented Interfaces:
  IfmxCallableStatement, IfmxPreparedStatement, IfmxStatement, PreparedStatement2, java.lang.AutoCloseable, java.sql.CallableStatement, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper

    public class IfxCallableStatement
    extends IfxPreparedStatement
    implements java.sql.CallableStatement, IfmxCallableStatement

CallableStatement is used to execute SQL stored procedures.

Ifx provides a stored procedure SQL escape that allows stored procedures to be called in a standard way for all RDBMS's. This escape syntax has one form that includes a result parameter and one that does not. If used, the result parameter must be registered as an OUT parameter. The other parameters may be used for input, output or both. Parameters are refered to sequentially, by number. The first parameter is 1.

`{?= call [<arg1>,<arg2>, ...]}
{call [<arg1>,<arg2>, ...]}`

IN parameter values are set using the set methods inherited from PreparedStatement. The type of all OUT parameters must be registered prior to executing the stored procedure; their values are retrieved after execution via the get methods provided here.

A Callable statement may return a ResultSet or multiple ResultSets. Multiple ResultSets are handled using operations inherited from Statement. Please note that Informix does not support Multiple ResultSets.

See Also:
  `Connection.prepareCall(java.lang.String)`, `ResultSet`

### Field Summary

Fields
`static int` `IN`
`static int` `INOUT`
`static int` `OUT`

### Fields inherited from class com.informix.jdbc.IfxPreparedStatement

`namedCalls, ordinalCalls, vector`

### Fields inherited from class com.informix.jdbc.IfxStatement

`BatchParamVector, BatchVector, Closed, commandString, currentResult, cursorOpen, executeBatchInProgress, jconn, numqmarks, outputMetaData, pool, poolable, prot, SGK_ALL_KEYS, SGK_indexes, SGK_KEYS_BY_INDEX, SGK_KEYS_BY_NAME, SGK_metaData, SGK_names, SGK_NO_KEYS, SGK_resultSet, statementType`

### 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
`void` `close()` In many cases, it is desirable to immediately release a Statements's database and JDBC resources instead of waiting for this to happen when it is automatically closed; the close method provides this immediate release.
`void` `closeOnCompletion()`
`boolean` `execute()` Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate.
`java.sql.ResultSet` `executeQuery()` A prepared SQL query is executed and its ResultSet is returned.
`int` `executeUpdate()` Execute a SQL INSERT, UPDATE or DELETE statement.
`java.sql.Array` `getArray(int parameterIndex)` Get an Array OUT paramater.
`java.sql.Array` `getArray(java.lang.String parameterName)`
`java.math.BigDecimal` `getBigDecimal(int parameterIndex)` Get the value of a NUMERIC parameter as a java.math.BigDecimal object.
`java.math.BigDecimal` `getBigDecimal(int parameterIndex, int scale)` Deprecated.
`java.math.BigDecimal` `getBigDecimal(java.lang.String parameterName)`
`java.sql.Blob` `getBlob(int parameterIndex)` Get an BLOB OUT paramater.
`java.sql.Blob` `getBlob(java.lang.String parameterName)`
`boolean` `getBoolean(int parameterIndex)` Get the value of a BIT parameter as a Java boolean.
`boolean` `getBoolean(java.lang.String parameterName)`
`byte` `getByte(int parameterIndex)` Get the value of a TINYINT parameter as a Java byte.
`byte` `getByte(java.lang.String parameterName)`
`byte[]` `getBytes(int parameterIndex)` Get the value of a SQL BINARY or VARBINARY parameter as a Java byte[]
`byte[]` `getBytes(java.lang.String parameterName)`
`java.io.Reader` `getCharacterStream(int parameterIndex)`
`java.io.Reader` `getCharacterStream(java.lang.String parameterName)`
`java.sql.Clob` `getClob(int parameterIndex)` Get an CLOB OUT paramater.
`java.sql.Clob` `getClob(java.lang.String parameterName)`
`java.sql.Date` `getDate(int parameterIndex)` Get the value of a SQL DATE parameter as a java.sql.Date object
`java.sql.Date` `getDate(int parameterIndex, java.util.Calendar cal)` Get the value of a SQL DATE parameter as a java.sql.Date object
`java.sql.Date` `getDate(java.lang.String parameterName)`
`java.sql.Date` `getDate(java.lang.String parameterName, java.util.Calendar cal)`
`double` `getDouble(int parameterIndex)` Get the value of a DOUBLE parameter as a Java double.
`double` `getDouble(java.lang.String parameterName)`
`float` `getFloat(int parameterIndex)` Get the value of a FLOAT parameter as a Java float.
`float` `getFloat(java.lang.String parameterName)`
`int` `getInt(int parameterIndex)` Get the value of a INTEGER parameter as a Java int.
`int` `getInt(java.lang.String parameterName)`
`long` `getLong(int parameterIndex)` Get the value of a BIGINT parameter as a Java long.
`long` `getLong(java.lang.String parameterName)`
`boolean` `getMoreResults()` getMoreResults moves to a Statement's next result.
`java.io.Reader` `getNCharacterStream(int parameterIndex)`
`java.io.Reader` `getNCharacterStream(java.lang.String parameterName)`
`java.sql.NClob` `getNClob(int parameterIndex)`
`java.sql.NClob` `getNClob(java.lang.String parameterName)`
`java.lang.String` `getNString(int parameterIndex)`
`java.lang.String` `getNString(java.lang.String parameterName)`
`java.lang.Object` `getObject(int parameterIndex)` Get the value of a parameter as a Java object.
`<T> T` `getObject(int parameterIndex, java.lang.Class<T> type)`
`java.lang.Object` `getObject(int parameterIndex, java.util.Map<java.lang.String,java.lang.Class<?>> map)` Get the value of a parameter as a Java object.
`java.lang.Object` `getObject(java.lang.String parameterName)`
`<T> T` `getObject(java.lang.String parameterName, java.lang.Class<T> type)`
`java.lang.Object` `getObject(java.lang.String parameterName, java.util.Map<java.lang.String,java.lang.Class<?>> map)`
`java.sql.ParameterMetaData` `getParameterMetaData()` A SQ_CIDESRIBE is sent to server and SQ_IDESCRIBE is received with parameter data.
`java.sql.Ref` `getRef(int parameterIndex)` Get a REF() OUT parameter.
`java.sql.Ref` `getRef(java.lang.String parameterName)`
`java.sql.ResultSet` `getResultSet()` Override getResults method from IfxStatement
`java.sql.RowId` `getRowId(int parameterIndex)`
`java.sql.RowId` `getRowId(java.lang.String parameterName)`
`short` `getShort(int parameterIndex)` Get the value of a SMALLINT parameter as a Java short.
`short` `getShort(java.lang.String parameterName)`
`java.sql.SQLXML` `getSQLXML(int parameterIndex)`
`java.sql.SQLXML` `getSQLXML(java.lang.String parameterName)`
`java.lang.String` `getString(int parameterIndex)` Get the value of a CHAR, VARCHAR, or LONGVARCHAR parameter as a Java String.
`java.lang.String` `getString(java.lang.String parameterName)`
`java.sql.Time` `getTime(int parameterIndex)` Get the value of a SQL TIME parameter as a java.sql.Time object.
`java.sql.Time` `getTime(int parameterIndex, java.util.Calendar cal)` Get the value of a SQL TIME parameter as a java.sql.Time object.
`java.sql.Time` `getTime(java.lang.String parameterName)`
`java.sql.Time` `getTime(java.lang.String parameterName, java.util.Calendar cal)`
`java.sql.Timestamp` `getTimestamp(int parameterIndex)` Get the value of a SQL TIMESTAMP parameter as a java.sql.Timestamp object.
`java.sql.Timestamp` `getTimestamp(int parameterIndex, java.util.Calendar cal)`
`java.sql.Timestamp` `getTimestamp(java.lang.String parameterName)`
`java.sql.Timestamp` `getTimestamp(java.lang.String parameterName, java.util.Calendar cal)`
`java.net.URL` `getURL(int parameterIndex)`
`java.net.URL` `getURL(java.lang.String parameterName)`
`protected int` `handleParameterName(java.lang.String parameterName)`
`boolean` `hasOutParameter()` Returns true if the routine has an output parameter.
`void` `IfxRegisterOutParameter(int parameterIndex, int ifxType)` Before executing a stored procedure call you must explicitly call registerOutParameter to register the java.sql.Type or com.informix.IfxTypes of each out parameter.
`void` `IfxRegisterOutParameter(int parameterIndex, int ifxType, int scale)` Use this version of IfxRegisterOutParameter for registering IFX_TYPE_DECIMAL out parameters.
`void` `IfxRegisterOutParameter(int parameterIndex, int ifxType, java.lang.String name)` Before executing a stored procedure call you must explicitly call registerOutParameter to register the java.sql.Type or com.informix.IfxTypes of each out parameter.
`void` `IfxSetNull(int i, int ifxType)` Set a parameter to SQL NULL.
`void` `IfxSetNull(int i, int ifxType, java.lang.String name)` Set a parameter to SQL NULL.
`boolean` `isCloseOnCompletion()`

`void`

`putOutParamInfoIntoVector()`
As per JDBC Spec, user is not required to call setXXX() method for OUT parameters, this creates problem at binding times as IDS server requires all parameters to have binding information, even though it gets ignored Following routine will update "vector" with dummy calls to setXXX() methods for each OUT parameters, so that binding information get passed to the server

`void` `registerOutParameter(int parameterIndex, int sqlType)` Before executing a stored procedure call you must explicitly call registerOutParameter to register the java.sql.Type of each out parameter.
`void` `registerOutParameter(int parameterIndex, int sqlType, int scale)` Use this version of registerOutParameter for registering Numeric or Decimal out parameters.
`void` `registerOutParameter(int parameterIndex, int sqlType, java.lang.String name)`
`void` `registerOutParameter(java.lang.String parameterName, int sqlType)`
`void` `registerOutParameter(java.lang.String parameterName, int sqlType, int scale)`
`void` `registerOutParameter(java.lang.String parameterName, int sqlType, java.lang.String typeName)`
`void` `setArray(int i, java.sql.Array x, java.lang.String collectionType)` Set an Array/Object parameter.
`void` `setAsciiStream(java.lang.String parameterName, java.io.InputStream x)`
`void` `setAsciiStream(java.lang.String parameterName, java.io.InputStream x, int length)`
`void` `setAsciiStream(java.lang.String parameterName, java.io.InputStream x, long length)`
`void` `setBigDecimal(java.lang.String parameterName, java.math.BigDecimal x)`
`void` `setBinaryStream(java.lang.String parameterName, java.io.InputStream x)`
`void` `setBinaryStream(java.lang.String parameterName, java.io.InputStream x, int length)`
`void` `setBinaryStream(java.lang.String parameterName, java.io.InputStream x, long length)`
`void` `setBlob(java.lang.String parameterName, java.sql.Blob x)`
`void` `setBlob(java.lang.String parameterName, java.io.InputStream inputStream)`
`void` `setBlob(java.lang.String parameterName, java.io.InputStream inputStream, long length)`
`void` `setBoolean(int i, boolean x)` Set a parameter to a Java boolean value.
`void` `setBoolean(java.lang.String parameterName, boolean x)`
`void` `setByte(java.lang.String parameterName, byte x)`
`void` `setBytes(java.lang.String parameterName, byte[] x)`
`void` `setCharacterStream(java.lang.String parameterName, java.io.Reader reader)`
`void` `setCharacterStream(java.lang.String parameterName, java.io.Reader reader, int length)`
`void` `setCharacterStream(java.lang.String parameterName, java.io.Reader reader, long length)`
`void` `setClob(java.lang.String parameterName, java.sql.Clob x)`
`void` `setClob(java.lang.String parameterName, java.io.Reader reader)`
`void` `setClob(java.lang.String parameterName, java.io.Reader reader, long length)`
`void` `setDate(java.lang.String parameterName, java.sql.Date x)`
`void` `setDate(java.lang.String parameterName, java.sql.Date x, java.util.Calendar cal)`
`void` `setDouble(java.lang.String parameterName, double x)`
`void` `setFloat(java.lang.String parameterName, float x)`
`void` `setInt(java.lang.String parameterName, int x)`
`void` `setLong(java.lang.String parameterName, long x)`
`void` `setNCharacterStream(java.lang.String parameterName, java.io.Reader value)`
`void` `setNCharacterStream(java.lang.String parameterName, java.io.Reader value, long length)`
`void` `setNClob(java.lang.String parameterName, java.sql.NClob value)`
`void` `setNClob(java.lang.String parameterName, java.io.Reader reader)`
`void` `setNClob(java.lang.String parameterName, java.io.Reader reader, long length)`
`void` `setNString(java.lang.String parameterName, java.lang.String value)`
`void` `setNull(java.lang.String parameterName, int sqlType)`
`void` `setNull(java.lang.String parameterName, int sqlType, java.lang.String typeName)`
`void` `setObject(int i, java.sql.Array x, java.lang.String collectionType)` Set an Object parameter.
`void` `setObject(java.lang.String parameterName, java.lang.Object x)`
`void` `setObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType)`
`void` `setObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType, int scale)`
`void` `setRowId(java.lang.String parameterName, java.sql.RowId x)`
`void` `setShort(java.lang.String parameterName, short x)`
`void` `setSQLXML(java.lang.String parameterName, java.sql.SQLXML xmlObject)`
`void` `setString(java.lang.String parameterName, java.lang.String x)`
`void` `setTime(java.lang.String parameterName, java.sql.Time x)`
`void` `setTime(java.lang.String parameterName, java.sql.Time x, java.util.Calendar cal)`
`void` `setTimestamp(java.lang.String parameterName, java.sql.Timestamp x)`
`void` `setTimestamp(java.lang.String parameterName, java.sql.Timestamp x, java.util.Calendar cal)`
`void` `setURL(java.lang.String parameterName, java.net.URL val)`
`boolean` `wasNull()` An OUT parameter may have the value of SQL NULL; wasNull reports whether the last value read has this special value.

### Methods inherited from class com.informix.jdbc.IfxPreparedStatement

`addBatch, addBatch, ambiguousSQLType, checkParameterIndex, clearBatch, clearBindColType, clearParameters, closeCursor, execute, execute, execute, execute, executeBatch, executeQuery, executeQuery, executeQuery, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getMetaData, getParameterMetaData, getResultSetProtocol, IfxSetObject, IfxSetObject, isWrapperFor, setArray, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBindColIfxType, setBindColIfxType, setBindColIfxType, setBindColType, setBindColType, setBindColType, setBlob, setBlob, setBlob, setBlob, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setDate, setDate, setDate, setDate, setDouble, setDouble, setFloat, setFloat, setIfxBSONObject, setInt, setInt, setInterval, setIntervalDF, setIntervalYM, setLong, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setShort, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setUnicodeStream, setURL, superClose, unwrap`

### Methods inherited from class com.informix.jdbc.IfxStatement

`cancel, chkAndSetGetRsltCalledFlag, clearWarnings, executeImpl, executeQueryImpl, getAutoFree, getBigSerial, getConnection, getCursorName, getFetchBufferSize, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getQueryTimeout, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSerial, getSerial8, getStatementType, getUpdateCount, getWarnings, isClosed, isPoolable, resetMethodCalledFlags, scrubBatch, setAutoFree, setCursorName, setEscapeProcessing, setFetchBufferSize, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setResultSetConcurrency, setResultSetType, setStatementType, transferWarnings`

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

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

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

`registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setObject, setObject`

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

`addBatch, clearParameters, executeLargeUpdate, getMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, 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, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getQueryTimeout, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

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

`isWrapperFor, unwrap`

### Field Detail

#### IN

    public static final int IN

See Also:
  Constant Field Values

#### OUT

    public static final int OUT

See Also:
  Constant Field Values

#### INOUT

    public static final int INOUT

See Also:
  Constant Field Values

### Method Detail

#### executeQuery

    public java.sql.ResultSet executeQuery()
                                    throws java.sql.SQLException

A prepared SQL query is executed and its ResultSet is returned.

Specified by:
  `executeQuery` in interface `java.sql.PreparedStatement`
Overrides:
  `executeQuery` in class `IfxPreparedStatement`
Returns:
  a ResultSet that contains the data produced by the query
Throws:
  `java.sql.SQLException`

#### getResultSet

    public java.sql.ResultSet getResultSet()
                                    throws java.sql.SQLException

Override getResults method from IfxStatement

Specified by:
  `getResultSet` in interface `java.sql.Statement`
Overrides:
  `getResultSet` in class `IfxStatement`
Returns:
Throws:
  `java.sql.SQLException`
See Also:
  `IfxStatement.execute(java.lang.String)`

#### getMoreResults

    public boolean getMoreResults()
                           throws java.sql.SQLException

Description copied from class: `IfxStatement`
getMoreResults moves to a Statement's next result. It returns true if this result is a ResultSet. getMoreResults also implicitly closes any current ResultSet obtained with getResultSet.

Specified by:
  `getMoreResults` in interface `java.sql.Statement`
Overrides:
  `getMoreResults` in class `IfxStatement`
Returns:
  true if the next result is a ResultSet; false if it is an integer Informix is not support multiple Result, therefore, it is always return false.
Throws:
  `java.sql.SQLException`
See Also:
  `IfxStatement.execute(java.lang.String)`

#### close

    public void close()
               throws java.sql.SQLException

Description copied from class: `IfxStatement`
In many cases, it is desirable to immediately release a Statements's database and JDBC resources instead of waiting for this to happen when it is automatically closed; the close method provides this immediate release.

Note: A Statement is automatically closed when it is garbage collected. When a Statement is closed its current ResultSet, if one exists, is also closed.

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `java.sql.Statement`
Overrides:
  `close` in class `IfxPreparedStatement`
Throws:
  `java.sql.SQLException`

#### execute

    public boolean execute()
                    throws java.sql.SQLException

Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate.

Specified by:
  `execute` in interface `java.sql.PreparedStatement`
Overrides:
  `execute` in class `IfxPreparedStatement`
Throws:
  `java.sql.SQLException`
See Also:
  `Statement.execute(java.lang.String)`

#### executeUpdate

    public int executeUpdate()
                      throws java.sql.SQLException

Execute a SQL INSERT, UPDATE or DELETE statement. In addition, SQL statements that return nothing such as SQL DDL statements can be executed.

Specified by:
  `executeUpdate` in interface `java.sql.PreparedStatement`
Overrides:
  `executeUpdate` in class `IfxPreparedStatement`
Returns:
  either the row count for INSERT, UPDATE or DELETE; or 0 for SQL statements that return nothing
Throws:
  `java.sql.SQLException`

#### IfxSetNull

    public void IfxSetNull(int i,
                           int ifxType)
                    throws java.sql.SQLException

Set a parameter to SQL NULL.

Note: You must specify the parameter's Informix type.

Specified by:
  `IfxSetNull` in interface `IfmxCallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `ifxType` - Informix type code defined by com.informix.jdbc.IfxTypes
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments.

#### IfxSetNull

    public void IfxSetNull(int i,
                           int ifxType,
                           java.lang.String name)
                    throws java.sql.SQLException

Set a parameter to SQL NULL.

Note: You must specify the parameter's Informix type.

Specified by:
  `IfxSetNull` in interface `IfmxCallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `ifxType` - Informix type code defined by com.informix.jdbc.IfxTypes
  `name` - Opaque type name, named row name, distinct type name or collection / unnamed row definition.
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments.

#### setArray

    public void setArray(int i,
                         java.sql.Array x,
                         java.lang.String collectionType)
                  throws java.sql.SQLException

Set an Array/Object parameter. The driver will instantiate a IfxCollection object and then pass in the string to fromObject(). The string is expected to be the collection definition: "set(int not null)". Currently, this is only used by CallableStatement. We're only having problems casting from one collection type to another when UDRs are concerned. The server can't find the UDR if the types don't match 100%

Specified by:
  `setArray` in interface `IfmxCallableStatement`
Overrides:
  `setArray` in class `IfxPreparedStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing an SQL array
  `collectionType` - Collection definition
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### setObject

    public void setObject(int i,
                          java.sql.Array x,
                          java.lang.String collectionType)
                   throws java.sql.SQLException

Description copied from interface: `IfmxCallableStatement`
Set an Object parameter. The collectionType is expected to be the collection definition: "set(int not null)". This isn't information needed for other data types. The server can't find the UDR if the parameter types don't match 100%.

Specified by:
  `setObject` in interface `IfmxCallableStatement`
Parameters:
  `i` - the first parameter is 1, the second is 2, ...
  `x` - an object representing an SQL array
  `collectionType` - Collection definition string
Throws:
  `java.sql.SQLException` - if parameterIndex is greater than the number of arguments or a conversion error occurs.

#### setBoolean

    public void setBoolean(int i,
                           boolean x)
                    throws java.sql.SQLException

Description copied from class: `IfxPreparedStatement`
Set a parameter to a Java boolean value. The driver converts this to a SQL BIT value when it sends it to the database.

Specified by:
  `setBoolean` in interface `java.sql.PreparedStatement`
Overrides:
  `setBoolean` in class `IfxPreparedStatement`
  `x` - the parameter value
Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Before executing a stored procedure call you must explicitly call registerOutParameter to register the java.sql.Type of each out parameter.

Note: When reading the value of an out parameter you must use the getXXX method whose Java type XXX corresponds to the parameter's registered SQL type.

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `sqlType` - SQL type code defined by java.sql.Types; for parameters of type Numeric or Decimal use the version of registerOutParameter that accepts a scale value
Throws:
  `java.sql.SQLException`
See Also:
  `Types`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Use this version of registerOutParameter for registering Numeric or Decimal out parameters.

Note: When reading the value of an out parameter you must use the getXXX method whose Java type XXX corresponds to the parameter's registered SQL type.

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `sqlType` - use either java.sql.Type.NUMERIC or java.sql.Type.DECIMAL
  `scale` - a value greater than or equal to zero representing the desired number of digits to the right of the decimal point
Throws:
  `java.sql.SQLException`
See Also:
  `Types`

#### IfxRegisterOutParameter

    public void IfxRegisterOutParameter(int parameterIndex,
                                        int ifxType)
                                 throws java.sql.SQLException

Before executing a stored procedure call you must explicitly call registerOutParameter to register the java.sql.Type or com.informix.IfxTypes of each out parameter.

Note: When reading the value of an out parameter you must use the getXXX method whose Java type XXX corresponds to the parameter's registered Informix type.

Specified by:
  `IfxRegisterOutParameter` in interface `IfmxCallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `ifxType` - type code defined by com.informix.IfxTypes for parameters of type Numeric, Decimal, Datetime or Interval use the version of IfxRegisterOutParameter that accepts a scale value
Throws:
  `java.sql.SQLException` - if there is no out parameter or if parameterIndex is greater than the number of arguments.
See Also:
  `Types`

#### IfxRegisterOutParameter

    public void IfxRegisterOutParameter(int parameterIndex,
                                        int ifxType,
                                        java.lang.String name)
                                 throws java.sql.SQLException

Before executing a stored procedure call you must explicitly call registerOutParameter to register the java.sql.Type or com.informix.IfxTypes of each out parameter.

Note: When reading the value of an out parameter you must use the getXXX method whose Java type XXX corresponds to the parameter's registered Informix type.

Specified by:
  `IfxRegisterOutParameter` in interface `IfmxCallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `ifxType` - type code defined by com.informix.IfxTypes for parameters of type Numeric, Decimal, Datetime or Interval use the version of IfxRegisterOutParameter that accepts a scale value
  `name` - Opaque type name, named row name, distinct type name or collection / unnamed row definition.
Throws:
  `java.sql.SQLException` - if there is no out parameter, if parameterIndex is greater than the number of arguments or if the type is not UDTVAR or UDTFIXED.
See Also:
  `Types`

#### IfxRegisterOutParameter

    public void IfxRegisterOutParameter(int parameterIndex,
                                        int ifxType,
                                        int scale)
                                 throws java.sql.SQLException

Use this version of IfxRegisterOutParameter for registering IFX_TYPE_DECIMAL out parameters.

Note: When reading the value of an out parameter you must use the getXXX method whose Java type XXX corresponds to the parameter's registered Informix type.

Specified by:
  `IfxRegisterOutParameter` in interface `IfmxCallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `ifxType` - use either com.informix.lang.IfxTypes.IFX_TYPE_DECIMAL IFX_TYPE_DATETIME or IFX_TYPE_INTERVAL.
  `scale` - a value greater than or equal to zero representing the desired number of digits to the right of the decimal point. Or the encoded length if this is a datetime or interval.
Throws:
  `java.sql.SQLException` - if there is no out parameter or if parameterIndex is greater than the number of arguments.
See Also:
  `Types`

#### wasNull

    public boolean wasNull()
                    throws java.sql.SQLException

An OUT parameter may have the value of SQL NULL; wasNull reports whether the last value read has this special value.

Note: You must first call getXXX on a parameter to read its value and then call wasNull() to find if the value was SQL NULL.

Specified by:
  `wasNull` in interface `java.sql.CallableStatement`
Returns:
  true if the last parameter read was SQL NULL
Throws:
  `java.sql.SQLException`

#### getString

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

Get the value of a CHAR, VARCHAR, or LONGVARCHAR parameter as a Java String.

Specified by:
  `getString` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is null
Throws:
  `java.sql.SQLException`

#### getBoolean

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

Get the value of a BIT parameter as a Java boolean.

Specified by:
  `getBoolean` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is false
Throws:
  `java.sql.SQLException`

#### getByte

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

Get the value of a TINYINT parameter as a Java byte.

Specified by:
  `getByte` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is 0
Throws:
  `java.sql.SQLException`

#### getShort

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

Get the value of a SMALLINT parameter as a Java short.

Specified by:
  `getShort` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is 0
Throws:
  `java.sql.SQLException`

#### getInt

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

Get the value of a INTEGER parameter as a Java int.

Specified by:
  `getInt` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is 0
Throws:
  `java.sql.SQLException`

#### getLong

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

Get the value of a BIGINT parameter as a Java long.

Specified by:
  `getLong` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is 0
Throws:
  `java.sql.SQLException`

#### getFloat

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

Get the value of a FLOAT parameter as a Java float.

Specified by:
  `getFloat` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is 0
Throws:
  `java.sql.SQLException`

#### getDouble

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

Get the value of a DOUBLE parameter as a Java double.

Specified by:
  `getDouble` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is 0
Throws:
  `java.sql.SQLException`

#### getBigDecimal

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

Deprecated.
Get the value of a NUMERIC parameter as a java.math.BigDecimal object.

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
  `scale` - - a value greater than or equal to zero representing the number of digits to the right of the decimal point.
Returns:
  the parameter value (full precision); if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException`

#### getBigDecimal

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

Get the value of a NUMERIC parameter as a java.math.BigDecimal object.

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value (full precision); if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException`

#### getBytes

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

Get the value of a SQL BINARY or VARBINARY parameter as a Java byte[]

Specified by:
  `getBytes` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is null
Throws:
  `java.sql.SQLException`

#### getDate

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

Get the value of a SQL DATE parameter as a java.sql.Date object

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is null
Throws:
  `java.sql.SQLException`

#### getTime

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

Get the value of a SQL TIME parameter as a java.sql.Time object.

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is null
Throws:
  `java.sql.SQLException`

#### getTime

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

Get the value of a SQL TIME parameter as a java.sql.Time object.

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is null
Throws:
  `java.sql.SQLException`

#### getTimestamp

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

Get the value of a SQL TIMESTAMP parameter as a java.sql.Timestamp object.

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL the result is null
Throws:
  `java.sql.SQLException`

#### getTimestamp

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

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

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

Get the value of a parameter as a Java object.

This method returns a Java object whose type coresponds to the SQL type that was registered for this parameter using registerOutParameter.

Note that this method may be used to read datatabase specific abstract data types, by specifying a targetSqlType of java.sql.types.OTHER which allows the driver to return a database specific Java type.

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
Returns:
  A java.lang.Object holding the OUT parameter value.
Throws:
  `java.sql.SQLException`
See Also:
  `Types`

#### getObject

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

Get the value of a parameter as a Java object.

Returns an object representing the value of OUT parameter @i. Use the @map to determine the class from which to construct data of SQL structured and distinct types

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
  `map` - - the mapping from SQL type names to Java classes
Returns:
  A java.lang.Object holding the OUT parameter value.
Throws:
  `java.sql.SQLException`

#### getArray

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

Get an Array OUT paramater.

Specified by:
  `getArray` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
Returns:
  an object representing an SQL array.
Throws:
  `java.sql.SQLException`

#### getBlob

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

Get an BLOB OUT paramater.

Specified by:
  `getBlob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
Returns:
  an object representing a BLOB
Throws:
  `java.sql.SQLException`

#### getClob

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

Get an CLOB OUT paramater.

Specified by:
  `getClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
Returns:
  an object representing a CLOB
Throws:
  `java.sql.SQLException`

#### getRef

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

Get a REF() OUT parameter.

Specified by:
  `getRef` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, ...
Returns:
  an object representing data of an SQL REF Type
Throws:
  `java.sql.SQLException`

#### getDate

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

Get the value of a SQL DATE parameter as a java.sql.Date object

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  the parameter value; if the value is SQL NULL, the result is null
Throws:
  `java.sql.SQLException` - if a database-access error occurs.

#### hasOutParameter

    public boolean hasOutParameter()

Returns true if the routine has an output parameter.

Specified by:
  `hasOutParameter` in interface `IfmxCallableStatement`
Returns:
  true if the routine has an output parameter.

#### putOutParamInfoIntoVector

    public void putOutParamInfoIntoVector()
                                   throws java.sql.SQLException

As per JDBC Spec, user is not required to call setXXX() method for OUT parameters, this creates problem at binding times as IDS server requires all parameters to have binding information, even though it gets ignored Following routine will update "vector" with dummy calls to setXXX() methods for each OUT parameters, so that binding information get passed to the server

Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### registerOutParameter

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

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getURL

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

Specified by:
  `getURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setURL

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

Specified by:
  `setURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNull

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

Specified by:
  `setNull` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNull

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

Specified by:
  `setNull` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBoolean

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

Specified by:
  `setBoolean` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setByte

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

Specified by:
  `setByte` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setShort

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

Specified by:
  `setShort` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setInt

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

Specified by:
  `setInt` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setLong

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

Specified by:
  `setLong` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setFloat

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

Specified by:
  `setFloat` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setDouble

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

Specified by:
  `setDouble` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBigDecimal

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

Specified by:
  `setBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setString

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

Specified by:
  `setString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBytes

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

Specified by:
  `setBytes` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setDate

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

Specified by:
  `setDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTime

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

Specified by:
  `setTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTimestamp

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

Specified by:
  `setTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setAsciiStream

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

Specified by:
  `setAsciiStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBinaryStream

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

Specified by:
  `setBinaryStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setObject

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

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setObject

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

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setObject

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

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

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

Specified by:
  `setCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setDate

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

Specified by:
  `setDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTime

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

Specified by:
  `setTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTimestamp

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

Specified by:
  `setTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getString

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

Specified by:
  `getString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBoolean

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

Specified by:
  `getBoolean` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getByte

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

Specified by:
  `getByte` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getShort

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

Specified by:
  `getShort` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getInt

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

Specified by:
  `getInt` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getLong

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

Specified by:
  `getLong` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getFloat

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

Specified by:
  `getFloat` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getDouble

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

Specified by:
  `getDouble` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBytes

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

Specified by:
  `getBytes` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getDate

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

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTime

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

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTimestamp

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

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

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

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

Specified by:
  `getBigDecimal` 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

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRef

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

Specified by:
  `getRef` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBlob

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

Specified by:
  `getBlob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getClob

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

Specified by:
  `getClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getArray

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

Specified by:
  `getArray` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getDate

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

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTime

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

Specified by:
  `getTime` 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

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getURL

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

Specified by:
  `getURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getParameterMetaData

    public java.sql.ParameterMetaData getParameterMetaData()
                                                    throws java.sql.SQLException

A SQ_CIDESRIBE is sent to server and SQ_IDESCRIBE is received with parameter data.

Specified by:
  `getParameterMetaData` in interface `java.sql.PreparedStatement`
Overrides:
  `getParameterMetaData` in class `IfxPreparedStatement`
Returns:
  a ParameterMetaData containing info for the parameters
Throws:
  `java.sql.SQLException`

#### handleParameterName

    protected int handleParameterName(java.lang.String parameterName)
                               throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### getCharacterStream

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

Specified by:
  `getCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getCharacterStream

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

Specified by:
  `getCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNCharacterStream

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

Specified by:
  `getNCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNCharacterStream

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

Specified by:
  `getNCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNClob

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

Specified by:
  `getNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNClob

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

Specified by:
  `getNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNString

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

Specified by:
  `getNString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getNString

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

Specified by:
  `getNString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRowId

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

Specified by:
  `getRowId` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRowId

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

Specified by:
  `getRowId` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getSQLXML

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

Specified by:
  `getSQLXML` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getSQLXML

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

Specified by:
  `getSQLXML` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setAsciiStream

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

Specified by:
  `setAsciiStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setAsciiStream

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

Specified by:
  `setAsciiStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBinaryStream

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

Specified by:
  `setBinaryStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBinaryStream

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

Specified by:
  `setBinaryStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBlob

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

Specified by:
  `setBlob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBlob

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

Specified by:
  `setBlob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBlob

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

Specified by:
  `setBlob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

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

Specified by:
  `setCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

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

Specified by:
  `setCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setClob

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

Specified by:
  `setClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setClob

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

Specified by:
  `setClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setClob

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

Specified by:
  `setClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNCharacterStream

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

Specified by:
  `setNCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNCharacterStream

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

Specified by:
  `setNCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNClob

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

Specified by:
  `setNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNClob

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

Specified by:
  `setNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNClob

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

Specified by:
  `setNClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNString

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

Specified by:
  `setNString` 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

Specified by:
  `setRowId` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setSQLXML

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

Specified by:
  `setSQLXML` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### closeOnCompletion

    public void closeOnCompletion()
                           throws java.sql.SQLException

Specified by:
  `closeOnCompletion` in interface `java.sql.Statement`
Overrides:
  `closeOnCompletion` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### isCloseOnCompletion

    public boolean isCloseOnCompletion()
                                throws java.sql.SQLException

Specified by:
  `isCloseOnCompletion` in interface `java.sql.Statement`
Overrides:
  `isCloseOnCompletion` in class `IfxStatement`
Throws:
  `java.sql.SQLException`

#### getObject

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

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

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

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`