Package com.databend.jdbc

# Class DatabendConnection

java.lang.Object
com.databend.jdbc.DatabendConnection

All Implemented Interfaces:
  `FileTransferAPI`, `AutoCloseable`, `Connection`, `Wrapper`, `java.util.function.Consumer<com.databend.client.DatabendSession>`

public class DatabendConnection extends Object implements Connection, FileTransferAPI, java.util.function.Consumer<com.databend.client.DatabendSession>

## Field Summary

### Fields inherited from interface java.sql.Connection

`TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE`

## Method Summary

Modifier and Type
Method
Description
`void`
`abort(Executor executor)`
`void`
`accept(com.databend.client.DatabendSession session)`
`String`
`binaryFormat()`
`void`
`clearWarnings()`
`void`
`close()`
`void`
`commit()`
`void`
`copyIntoTable(String database, String tableName, DatabendCopyParams params)`
Copy into the target table from files on the internal stage Documentation: https://databend.rs/doc/sql-commands/dml/dml-copy-into-table
`boolean`
`copyPurge()`
`Array`
`createArrayOf(String s, Object[] objects)`
`Blob`
`createBlob()`
`Clob`
`createClob()`
`NClob`
`createNClob()`
`SQLXML`
`createSQLXML()`
`Statement`
`createStatement()`
`Statement`
`createStatement(int resultSetType, int resultSetConcurrency)`
`Statement`
`createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`Struct`
`createStruct(String s, Object[] objects)`
`Boolean`
`debug()`
`InputStream`
`downloadStream(String stageName, String sourceFileName, boolean decompress)`
Download a file from the databend internal stage, the data would be downloaded as one file with no split.
`boolean`
`getAutoCommit()`
`String`
`getCatalog()`
`Properties`
`getClientInfo()`
`String`
`getClientInfo(String s)`
`static String`
`getCopyIntoSql(String database, DatabendCopyParams params)`
`int`
`getHoldability()`
`okhttp3.OkHttpClient`
`getHttpClient()`
`DatabaseMetaData`
`getMetaData()`
`int`
`getNetworkTimeout()`
`com.databend.client.PaginationOptions`
`getPaginationOptions()`
`String`
`getSchema()`
`com.databend.client.DatabendSession`
`getSession()`
`int`
`getTransactionIsolation()`
`Map<String,Class<?>>`
`getTypeMap()`
`URI`
`getURI()`
`SQLWarning`
`getWarnings()`
`boolean`
`isClosed()`
`boolean`
`isReadOnly()`
`boolean`
`isValid(int i)`
`boolean`
`isWrapperFor(Class<?> aClass)`
`String`
`nativeSQL(String sql)`
`String`
`nullDisplay()`
`void`
`PingDatabendClientV1()`
`CallableStatement`
`prepareCall(String s)`
`CallableStatement`
`prepareCall(String s, int i, int i1)`
`CallableStatement`
`prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`PreparedStatement`
`prepareStatement(String s)`
`PreparedStatement`
`prepareStatement(String s, int autoGeneratedKeys)`
`PreparedStatement`
`prepareStatement(String s, int[] ints)`
`PreparedStatement`
`prepareStatement(String s, int i, int i1)`
`PreparedStatement`
`prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`PreparedStatement`
`prepareStatement(String s, String[] strings)`
`boolean`
`presignedUrlDisabled()`
`void`
`releaseSavepoint(Savepoint savepoint)`
`void`
`rollback()`
`void`
`rollback(Savepoint savepoint)`
`void`
`setAutoCommit(boolean b)`
`void`
`setCatalog(String s)`
`void`
`setClientInfo(String s, String s1)`
`void`
`setClientInfo(Properties properties)`
`void`
`setHoldability(int holdability)`
`void`
`setNetworkTimeout(Executor executor, int i)`
`void`
`setReadOnly(boolean b)`
`Savepoint`
`setSavepoint()`
`Savepoint`
`setSavepoint(String s)`
`void`
`setSchema(String schema)`
`void`
`setSession(com.databend.client.DatabendSession session)`
`void`
`setTransactionIsolation(int i)`
`void`
`setTypeMap(Map<String,Class<?>> map)`
`Boolean`
`strNullAsNull()`
`String`
`tenant()`
`<T> T`
`unwrap(Class<T> aClass)`
`void`
`uploadStream(String stageName, String destPrefix, InputStream inputStream, String destFileName, long fileSize, boolean compressData)`
Method to put data from a stream at a stage location.
`Boolean`
`useVerify()`
`String`
`warehouse()`

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

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

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

`beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid`

### Methods inherited from interface java.util.function.Consumer

`andThen`

## Method Details

### getCopyIntoSql

public static String getCopyIntoSql(String database, DatabendCopyParams params)

### getSession

public com.databend.client.DatabendSession getSession()

### setSession

public void setSession(com.databend.client.DatabendSession session)

### getHttpClient

public okhttp3.OkHttpClient getHttpClient()

### createStatement

public Statement createStatement() throws SQLException

Specified by:
  `createStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String s) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareCall

public CallableStatement prepareCall(String s) throws SQLException

Specified by:
  `prepareCall` in interface `Connection`
Throws:
  `SQLException`

### nativeSQL

public String nativeSQL(String sql) throws SQLException

Specified by:
  `nativeSQL` in interface `Connection`
Throws:
  `SQLException`

### commit

public void commit() throws SQLException

Specified by:
  `commit` in interface `Connection`
Throws:
  `SQLException`

### getAutoCommit

public boolean getAutoCommit() throws SQLException

Specified by:
  `getAutoCommit` in interface `Connection`
Throws:
  `SQLException`

### setAutoCommit

public void setAutoCommit(boolean b) throws SQLException

Specified by:
  `setAutoCommit` in interface `Connection`
Throws:
  `SQLException`

### rollback

public void rollback() throws SQLException

Specified by:
  `rollback` in interface `Connection`
Throws:
  `SQLException`

### close

public void close() throws SQLException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Connection`
Throws:
  `SQLException`

### isClosed

public boolean isClosed() throws SQLException

Specified by:
  `isClosed` in interface `Connection`
Throws:
  `SQLException`

### getMetaData

public DatabaseMetaData getMetaData() throws SQLException

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

### isReadOnly

public boolean isReadOnly() throws SQLException

Specified by:
  `isReadOnly` in interface `Connection`
Throws:
  `SQLException`

### setReadOnly

public void setReadOnly(boolean b) throws SQLException

Specified by:
  `setReadOnly` in interface `Connection`
Throws:
  `SQLException`

### getCatalog

public String getCatalog() throws SQLException

Specified by:
  `getCatalog` in interface `Connection`
Throws:
  `SQLException`

### setCatalog

public void setCatalog(String s) throws SQLException

Specified by:
  `setCatalog` in interface `Connection`
Throws:
  `SQLException`

### getTransactionIsolation

public int getTransactionIsolation() throws SQLException

Specified by:
  `getTransactionIsolation` in interface `Connection`
Throws:
  `SQLException`

### setTransactionIsolation

public void setTransactionIsolation(int i) throws SQLException

Specified by:
  `setTransactionIsolation` in interface `Connection`
Throws:
  `SQLException`

### getWarnings

public SQLWarning getWarnings() throws SQLException

Specified by:
  `getWarnings` in interface `Connection`
Throws:
  `SQLException`

### clearWarnings

public void clearWarnings() throws SQLException

Specified by:
  `clearWarnings` in interface `Connection`
Throws:
  `SQLException`

### createStatement

public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException

Specified by:
  `createStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String s, int i, int i1) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareCall

public CallableStatement prepareCall(String s, int i, int i1) throws SQLException

Specified by:
  `prepareCall` in interface `Connection`
Throws:
  `SQLException`

### getTypeMap

public Map<String,Class<?>> getTypeMap() throws SQLException

Specified by:
  `getTypeMap` in interface `Connection`
Throws:
  `SQLException`

### setTypeMap

public void setTypeMap(Map<String,Class<?>> map) throws SQLException

Specified by:
  `setTypeMap` in interface `Connection`
Throws:
  `SQLException`

### getHoldability

public int getHoldability() throws SQLException

Specified by:
  `getHoldability` in interface `Connection`
Throws:
  `SQLException`

### setHoldability

@NotImplemented public void setHoldability(int holdability) throws SQLException

Specified by:
  `setHoldability` in interface `Connection`
Throws:
  `SQLException`

### setSavepoint

public Savepoint setSavepoint() throws SQLException

Specified by:
  `setSavepoint` in interface `Connection`
Throws:
  `SQLException`

### setSavepoint

public Savepoint setSavepoint(String s) throws SQLException

Specified by:
  `setSavepoint` in interface `Connection`
Throws:
  `SQLException`

### rollback

public void rollback(Savepoint savepoint) throws SQLException

Specified by:
  `rollback` in interface `Connection`
Throws:
  `SQLException`

### releaseSavepoint

public void releaseSavepoint(Savepoint savepoint) throws SQLException

Specified by:
  `releaseSavepoint` in interface `Connection`
Throws:
  `SQLException`

### createStatement

public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

Specified by:
  `createStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareCall

public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

Specified by:
  `prepareCall` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String s, int autoGeneratedKeys) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String s, int[] ints) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### prepareStatement

public PreparedStatement prepareStatement(String s, String[] strings) throws SQLException

Specified by:
  `prepareStatement` in interface `Connection`
Throws:
  `SQLException`

### createClob

public Clob createClob() throws SQLException

Specified by:
  `createClob` in interface `Connection`
Throws:
  `SQLException`

### createBlob

public Blob createBlob() throws SQLException

Specified by:
  `createBlob` in interface `Connection`
Throws:
  `SQLException`

### createNClob

public NClob createNClob() throws SQLException

Specified by:
  `createNClob` in interface `Connection`
Throws:
  `SQLException`

### createSQLXML

public SQLXML createSQLXML() throws SQLException

Specified by:
  `createSQLXML` in interface `Connection`
Throws:
  `SQLException`

### isValid

public boolean isValid(int i) throws SQLException

Specified by:
  `isValid` in interface `Connection`
Throws:
  `SQLException`

### setClientInfo

public void setClientInfo(String s, String s1) throws SQLClientInfoException

Specified by:
  `setClientInfo` in interface `Connection`
Throws:
  `SQLClientInfoException`

### getClientInfo

public String getClientInfo(String s) throws SQLException

Specified by:
  `getClientInfo` in interface `Connection`
Throws:
  `SQLException`

### getClientInfo

public Properties getClientInfo() throws SQLException

Specified by:
  `getClientInfo` in interface `Connection`
Throws:
  `SQLException`

### setClientInfo

public void setClientInfo(Properties properties) throws SQLClientInfoException

Specified by:
  `setClientInfo` in interface `Connection`
Throws:
  `SQLClientInfoException`

### createArrayOf

public Array createArrayOf(String s, Object[] objects) throws SQLException

Specified by:
  `createArrayOf` in interface `Connection`
Throws:
  `SQLException`

### createStruct

public Struct createStruct(String s, Object[] objects) throws SQLException

Specified by:
  `createStruct` in interface `Connection`
Throws:
  `SQLException`

### getSchema

public String getSchema() throws SQLException

Specified by:
  `getSchema` in interface `Connection`
Throws:
  `SQLException`

### setSchema

public void setSchema(String schema) throws SQLException

Specified by:
  `setSchema` in interface `Connection`
Throws:
  `SQLException`

### abort

public void abort(Executor executor) throws SQLException

Specified by:
  `abort` in interface `Connection`
Throws:
  `SQLException`

### setNetworkTimeout

public void setNetworkTimeout(Executor executor, int i) throws SQLException

Specified by:
  `setNetworkTimeout` in interface `Connection`
Throws:
  `SQLException`

### getNetworkTimeout

public int getNetworkTimeout() throws SQLException

Specified by:
  `getNetworkTimeout` in interface `Connection`
Throws:
  `SQLException`

### unwrap

public <T> T unwrap(Class<T> aClass) throws SQLException

Specified by:
  `unwrap` in interface `Wrapper`
Throws:
  `SQLException`

### isWrapperFor

public boolean isWrapperFor(Class<?> aClass) throws SQLException

Specified by:
  `isWrapperFor` in interface `Wrapper`
Throws:
  `SQLException`

### presignedUrlDisabled

public boolean presignedUrlDisabled()

### copyPurge

public boolean copyPurge()

### warehouse

public String warehouse()

### strNullAsNull

public Boolean strNullAsNull()

### useVerify

public Boolean useVerify()

### debug

public Boolean debug()

### tenant

public String tenant()

### nullDisplay

public String nullDisplay()

### binaryFormat

public String binaryFormat()

### getPaginationOptions

public com.databend.client.PaginationOptions getPaginationOptions()

### getURI

public URI getURI()

### PingDatabendClientV1

public void PingDatabendClientV1() throws SQLException

Throws:
  `SQLException`

### accept

public void accept(com.databend.client.DatabendSession session)

Specified by:
  `accept` in interface `java.util.function.Consumer<com.databend.client.DatabendSession>`

### uploadStream

public void uploadStream(String stageName, String destPrefix, InputStream inputStream, String destFileName, long fileSize, boolean compressData) throws SQLException
Method to put data from a stream at a stage location. The data will be uploaded as one file. No splitting is done in this method.

Stream size must match the total size of data in the input stream unless compressData parameter is set to true.

caller is responsible for passing the correct size for the data in the stream and releasing the inputStream after the method is called.

Note this method is deprecated since streamSize is not required now. Keep the function signature for backward compatibility

Specified by:
  `uploadStream` in interface `FileTransferAPI`
Parameters:
  `stageName` - stage name: e.g. ~ or table name or stage name
  `destPrefix` - path prefix under which the data should be uploaded on the stage
  `inputStream` - input stream from which the data will be uploaded
  `destFileName` - destination file name to use
  `fileSize` - data size in the stream
  `compressData` - whether to compress the data
Throws:
  `SQLException` - failed to put data from a stream at stage

### downloadStream

public InputStream downloadStream(String stageName, String sourceFileName, boolean decompress) throws SQLException
Description copied from interface: `FileTransferAPI`
Download a file from the databend internal stage, the data would be downloaded as one file with no split.

Specified by:
  `downloadStream` in interface `FileTransferAPI`
Parameters:
  `stageName` - the stage which contains the file
  `sourceFileName` - the file name in the stage
  `decompress` - whether to decompress the data
Returns:
  the input stream of the file
Throws:
  `SQLException`

### copyIntoTable

public void copyIntoTable(String database, String tableName, DatabendCopyParams params) throws SQLException
Description copied from interface: `FileTransferAPI`
Copy into the target table from files on the internal stage Documentation: https://databend.rs/doc/sql-commands/dml/dml-copy-into-table

Specified by:
  `copyIntoTable` in interface `FileTransferAPI`
Parameters:
  `database` - the target table's database
  `tableName` - the target table name
  `params` - copy options and file options
Throws:
  `SQLException`