## com.mysql.jdbc
Interface Statement

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

    public interface Statement

extends java.sql.Statement

This interface contains methods that are considered the "vendor extension" to the JDBC API for MySQL's implementation of java.sql.Statement. For those looking further into the driver implementation, it is not an API that is used for plugability of implementations inside our driver (which is why there are still references to StatementImpl throughout the code).

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
`void` `disableStreamingResults()` Resets this statements fetch size and result set type to the values they had before enableStreamingResults() was called.
`void` `enableStreamingResults()` Workaround for containers that 'check' for sane values of Statement.setFetchSize() so that applications can use the Java variant of libmysql's mysql_use_result() behavior.
`ExceptionInterceptor` `getExceptionInterceptor()`
`java.io.InputStream` `getLocalInfileInputStream()` Returns the InputStream instance that will be used to send data in response to a "LOAD DATA LOCAL INFILE" statement.
`int` `getOpenResultSetCount()` Returns the number of open result sets for this statement.
`void` `removeOpenResultSet(java.sql.ResultSet rs)` Callback for result set instances to remove them from the Set that tracks them per-statement
`void` `setHoldResultsOpenOverClose(boolean holdResultsOpenOverClose)`
`void` `setLocalInfileInputStream(java.io.InputStream stream)` Sets an InputStream instance that will be used to send data to the MySQL server for a "LOAD DATA LOCAL INFILE" statement rather than a FileInputStream or URLInputStream that represents the path given as an argument to the statement.
`void` `setPingTarget(PingTarget pingTarget)`

Methods inherited from interface java.sql.Statement

`addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

Methods inherited from interface java.sql.Wrapper
`isWrapperFor, unwrap`

Method Detail

### enableStreamingResults

    void enableStreamingResults()
                                throws java.sql.SQLException

  Workaround for containers that 'check' for sane values of Statement.setFetchSize() so that applications can use the Java variant of libmysql's mysql_use_result() behavior.

  Throws:
    `java.sql.SQLException`

### disableStreamingResults

    void disableStreamingResults()
                                 throws java.sql.SQLException

  Resets this statements fetch size and result set type to the values they had before enableStreamingResults() was called.

  Throws:
    `java.sql.SQLException`

### setLocalInfileInputStream

    void setLocalInfileInputStream(java.io.InputStream stream)

  Sets an InputStream instance that will be used to send data to the MySQL server for a "LOAD DATA LOCAL INFILE" statement rather than a FileInputStream or URLInputStream that represents the path given as an argument to the statement. This stream will be read to completion upon execution of a "LOAD DATA LOCAL INFILE" statement, and will automatically be closed by the driver, so it needs to be reset before each call to execute*() that would cause the MySQL server to request data to fulfill the request for "LOAD DATA LOCAL INFILE". If this value is set to NULL, the driver will revert to using a FileInputStream or URLInputStream as required.

### getLocalInfileInputStream

    java.io.InputStream getLocalInfileInputStream()

  Returns the InputStream instance that will be used to send data in response to a "LOAD DATA LOCAL INFILE" statement. This method returns NULL if no such stream has been set via setLocalInfileInputStream().

### setPingTarget

    void setPingTarget(PingTarget pingTarget)

### getExceptionInterceptor

    ExceptionInterceptor getExceptionInterceptor()

### removeOpenResultSet

    void removeOpenResultSet(java.sql.ResultSet rs)

  Callback for result set instances to remove them from the Set that tracks them per-statement

### getOpenResultSetCount

    int getOpenResultSetCount()

  Returns the number of open result sets for this statement.

  Returns:

### setHoldResultsOpenOverClose

    void setHoldResultsOpenOverClose(boolean holdResultsOpenOverClose)