Package ru.yandex.clickhouse
Class ClickHouseStatementImpl
- java.lang.Object
-
- ru.yandex.clickhouse.ClickHouseStatementImpl
-
- All Implemented Interfaces:
AutoCloseable,Statement,Wrapper,ClickHouseStatement
- Direct Known Subclasses:
ClickHousePreparedStatementImpl
public class ClickHouseStatementImpl extends Object implements ClickHouseStatement
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classClickHouseStatementImpl.WrappedHttpEntity
-
Field Summary
Fields Modifier and Type Field Description protected List<ClickHouseSqlStatement>batchStmtsprotected StringcurrentDatabaseCurrent database name may be changed byConnection.setCatalog(String)between creation of this object and query execution, but javadoc does not allowsetCataloginfluence on already created statements.protected ClickHouseSqlStatement[]parsedStmtsprotected ClickHousePropertiespropertiesprotected ClickHouseStatementImplstatement-
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 Constructor Description ClickHouseStatementImpl(org.apache.http.impl.client.CloseableHttpClient client, ClickHouseConnection connection, ClickHouseProperties properties, int resultSetType)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.Statement
enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, getLargeMaxRows, getLargeUpdateCount, isSimpleIdentifier, setLargeMaxRows
-
-
-
-
Field Detail
-
properties
protected ClickHouseProperties properties
-
parsedStmts
protected ClickHouseSqlStatement[] parsedStmts
-
batchStmts
protected List<ClickHouseSqlStatement> batchStmts
-
currentDatabase
protected String currentDatabase
Current database name may be changed byConnection.setCatalog(String)between creation of this object and query execution, but javadoc does not allowsetCataloginfluence on already created statements.
-
statement
protected final ClickHouseStatementImpl statement
-
-
Constructor Detail
-
ClickHouseStatementImpl
public ClickHouseStatementImpl(org.apache.http.impl.client.CloseableHttpClient client, ClickHouseConnection connection, ClickHouseProperties properties, int resultSetType)
-
-
Method Detail
-
getQueryId
protected String getQueryId()
-
getLastStatement
protected ClickHouseSqlStatement getLastStatement()
-
setLastStatement
protected void setLastStatement(ClickHouseSqlStatement stmt)
-
parseSqlStatements
protected ClickHouseSqlStatement[] parseSqlStatements(String sql) throws SQLException
- Throws:
SQLException
-
parseSqlStatements
protected ClickHouseSqlStatement parseSqlStatements(String sql, ClickHouseFormat preferredFormat, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Throws:
SQLException
-
applyFormat
protected ClickHouseSqlStatement applyFormat(ClickHouseSqlStatement stmt, ClickHouseFormat preferredFormat)
-
importAdditionalDBParameters
protected Map<ClickHouseQueryParam,String> importAdditionalDBParameters(Map<ClickHouseQueryParam,String> additionalDBParams)
-
updateResult
protected ResultSet updateResult(ClickHouseSqlStatement stmt, InputStream is) throws IOException, ClickHouseException
- Throws:
IOExceptionClickHouseException
-
executeStatement
protected int executeStatement(ClickHouseSqlStatement stmt, Map<ClickHouseQueryParam,String> additionalDBParams, List<ClickHouseExternalData> externalData, Map<String,String> additionalRequestParams) throws SQLException
- Throws:
SQLException
-
executeQueryStatement
protected ResultSet executeQueryStatement(ClickHouseSqlStatement stmt, Map<ClickHouseQueryParam,String> additionalDBParams, List<ClickHouseExternalData> externalData, Map<String,String> additionalRequestParams) throws SQLException
- Throws:
SQLException
-
executeQueryClickhouseResponse
protected ClickHouseResponse executeQueryClickhouseResponse(ClickHouseSqlStatement stmt, Map<ClickHouseQueryParam,String> additionalDBParams, Map<String,String> additionalRequestParams) throws SQLException
- Throws:
SQLException
-
executeQuery
public ResultSet executeQuery(String sql) throws SQLException
- Specified by:
executeQueryin interfaceStatement- Throws:
SQLException
-
executeQuery
public ResultSet executeQuery(String sql, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Specified by:
executeQueryin interfaceClickHouseStatement- Throws:
SQLException
-
executeQuery
public ResultSet executeQuery(String sql, Map<ClickHouseQueryParam,String> additionalDBParams, List<ClickHouseExternalData> externalData) throws SQLException
- Specified by:
executeQueryin interfaceClickHouseStatement- Throws:
SQLException
-
executeQuery
public ResultSet executeQuery(String sql, Map<ClickHouseQueryParam,String> additionalDBParams, List<ClickHouseExternalData> externalData, Map<String,String> additionalRequestParams) throws SQLException
- Specified by:
executeQueryin interfaceClickHouseStatement- Throws:
SQLException
-
executeQueryClickhouseResponse
public ClickHouseResponse executeQueryClickhouseResponse(String sql) throws SQLException
- Specified by:
executeQueryClickhouseResponsein interfaceClickHouseStatement- Throws:
SQLException
-
executeQueryClickhouseResponse
public ClickHouseResponse executeQueryClickhouseResponse(String sql, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Specified by:
executeQueryClickhouseResponsein interfaceClickHouseStatement- Throws:
SQLException
-
executeQueryClickhouseResponse
public ClickHouseResponse executeQueryClickhouseResponse(String sql, Map<ClickHouseQueryParam,String> additionalDBParams, Map<String,String> additionalRequestParams) throws SQLException
- Specified by:
executeQueryClickhouseResponsein interfaceClickHouseStatement- Throws:
SQLException
-
executeQueryClickhouseRowBinaryStream
public ClickHouseRowBinaryInputStream executeQueryClickhouseRowBinaryStream(String sql) throws SQLException
- Specified by:
executeQueryClickhouseRowBinaryStreamin interfaceClickHouseStatement- Throws:
SQLException
-
executeQueryClickhouseRowBinaryStream
public ClickHouseRowBinaryInputStream executeQueryClickhouseRowBinaryStream(String sql, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Specified by:
executeQueryClickhouseRowBinaryStreamin interfaceClickHouseStatement- Throws:
SQLException
-
executeQueryClickhouseRowBinaryStream
public ClickHouseRowBinaryInputStream executeQueryClickhouseRowBinaryStream(String sql, Map<ClickHouseQueryParam,String> additionalDBParams, Map<String,String> additionalRequestParams) throws SQLException
- Specified by:
executeQueryClickhouseRowBinaryStreamin interfaceClickHouseStatement- Throws:
SQLException
-
executeUpdate
public int executeUpdate(String sql) throws SQLException
- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLException
-
execute
public boolean execute(String sql) throws SQLException
- Specified by:
executein interfaceStatement- Throws:
SQLException
-
close
public void close() throws SQLException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceStatement- Throws:
SQLException
-
getMaxFieldSize
public int getMaxFieldSize() throws SQLException- Specified by:
getMaxFieldSizein interfaceStatement- Throws:
SQLException
-
setMaxFieldSize
public void setMaxFieldSize(int max) throws SQLException- Specified by:
setMaxFieldSizein interfaceStatement- Throws:
SQLException
-
getMaxRows
public int getMaxRows() throws SQLException- Specified by:
getMaxRowsin interfaceStatement- Throws:
SQLException
-
setMaxRows
public void setMaxRows(int max) throws SQLException- Specified by:
setMaxRowsin interfaceStatement- Throws:
SQLException
-
setEscapeProcessing
public void setEscapeProcessing(boolean enable) throws SQLException- Specified by:
setEscapeProcessingin interfaceStatement- Throws:
SQLException
-
getQueryTimeout
public int getQueryTimeout() throws SQLException- Specified by:
getQueryTimeoutin interfaceStatement- Throws:
SQLException
-
setQueryTimeout
public void setQueryTimeout(int seconds) throws SQLException- Specified by:
setQueryTimeoutin interfaceStatement- Throws:
SQLException
-
cancel
public void cancel() throws SQLException- Specified by:
cancelin interfaceStatement- Throws:
SQLException
-
getWarnings
public SQLWarning getWarnings() throws SQLException
- Specified by:
getWarningsin interfaceStatement- Throws:
SQLException
-
clearWarnings
public void clearWarnings() throws SQLException- Specified by:
clearWarningsin interfaceStatement- Throws:
SQLException
-
setCursorName
public void setCursorName(String name) throws SQLException
- Specified by:
setCursorNamein interfaceStatement- Throws:
SQLException
-
getResultSet
public ResultSet getResultSet() throws SQLException
- Specified by:
getResultSetin interfaceStatement- Throws:
SQLException
-
getUpdateCount
public int getUpdateCount() throws SQLException- Specified by:
getUpdateCountin interfaceStatement- Throws:
SQLException
-
getMoreResults
public boolean getMoreResults() throws SQLException- Specified by:
getMoreResultsin interfaceStatement- Throws:
SQLException
-
setFetchDirection
public void setFetchDirection(int direction) throws SQLException- Specified by:
setFetchDirectionin interfaceStatement- Throws:
SQLException
-
getFetchDirection
public int getFetchDirection() throws SQLException- Specified by:
getFetchDirectionin interfaceStatement- Throws:
SQLException
-
setFetchSize
public void setFetchSize(int rows) throws SQLException- Specified by:
setFetchSizein interfaceStatement- Throws:
SQLException
-
getFetchSize
public int getFetchSize() throws SQLException- Specified by:
getFetchSizein interfaceStatement- Throws:
SQLException
-
getResultSetConcurrency
public int getResultSetConcurrency() throws SQLException- Specified by:
getResultSetConcurrencyin interfaceStatement- Throws:
SQLException
-
getResultSetType
public int getResultSetType() throws SQLException- Specified by:
getResultSetTypein interfaceStatement- Throws:
SQLException
-
addBatch
public void addBatch(String sql) throws SQLException
- Specified by:
addBatchin interfaceStatement- Throws:
SQLException
-
clearBatch
public void clearBatch() throws SQLException- Specified by:
clearBatchin interfaceStatement- Throws:
SQLException
-
executeBatch
public int[] executeBatch() throws SQLException- Specified by:
executeBatchin interfaceStatement- Throws:
SQLException
-
getConnection
public ClickHouseConnection getConnection() throws ClickHouseException
- Specified by:
getConnectionin interfaceStatement- Throws:
ClickHouseException
-
getMoreResults
public boolean getMoreResults(int current) throws SQLException- Specified by:
getMoreResultsin interfaceStatement- Throws:
SQLException
-
getGeneratedKeys
public ResultSet getGeneratedKeys() throws SQLException
- Specified by:
getGeneratedKeysin interfaceStatement- Throws:
SQLException
-
executeUpdate
public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLException
-
executeUpdate
public int executeUpdate(String sql, int[] columnIndexes) throws SQLException
- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLException
-
executeUpdate
public int executeUpdate(String sql, String[] columnNames) throws SQLException
- Specified by:
executeUpdatein interfaceStatement- Throws:
SQLException
-
execute
public boolean execute(String sql, int autoGeneratedKeys) throws SQLException
- Specified by:
executein interfaceStatement- Throws:
SQLException
-
execute
public boolean execute(String sql, int[] columnIndexes) throws SQLException
- Specified by:
executein interfaceStatement- Throws:
SQLException
-
execute
public boolean execute(String sql, String[] columnNames) throws SQLException
- Specified by:
executein interfaceStatement- Throws:
SQLException
-
getResultSetHoldability
public int getResultSetHoldability() throws SQLException- Specified by:
getResultSetHoldabilityin interfaceStatement- Throws:
SQLException
-
isClosed
public boolean isClosed() throws SQLException- Specified by:
isClosedin interfaceStatement- Throws:
SQLException
-
setPoolable
public void setPoolable(boolean poolable) throws SQLException- Specified by:
setPoolablein interfaceStatement- Throws:
SQLException
-
isPoolable
public boolean isPoolable() throws SQLException- Specified by:
isPoolablein interfaceStatement- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
getResponseSummary
public ClickHouseResponseSummary getResponseSummary()
- Specified by:
getResponseSummaryin interfaceClickHouseStatement
-
sendRowBinaryStream
public void sendRowBinaryStream(String sql, ClickHouseStreamCallback callback) throws SQLException
- Specified by:
sendRowBinaryStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendRowBinaryStream
public void sendRowBinaryStream(String sql, Map<ClickHouseQueryParam,String> additionalDBParams, ClickHouseStreamCallback callback) throws SQLException
- Specified by:
sendRowBinaryStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendNativeStream
public void sendNativeStream(String sql, ClickHouseStreamCallback callback) throws SQLException
- Specified by:
sendNativeStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendNativeStream
public void sendNativeStream(String sql, Map<ClickHouseQueryParam,String> additionalDBParams, ClickHouseStreamCallback callback) throws SQLException
- Specified by:
sendNativeStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendCSVStream
public void sendCSVStream(InputStream content, String table, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Specified by:
sendCSVStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendCSVStream
public void sendCSVStream(InputStream content, String table) throws SQLException
- Specified by:
sendCSVStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendStream
public void sendStream(InputStream content, String table) throws SQLException
- Specified by:
sendStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendStream
public void sendStream(InputStream content, String table, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Specified by:
sendStreamin interfaceClickHouseStatement- Throws:
SQLException
-
sendStream
@Deprecated public void sendStream(org.apache.http.HttpEntity content, String sql) throws ClickHouseException
Deprecated.- Throws:
ClickHouseException
-
sendStream
@Deprecated public void sendStream(org.apache.http.HttpEntity content, String sql, Map<ClickHouseQueryParam,String> additionalDBParams) throws ClickHouseException
Deprecated.- Throws:
ClickHouseException
-
sendStreamSQL
public void sendStreamSQL(InputStream content, String sql, Map<ClickHouseQueryParam,String> additionalDBParams) throws SQLException
- Specified by:
sendStreamSQLin interfaceClickHouseStatement- Throws:
SQLException
-
sendStreamSQL
public void sendStreamSQL(InputStream content, String sql) throws SQLException
- Specified by:
sendStreamSQLin interfaceClickHouseStatement- Throws:
SQLException
-
closeOnCompletion
public void closeOnCompletion() throws SQLException- Specified by:
closeOnCompletionin interfaceStatement- Throws:
SQLException
-
isCloseOnCompletion
public boolean isCloseOnCompletion() throws SQLException- Specified by:
isCloseOnCompletionin interfaceStatement- Throws:
SQLException
-
write
public Writer write()
Description copied from interface:ClickHouseStatementReturns extended write-API, which simplifies uploading larger files or data streams.- Specified by:
writein interfaceClickHouseStatement- Returns:
- a new
Writerbuilder object which can be used to construct a request to the server
-
addDbParam
public T addDbParam(ClickHouseQueryParam param, String value)
-
removeDbParam
public T removeDbParam(ClickHouseQueryParam param)
-
withDbParams
public T withDbParams(Map<ClickHouseQueryParam,String> dbParams)
-
removeOption
public T removeOption(String key)
-
-