com.gbasedbt.jdbc

## Interface IfmxStatement

All Superinterfaces:
  java.lang.AutoCloseable, java.sql.Statement, java.sql.Wrapper

    public interface IfmxStatement
    extends java.sql.Statement

The IfmxStatement interface contains GBase 8s extensions to the standard JDBC Statement interface.

See Also:
  `Connection.createStatement()`, `Statement`, `ResultSet`

### Field Summary

### 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 Abstract Methods
`java.sql.ResultSet` `executeQuery(java.lang.String sql, boolean withHold)` An GBase 8s extension to execute an SQL statement that returns a single ResultSet.
`boolean` `getAutoFree()` An GBase 8s extension that returns the current autofree mode of this statement.
`long` `getBigSerial()` An GBase 8s extension that returns the bigserial value of the last row inserted.
`int` `getFetchBufferSize()` returns the fetch buffer size if set for this statement object
`int` `getSerial()` An GBase 8s extension that returns the serial value of the last row inserted.
`long` `getSerial8()` An GBase 8s extension that returns the serial8 value of the last row inserted.
`int` `getStatementType()` An GBase 8s extention to return the statement type returned by preparing the SQL statement.
`void` `setAutoFree(boolean flag)` An GBase 8s extension that allows the user to set the autofree property for this statement.
`void` `setFetchBufferSize(int bufferSize)` An GBase 8s extension that sets the buffer size for this Statement object for fetch operation This value will override any FET_BUF_SIZE connection level property and is useful when OPTOFC property is set Server will use this value as hint to determin the maximum buffer size to send the data to the clients.

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

#### getSerial

    int getSerial()
           throws java.sql.SQLException

An GBase 8s extension that returns the serial value of the last row inserted.

Returns:
  The serial value of the last row inserted. If no rows were inserted, returns 0.
Throws:
  `java.sql.SQLException`

#### getSerial8

    long getSerial8()
             throws java.sql.SQLException

An GBase 8s extension that returns the serial8 value of the last row inserted.

Returns:
  The serial8 value of the last row inserted. If no rows were inserted, returns 0.
Throws:
  `java.sql.SQLException`

#### setAutoFree

    void setAutoFree(boolean flag)

An GBase 8s extension that allows the user to set the autofree property for this statement. The resource for this statement is immediately released after the statement is executed. If the statement is a query, the resource is released after the last row is fetched.

Parameters:
  `flag` - Indicates whether the autofree property is true (set) or false.

#### getAutoFree

    boolean getAutoFree()

An GBase 8s extension that returns the current autofree mode of this statement.

Returns:
  the autofree value of this statement: true (set) or false.

#### executeQuery

    java.sql.ResultSet executeQuery(java.lang.String sql,
                                    boolean withHold)
                             throws java.sql.SQLException

An GBase 8s extension to execute an SQL statement that returns a single ResultSet. The statement is executed with a hold cursor that spans across the transaction boundary.

Parameters:
  `sql` - The SQL statement.
  `withHold` - Specifies whether the cursor has a hold or not.
Returns:
  the table of data produced by the SQL statement.
Throws:
  `java.sql.SQLException`

#### getStatementType

    int getStatementType()

An GBase 8s extention to return the statement type returned by preparing the SQL statement. The number returned by this method can be deciphered by looking into the IfxStatementTypes.java file that is now exported to the user.

Returns:
  the statement type id

#### getBigSerial

    long getBigSerial()
               throws java.sql.SQLException

An GBase 8s extension that returns the bigserial value of the last row inserted.

Returns:
  The bigserial value of the last row inserted. If no rows were inserted, returns 0.
Throws:
  `java.sql.SQLException`

#### setFetchBufferSize

    void setFetchBufferSize(int bufferSize)

An GBase 8s extension that sets the buffer size for this Statement object for fetch operation This value will override any FET_BUF_SIZE connection level property and is useful when OPTOFC property is set Server will use this value as hint to determin the maximum buffer size to send the data to the clients.

Parameters:
  `bufferSize` - : number of bytes not exceeding 2GB
Throws:
  `java.sql.SQLException`
Since:
  4.10.JC3

#### getFetchBufferSize

    int getFetchBufferSize()

returns the fetch buffer size if set for this statement object

Returns:
Since:
  4.10.JC3