org.duckdb

## Class DuckDBConnection

- java.lang.Object
- - org.duckdb.DuckDBConnection

All Implemented Interfaces:
  java.lang.AutoCloseable, java.sql.Connection, java.sql.Wrapper

    public class DuckDBConnection
    extends java.lang.Object
    implements java.sql.Connection

### Field Summary

Fields
`protected java.nio.ByteBuffer` `conn_ref`
`protected DuckDBDatabase` `db`

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

`TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE`

### Constructor Summary

Constructors
Constructor and Description
`DuckDBConnection(DuckDBDatabase db)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `abort(java.util.concurrent.Executor executor)`
`void` `clearWarnings()`
`void` `close()`
`void` `commit()`
`java.sql.Array` `createArrayOf(java.lang.String typeName, java.lang.Object[] elements)`
`java.sql.Blob` `createBlob()`
`java.sql.Clob` `createClob()`
`java.sql.NClob` `createNClob()`
`java.sql.SQLXML` `createSQLXML()`
`java.sql.Statement` `createStatement()`
`java.sql.Statement` `createStatement(int resultSetType, int resultSetConcurrency)`
`java.sql.Statement` `createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`java.sql.Struct` `createStruct(java.lang.String typeName, java.lang.Object[] attributes)`
`java.sql.Connection` `duplicate()`
`protected void` `finalize()`
`boolean` `getAutoCommit()`
`java.lang.String` `getCatalog()`
`java.util.Properties` `getClientInfo()`
`java.lang.String` `getClientInfo(java.lang.String name)`
`DuckDBDatabase` `getDatabase()`
`int` `getHoldability()`
`java.sql.DatabaseMetaData` `getMetaData()`
`int` `getNetworkTimeout()`
`java.lang.String` `getSchema()`
`int` `getTransactionIsolation()`
`java.util.Map<java.lang.String,java.lang.Class<?>>` `getTypeMap()`
`java.sql.SQLWarning` `getWarnings()`
`boolean` `isClosed()`
`boolean` `isReadOnly()`
`boolean` `isValid(int timeout)`
`boolean` `isWrapperFor(java.lang.Class<?> iface)`
`java.lang.String` `nativeSQL(java.lang.String sql)`
`java.sql.CallableStatement` `prepareCall(java.lang.String sql)`
`java.sql.CallableStatement` `prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)`
`java.sql.CallableStatement` `prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`java.sql.PreparedStatement` `prepareStatement(java.lang.String sql)`
`java.sql.PreparedStatement` `prepareStatement(java.lang.String sql, int autoGeneratedKeys)`
`java.sql.PreparedStatement` `prepareStatement(java.lang.String sql, int[] columnIndexes)`
`java.sql.PreparedStatement` `prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)`
`java.sql.PreparedStatement` `prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`java.sql.PreparedStatement` `prepareStatement(java.lang.String sql, java.lang.String[] columnNames)`
`void` `releaseSavepoint(java.sql.Savepoint savepoint)`
`void` `rollback()`
`void` `rollback(java.sql.Savepoint savepoint)`
`void` `setAutoCommit(boolean autoCommit)`
`void` `setCatalog(java.lang.String catalog)`
`void` `setClientInfo(java.util.Properties properties)`
`void` `setClientInfo(java.lang.String name, java.lang.String value)`
`void` `setHoldability(int holdability)`
`void` `setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds)`
`void` `setReadOnly(boolean readOnly)`
`java.sql.Savepoint` `setSavepoint()`
`java.sql.Savepoint` `setSavepoint(java.lang.String name)`
`void` `setSchema(java.lang.String schema)`
`void` `setTransactionIsolation(int level)`
`void` `setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)`
`<T> T` `unwrap(java.lang.Class<T> iface)`

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

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

### Field Detail

#### conn_ref

    protected java.nio.ByteBuffer conn_ref

#### db

    protected DuckDBDatabase db

### Constructor Detail

#### DuckDBConnection

    public DuckDBConnection(DuckDBDatabase db)
                     throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### createStatement

    public java.sql.Statement createStatement()
                                       throws java.sql.SQLException

Specified by:
  `createStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### duplicate

    public java.sql.Connection duplicate()
                                  throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### getDatabase

    public DuckDBDatabase getDatabase()

#### commit

    public void commit()
                throws java.sql.SQLException

Specified by:
  `commit` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### rollback

    public void rollback()
                  throws java.sql.SQLException

Specified by:
  `rollback` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### finalize

    protected void finalize()
                     throws java.lang.Throwable

Overrides:
  `finalize` in class `java.lang.Object`
Throws:
  `java.lang.Throwable`

#### close

    public void close()
               throws java.sql.SQLException

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### isClosed

    public boolean isClosed()
                     throws java.sql.SQLException

Specified by:
  `isClosed` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### isValid

    public boolean isValid(int timeout)
                    throws java.sql.SQLException

Specified by:
  `isValid` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getWarnings

    public java.sql.SQLWarning getWarnings()
                                    throws java.sql.SQLException

Specified by:
  `getWarnings` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### clearWarnings

    public void clearWarnings()
                       throws java.sql.SQLException

Specified by:
  `clearWarnings` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setTransactionIsolation

    public void setTransactionIsolation(int level)
                                 throws java.sql.SQLException

Specified by:
  `setTransactionIsolation` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getTransactionIsolation

    public int getTransactionIsolation()
                                throws java.sql.SQLException

Specified by:
  `getTransactionIsolation` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setReadOnly

    public void setReadOnly(boolean readOnly)
                     throws java.sql.SQLException

Specified by:
  `setReadOnly` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### isReadOnly

    public boolean isReadOnly()
                       throws java.sql.SQLException

Specified by:
  `isReadOnly` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setAutoCommit

    public void setAutoCommit(boolean autoCommit)
                       throws java.sql.SQLException

Specified by:
  `setAutoCommit` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getAutoCommit

    public boolean getAutoCommit()
                          throws java.sql.SQLException

Specified by:
  `getAutoCommit` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareStatement

    public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
                                                throws java.sql.SQLException

Specified by:
  `prepareStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getMetaData

    public java.sql.DatabaseMetaData getMetaData()
                                          throws java.sql.SQLException

Specified by:
  `getMetaData` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setCatalog

    public void setCatalog(java.lang.String catalog)
                    throws java.sql.SQLException

Specified by:
  `setCatalog` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getCatalog

    public java.lang.String getCatalog()
                                throws java.sql.SQLException

Specified by:
  `getCatalog` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setSchema

    public void setSchema(java.lang.String schema)
                   throws java.sql.SQLException

Specified by:
  `setSchema` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getSchema

    public java.lang.String getSchema()
                               throws java.sql.SQLException

Specified by:
  `getSchema` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### abort

    public void abort(java.util.concurrent.Executor executor)
               throws java.sql.SQLException

Specified by:
  `abort` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createClob

    public java.sql.Clob createClob()
                             throws java.sql.SQLException

Specified by:
  `createClob` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createBlob

    public java.sql.Blob createBlob()
                             throws java.sql.SQLException

Specified by:
  `createBlob` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### unwrap

    public <T> T unwrap(java.lang.Class<T> iface)
                 throws java.sql.SQLException

Specified by:
  `unwrap` in interface `java.sql.Wrapper`
Throws:
  `java.sql.SQLException`

#### isWrapperFor

    public boolean isWrapperFor(java.lang.Class<?> iface)
                         throws java.sql.SQLException

Specified by:
  `isWrapperFor` in interface `java.sql.Wrapper`
Throws:
  `java.sql.SQLException`

#### prepareCall

    public java.sql.CallableStatement prepareCall(java.lang.String sql)
                                           throws java.sql.SQLException

Specified by:
  `prepareCall` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### nativeSQL

    public java.lang.String nativeSQL(java.lang.String sql)
                               throws java.sql.SQLException

Specified by:
  `nativeSQL` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createStatement

    public java.sql.Statement createStatement(int resultSetType,
                                              int resultSetConcurrency)
                                       throws java.sql.SQLException

Specified by:
  `createStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareStatement

    public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                       int resultSetType,
                                                       int resultSetConcurrency)
                                                throws java.sql.SQLException

Specified by:
  `prepareStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareCall

    public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                                  int resultSetType,
                                                  int resultSetConcurrency)
                                           throws java.sql.SQLException

Specified by:
  `prepareCall` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getTypeMap

    public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap()
                                                                  throws java.sql.SQLException

Specified by:
  `getTypeMap` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setTypeMap

    public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                    throws java.sql.SQLException

Specified by:
  `setTypeMap` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setHoldability

    public void setHoldability(int holdability)
                        throws java.sql.SQLException

Specified by:
  `setHoldability` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getHoldability

    public int getHoldability()
                       throws java.sql.SQLException

Specified by:
  `getHoldability` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setSavepoint

    public java.sql.Savepoint setSavepoint()
                                    throws java.sql.SQLException

Specified by:
  `setSavepoint` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setSavepoint

    public java.sql.Savepoint setSavepoint(java.lang.String name)
                                    throws java.sql.SQLException

Specified by:
  `setSavepoint` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### rollback

    public void rollback(java.sql.Savepoint savepoint)
                  throws java.sql.SQLException

Specified by:
  `rollback` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### releaseSavepoint

    public void releaseSavepoint(java.sql.Savepoint savepoint)
                          throws java.sql.SQLException

Specified by:
  `releaseSavepoint` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createStatement

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

Specified by:
  `createStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareStatement

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

Specified by:
  `prepareStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareCall

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

Specified by:
  `prepareCall` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareStatement

    public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                       int autoGeneratedKeys)
                                                throws java.sql.SQLException

Specified by:
  `prepareStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareStatement

    public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                       int[] columnIndexes)
                                                throws java.sql.SQLException

Specified by:
  `prepareStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### prepareStatement

    public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                       java.lang.String[] columnNames)
                                                throws java.sql.SQLException

Specified by:
  `prepareStatement` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createNClob

    public java.sql.NClob createNClob()
                               throws java.sql.SQLException

Specified by:
  `createNClob` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createSQLXML

    public java.sql.SQLXML createSQLXML()
                                 throws java.sql.SQLException

Specified by:
  `createSQLXML` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setClientInfo

    public void setClientInfo(java.lang.String name,
                              java.lang.String value)
                       throws java.sql.SQLClientInfoException

Specified by:
  `setClientInfo` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLClientInfoException`

#### setClientInfo

    public void setClientInfo(java.util.Properties properties)
                       throws java.sql.SQLClientInfoException

Specified by:
  `setClientInfo` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLClientInfoException`

#### getClientInfo

    public java.lang.String getClientInfo(java.lang.String name)
                                   throws java.sql.SQLException

Specified by:
  `getClientInfo` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getClientInfo

    public java.util.Properties getClientInfo()
                                       throws java.sql.SQLException

Specified by:
  `getClientInfo` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createArrayOf

    public java.sql.Array createArrayOf(java.lang.String typeName,
                                        java.lang.Object[] elements)
                                 throws java.sql.SQLException

Specified by:
  `createArrayOf` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### createStruct

    public java.sql.Struct createStruct(java.lang.String typeName,
                                        java.lang.Object[] attributes)
                                 throws java.sql.SQLException

Specified by:
  `createStruct` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### setNetworkTimeout

    public void setNetworkTimeout(java.util.concurrent.Executor executor,
                                  int milliseconds)
                           throws java.sql.SQLException

Specified by:
  `setNetworkTimeout` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`

#### getNetworkTimeout

    public int getNetworkTimeout()
                          throws java.sql.SQLException

Specified by:
  `getNetworkTimeout` in interface `java.sql.Connection`
Throws:
  `java.sql.SQLException`