Package com.clickhouse.jdbc.internal

## Class SqlBasedPreparedStatement

- java.lang.Object
- - com.clickhouse.jdbc.Wrapper
  - - com.clickhouse.jdbc.internal.ClickHouseStatementImpl
    - - com.clickhouse.jdbc.internal.SqlBasedPreparedStatement

All Implemented Interfaces:
  `ClickHouseStatement`, `AutoCloseable`, `PreparedStatement`, `Statement`, `Wrapper`

    public class SqlBasedPreparedStatement
    extends ClickHouseStatementImpl
    implements PreparedStatement

### Field Summary

### Fields inherited from class com.clickhouse.jdbc.internal.ClickHouseStatementImpl

`batchStmts, parsedStmts`

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

### Constructor Summary

Constructors
`protected` `SqlBasedPreparedStatement​(ClickHouseConnection connection, ClickHouseRequest<?> request, JdbcParameterizedQuery preparedQuery, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addBatch()`
`void` `addBatch​(String sql)`
`void` `clearBatch()`
`void` `clearParameters()`
`protected void` `ensureParams()`
`boolean` `execute()`
`int[]` `executeBatch()`
`ResultSet` `executeQuery()`
`int` `executeUpdate()`
`ResultSetMetaData` `getMetaData()`
`ParameterMetaData` `getParameterMetaData()`
`void` `setArray​(int parameterIndex, Array x)`
`void` `setAsciiStream​(int parameterIndex, InputStream x)`
`void` `setAsciiStream​(int parameterIndex, InputStream x, int length)`
`void` `setAsciiStream​(int parameterIndex, InputStream x, long length)`
`void` `setBigDecimal​(int parameterIndex, BigDecimal x)`
`void` `setBinaryStream​(int parameterIndex, InputStream x)`
`void` `setBinaryStream​(int parameterIndex, InputStream x, int length)`
`void` `setBinaryStream​(int parameterIndex, InputStream x, long length)`
`void` `setBlob​(int parameterIndex, InputStream inputStream)`
`void` `setBlob​(int parameterIndex, InputStream inputStream, long length)`
`void` `setBlob​(int parameterIndex, Blob x)`
`void` `setBoolean​(int parameterIndex, boolean x)`
`void` `setByte​(int parameterIndex, byte x)`
`void` `setBytes​(int parameterIndex, byte[] x)`
`void` `setCharacterStream​(int parameterIndex, Reader reader)`
`void` `setCharacterStream​(int parameterIndex, Reader reader, int length)`
`void` `setCharacterStream​(int parameterIndex, Reader reader, long length)`
`void` `setClob​(int parameterIndex, Reader reader)`
`void` `setClob​(int parameterIndex, Reader reader, long length)`
`void` `setClob​(int parameterIndex, Clob x)`
`void` `setDate​(int parameterIndex, Date x)`
`void` `setDate​(int parameterIndex, Date x, Calendar cal)`
`void` `setDouble​(int parameterIndex, double x)`
`void` `setFloat​(int parameterIndex, float x)`
`void` `setInt​(int parameterIndex, int x)`
`void` `setLong​(int parameterIndex, long x)`
`void` `setNCharacterStream​(int parameterIndex, Reader value)`
`void` `setNCharacterStream​(int parameterIndex, Reader value, long length)`
`void` `setNClob​(int parameterIndex, Reader reader)`
`void` `setNClob​(int parameterIndex, Reader reader, long length)`
`void` `setNClob​(int parameterIndex, NClob value)`
`void` `setNString​(int parameterIndex, String value)`
`void` `setNull​(int parameterIndex, int sqlType)`
`void` `setNull​(int parameterIndex, int sqlType, String typeName)`
`void` `setObject​(int parameterIndex, Object x)`
`void` `setObject​(int parameterIndex, Object x, int targetSqlType)`
`void` `setObject​(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)`
`void` `setRef​(int parameterIndex, Ref x)`
`void` `setRowId​(int parameterIndex, RowId x)`
`void` `setShort​(int parameterIndex, short x)`
`void` `setSQLXML​(int parameterIndex, SQLXML xmlObject)`
`void` `setString​(int parameterIndex, String x)`
`void` `setTime​(int parameterIndex, Time x)`
`void` `setTime​(int parameterIndex, Time x, Calendar cal)`
`void` `setTimestamp​(int parameterIndex, Timestamp x)`
`void` `setTimestamp​(int parameterIndex, Timestamp x, Calendar cal)`
`void` `setUnicodeStream​(int parameterIndex, InputStream x, int length)`
`void` `setURL​(int parameterIndex, URL x)`
`protected int` `toArrayIndex​(int parameterIndex)`

### Methods inherited from class com.clickhouse.jdbc.internal.ClickHouseStatementImpl

`applyFormat, cancel, clearWarnings, close, closeOnCompletion, ensureOpen, execute, execute, execute, execute, executeInsert, executeQuery, executeStatement, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConfig, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLastStatement, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getRequest, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, parseSqlStatements, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLastStatement, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, updateResult`

### Methods inherited from class com.clickhouse.jdbc.Wrapper

`isWrapperFor, unwrap`

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

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

### Methods inherited from interface com.clickhouse.jdbc.ClickHouseStatement

`write`

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

`executeLargeUpdate, setObject, setObject`

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

`cancel, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

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

`isWrapperFor, unwrap`

### Constructor Detail

#### SqlBasedPreparedStatement

    protected SqlBasedPreparedStatement​(ClickHouseConnection connection,
                                        ClickHouseRequest<?> request,
                                        JdbcParameterizedQuery preparedQuery,
                                        int resultSetType,
                                        int resultSetConcurrency,
                                        int resultSetHoldability)
                                 throws SQLException

Throws:
  `SQLException`

### Method Detail

#### ensureParams

    protected void ensureParams()
                         throws SQLException

Throws:
  `SQLException`

#### toArrayIndex

    protected int toArrayIndex​(int parameterIndex)
                        throws SQLException

Throws:
  `SQLException`

#### executeQuery

    public ResultSet executeQuery()
                           throws SQLException

Specified by:
  `executeQuery` in interface `PreparedStatement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate()
                      throws SQLException

Specified by:
  `executeUpdate` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull​(int parameterIndex,
                        int sqlType)
                 throws SQLException

Specified by:
  `setNull` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBoolean

    public void setBoolean​(int parameterIndex,
                           boolean x)
                    throws SQLException

Specified by:
  `setBoolean` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setByte

    public void setByte​(int parameterIndex,
                        byte x)
                 throws SQLException

Specified by:
  `setByte` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setShort

    public void setShort​(int parameterIndex,
                         short x)
                  throws SQLException

Specified by:
  `setShort` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setInt

    public void setInt​(int parameterIndex,
                       int x)
                throws SQLException

Specified by:
  `setInt` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setLong

    public void setLong​(int parameterIndex,
                        long x)
                 throws SQLException

Specified by:
  `setLong` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setFloat

    public void setFloat​(int parameterIndex,
                         float x)
                  throws SQLException

Specified by:
  `setFloat` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDouble

    public void setDouble​(int parameterIndex,
                          double x)
                   throws SQLException

Specified by:
  `setDouble` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBigDecimal

    public void setBigDecimal​(int parameterIndex,
                              BigDecimal x)
                       throws SQLException

Specified by:
  `setBigDecimal` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setString

    public void setString​(int parameterIndex,
                          String x)
                   throws SQLException

Specified by:
  `setString` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBytes

    public void setBytes​(int parameterIndex,
                         byte[] x)
                  throws SQLException

Specified by:
  `setBytes` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate​(int parameterIndex,
                        Date x)
                 throws SQLException

Specified by:
  `setDate` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime​(int parameterIndex,
                        Time x)
                 throws SQLException

Specified by:
  `setTime` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp​(int parameterIndex,
                             Timestamp x)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream​(int parameterIndex,
                               InputStream x,
                               int length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setUnicodeStream

    public void setUnicodeStream​(int parameterIndex,
                                 InputStream x,
                                 int length)
                          throws SQLException

Specified by:
  `setUnicodeStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream​(int parameterIndex,
                                InputStream x,
                                int length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### clearParameters

    public void clearParameters()
                         throws SQLException

Specified by:
  `clearParameters` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject​(int parameterIndex,
                          Object x,
                          int targetSqlType)
                   throws SQLException

Specified by:
  `setObject` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject​(int parameterIndex,
                          Object x)
                   throws SQLException

Specified by:
  `setObject` in interface `PreparedStatement`
Throws:
  `SQLException`

#### execute

    public boolean execute()
                    throws SQLException

Specified by:
  `execute` in interface `PreparedStatement`
Throws:
  `SQLException`

#### addBatch

    public void addBatch​(String sql)
                  throws SQLException

Specified by:
  `addBatch` in interface `Statement`
Overrides:
  `addBatch` in class `ClickHouseStatementImpl`
Throws:
  `SQLException`

#### addBatch

    public void addBatch()
                  throws SQLException

Specified by:
  `addBatch` in interface `PreparedStatement`
Throws:
  `SQLException`

#### executeBatch

    public int[] executeBatch()
                       throws SQLException

Specified by:
  `executeBatch` in interface `Statement`
Overrides:
  `executeBatch` in class `ClickHouseStatementImpl`
Throws:
  `SQLException`

#### clearBatch

    public void clearBatch()
                    throws SQLException

Specified by:
  `clearBatch` in interface `Statement`
Overrides:
  `clearBatch` in class `ClickHouseStatementImpl`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream​(int parameterIndex,
                                   Reader reader,
                                   int length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setRef

    public void setRef​(int parameterIndex,
                       Ref x)
                throws SQLException

Specified by:
  `setRef` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob​(int parameterIndex,
                        Blob x)
                 throws SQLException

Specified by:
  `setBlob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob​(int parameterIndex,
                        Clob x)
                 throws SQLException

Specified by:
  `setClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setArray

    public void setArray​(int parameterIndex,
                         Array x)
                  throws SQLException

Specified by:
  `setArray` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getMetaData

    public ResultSetMetaData getMetaData()
                                  throws SQLException

Specified by:
  `getMetaData` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate​(int parameterIndex,
                        Date x,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setDate` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime​(int parameterIndex,
                        Time x,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setTime` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp​(int parameterIndex,
                             Timestamp x,
                             Calendar cal)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull​(int parameterIndex,
                        int sqlType,
                        String typeName)
                 throws SQLException

Specified by:
  `setNull` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setURL

    public void setURL​(int parameterIndex,
                       URL x)
                throws SQLException

Specified by:
  `setURL` in interface `PreparedStatement`
Throws:
  `SQLException`

#### getParameterMetaData

    public ParameterMetaData getParameterMetaData()
                                           throws SQLException

Specified by:
  `getParameterMetaData` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setRowId

    public void setRowId​(int parameterIndex,
                         RowId x)
                  throws SQLException

Specified by:
  `setRowId` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNString

    public void setNString​(int parameterIndex,
                           String value)
                    throws SQLException

Specified by:
  `setNString` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream​(int parameterIndex,
                                    Reader value,
                                    long length)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob​(int parameterIndex,
                         NClob value)
                  throws SQLException

Specified by:
  `setNClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob​(int parameterIndex,
                        Reader reader,
                        long length)
                 throws SQLException

Specified by:
  `setClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob​(int parameterIndex,
                        InputStream inputStream,
                        long length)
                 throws SQLException

Specified by:
  `setBlob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob​(int parameterIndex,
                         Reader reader,
                         long length)
                  throws SQLException

Specified by:
  `setNClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setSQLXML

    public void setSQLXML​(int parameterIndex,
                          SQLXML xmlObject)
                   throws SQLException

Specified by:
  `setSQLXML` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject​(int parameterIndex,
                          Object x,
                          int targetSqlType,
                          int scaleOrLength)
                   throws SQLException

Specified by:
  `setObject` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream​(int parameterIndex,
                               InputStream x,
                               long length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream​(int parameterIndex,
                                InputStream x,
                                long length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream​(int parameterIndex,
                                   Reader reader,
                                   long length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream​(int parameterIndex,
                               InputStream x)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream​(int parameterIndex,
                                InputStream x)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream​(int parameterIndex,
                                   Reader reader)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream​(int parameterIndex,
                                    Reader value)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob​(int parameterIndex,
                        Reader reader)
                 throws SQLException

Specified by:
  `setClob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob​(int parameterIndex,
                        InputStream inputStream)
                 throws SQLException

Specified by:
  `setBlob` in interface `PreparedStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob​(int parameterIndex,
                         Reader reader)
                  throws SQLException

Specified by:
  `setNClob` in interface `PreparedStatement`
Throws:
  `SQLException`