com.amazon.redshift.core

## Interface BaseStatement

All Superinterfaces:
  AutoCloseable, RedshiftStatement, Statement, Wrapper

All Known Implementing Classes:
  RedshiftCallableStatement, RedshiftPreparedStatement, RedshiftStatementImpl

    public interface BaseStatement
    extends RedshiftStatement, Statement

Driver-internal statement interface. Application code should not use this interface.

### Field Summary

### Fields inherited from interface com.amazon.redshift.RedshiftStatement

`DATE_NEGATIVE_INFINITY, DATE_NEGATIVE_SMALLER_INFINITY, DATE_POSITIVE_INFINITY, DATE_POSITIVE_SMALLER_INFINITY`

### 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
`ResultSet` `createDriverResultSet(Field[] fields, List<Tuple> tuples)` Create a synthetic resultset from data provided by the driver.
`ResultSet` `createResultSet(Query originalQuery, Field[] fields, List<Tuple> tuples, ResultCursor cursor, RedshiftRowsBlockingQueue<Tuple> queueTuples, int[] rowCount, Thread ringBufferThread)` Create a resultset from data retrieved from the server.
`boolean` `executeWithFlags(CachedQuery cachedQuery, int flags)` Execute a query, passing additional query flags.
`boolean` `executeWithFlags(int flags)` Execute a prepared query, passing additional query flags.
`boolean` `executeWithFlags(String sql, int flags)` Execute a query, passing additional query flags.

### Methods inherited from interface com.amazon.redshift.RedshiftStatement

`getLastOID, getPrepareThreshold, isUseServerPrepare, setPrepareThreshold, setUseServerPrepare`

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

#### createDriverResultSet

    ResultSet createDriverResultSet(Field[] fields,
                                    List<Tuple> tuples)
                             throws SQLException

Create a synthetic resultset from data provided by the driver.

Parameters:
  `fields` - the column metadata for the resultset
  `tuples` - the resultset data
Returns:
  the new ResultSet
Throws:
  `SQLException` - if something goes wrong

#### createResultSet

    ResultSet createResultSet(Query originalQuery,
                              Field[] fields,
                              List<Tuple> tuples,
                              ResultCursor cursor,
                              RedshiftRowsBlockingQueue<Tuple> queueTuples,
                              int[] rowCount,
                              Thread ringBufferThread)
                       throws SQLException

Create a resultset from data retrieved from the server.

Parameters:
  `originalQuery` - the query that generated this resultset; used when dealing with updateable resultsets
  `fields` - the column metadata for the resultset
  `tuples` - the resultset data
  `cursor` - the cursor to use to retrieve more data from the server; if null, no additional data is present.
  `queueTuples` - the actual data in a blocking queue. If this is set then tuples will be null.
  `rowCount` - number of rows fetched from the socket.
  `ringBufferThread` - a thread to fetch rows in the limited rows buffer.
Returns:
  the new ResultSet
Throws:
  `SQLException` - if something goes wrong

#### executeWithFlags

    boolean executeWithFlags(String sql,
                             int flags)
                      throws SQLException

Execute a query, passing additional query flags.

Parameters:
  `sql` - the query to execute (JDBC-style query)
  `flags` - additional `QueryExecutor` flags for execution; these are bitwise-ORed into the default flags.
Returns:
  true if there is a result set
Throws:
  `SQLException` - if something goes wrong.

#### executeWithFlags

    boolean executeWithFlags(CachedQuery cachedQuery,
                             int flags)
                      throws SQLException

Execute a query, passing additional query flags.

Parameters:
  `cachedQuery` - the query to execute (native to Redshift)
  `flags` - additional `QueryExecutor` flags for execution; these are bitwise-ORed into the default flags.
Returns:
  true if there is a result set
Throws:
  `SQLException` - if something goes wrong.

#### executeWithFlags

    boolean executeWithFlags(int flags)
                      throws SQLException

Execute a prepared query, passing additional query flags.

Parameters:
  `flags` - additional `QueryExecutor` flags for execution; these are bitwise-ORed into the default flags.
Returns:
  true if there is a result set
Throws:
  `SQLException` - if something goes wrong.