com.taosdata.jdbc

## Class AbstractConnection

- java.lang.Object
- - com.taosdata.jdbc.WrapperImpl
  - - com.taosdata.jdbc.AbstractConnection

All Implemented Interfaces:
  AutoCloseable, Connection, Wrapper

Direct Known Subclasses:
  RestfulConnection, TSDBConnection, WSConnection

    public abstract class AbstractConnection
    extends WrapperImpl
    implements Connection

### Field Summary

Fields
`protected String` `catalog`
`protected Properties` `clientInfoProps`
`protected AtomicLong` `idGenerator`
`protected boolean` `isClosed`
`protected ConcurrentHashMap<Long,Statement>` `statementsMap`

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

`TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE`

### Constructor Summary

Constructors
`protected` `AbstractConnection(Properties properties)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `abort(Executor executor)`
`void` `clearWarnings()`
`abstract void` `close()`
`void` `commit()`
`Array` `createArrayOf(String typeName, Object[] elements)`
`Blob` `createBlob()`
`Clob` `createClob()`
`NClob` `createNClob()`
`SQLXML` `createSQLXML()`
`abstract Statement` `createStatement()`
`Statement` `createStatement(int resultSetType, int resultSetConcurrency)`
`Statement` `createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`Struct` `createStruct(String typeName, Object[] attributes)`
`boolean` `getAutoCommit()`
`String` `getCatalog()`
`Properties` `getClientInfo()`
`String` `getClientInfo(String name)`
`int` `getHoldability()`
`abstract DatabaseMetaData` `getMetaData()`
`int` `getNetworkTimeout()`
`String` `getSchema()`
`int` `getTransactionIsolation()`
`Map<String,Class<?>>` `getTypeMap()`
`SQLWarning` `getWarnings()`
`abstract boolean` `isClosed()`
`boolean` `isReadOnly()`
`boolean` `isValid(int timeout)`
`String` `nativeSQL(String sql)`
`CallableStatement` `prepareCall(String sql)`
`CallableStatement` `prepareCall(String sql, int resultSetType, int resultSetConcurrency)`
`CallableStatement` `prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`abstract PreparedStatement` `prepareStatement(String sql)`
`PreparedStatement` `prepareStatement(String sql, int autoGeneratedKeys)`
`PreparedStatement` `prepareStatement(String sql, int[] columnIndexes)`
`PreparedStatement` `prepareStatement(String sql, int resultSetType, int resultSetConcurrency)`
`PreparedStatement` `prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)`
`PreparedStatement` `prepareStatement(String sql, String[] columnNames)`
`void` `registerStatement(Long stmtId, Statement stmt)`
`void` `releaseSavepoint(Savepoint savepoint)`
`void` `rollback()`
`void` `rollback(Savepoint savepoint)`
`void` `setAutoCommit(boolean autoCommit)`
`void` `setCatalog(String catalog)`
`void` `setClientInfo(Properties properties)`
`void` `setClientInfo(String name, String value)`
`void` `setHoldability(int holdability)`
`void` `setNetworkTimeout(Executor executor, int milliseconds)`
`void` `setReadOnly(boolean readOnly)`
`Savepoint` `setSavepoint()`
`Savepoint` `setSavepoint(String name)`
`void` `setSchema(String schema)`
`void` `setTransactionIsolation(int level)`
`void` `setTypeMap(Map<String,Class<?>> map)`
`void` `unregisterStatement(Long stmtId)`
`void` `write(List<String> lines, SchemalessProtocolType protocolType, SchemalessTimestampType timestampType)` batch schemaless lines write to db with list
`void` `write(String[] lines, SchemalessProtocolType protocolType, SchemalessTimestampType timestampType)`
`abstract void` `write(String[] lines, SchemalessProtocolType protocolType, SchemalessTimestampType timestampType, Integer ttl, Long reqId)`
`void` `write(String line, SchemalessProtocolType protocolType, SchemalessTimestampType timestampType)` only one line writes to db
`int` `writeRaw(String line, SchemalessProtocolType protocolType, SchemalessTimestampType timestampType)`
`abstract int` `writeRaw(String line, SchemalessProtocolType protocolType, SchemalessTimestampType timestampType, Integer ttl, Long reqId)`

### Methods inherited from class com.taosdata.jdbc.WrapperImpl

`isWrapperFor, unwrap`

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

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

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

`isWrapperFor, unwrap`

### Field Detail

#### idGenerator

    protected AtomicLong idGenerator

#### statementsMap

    protected ConcurrentHashMap<Long,Statement> statementsMap

#### isClosed

    protected volatile boolean isClosed

#### catalog

    protected volatile String catalog

#### clientInfoProps

    protected final Properties clientInfoProps

### Constructor Detail

#### AbstractConnection

    protected AbstractConnection(Properties properties)

### Method Detail

#### unregisterStatement

    public void unregisterStatement(Long stmtId)

#### registerStatement

    public void registerStatement(Long stmtId,
                                  Statement stmt)

#### createStatement

    public abstract Statement createStatement()
                                       throws SQLException

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

#### prepareStatement

    public abstract PreparedStatement prepareStatement(String sql)
                                                throws SQLException

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

#### prepareCall

    public CallableStatement prepareCall(String sql)
                                  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`

#### setAutoCommit

    public void setAutoCommit(boolean autoCommit)
                       throws SQLException

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

#### getAutoCommit

    public boolean getAutoCommit()
                          throws SQLException

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

#### commit

    public void commit()
                throws SQLException

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

#### rollback

    public void rollback()
                  throws SQLException

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

#### close

    public abstract void close()
                        throws SQLException

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

#### isClosed

    public abstract boolean isClosed()
                              throws SQLException

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

#### getMetaData

    public abstract DatabaseMetaData getMetaData()
                                          throws SQLException

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

#### setReadOnly

    public void setReadOnly(boolean readOnly)
                     throws SQLException

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

#### isReadOnly

    public boolean isReadOnly()
                       throws SQLException

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

#### setCatalog

    public void setCatalog(String catalog)
                    throws SQLException

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

#### getCatalog

    public String getCatalog()
                      throws SQLException

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

#### setTransactionIsolation

    public void setTransactionIsolation(int level)
                                 throws SQLException

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

#### getTransactionIsolation

    public int getTransactionIsolation()
                                throws SQLException

Specified by:
  `getTransactionIsolation` 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 sql,
                                              int resultSetType,
                                              int resultSetConcurrency)
                                       throws SQLException

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

#### prepareCall

    public CallableStatement prepareCall(String sql,
                                         int resultSetType,
                                         int resultSetConcurrency)
                                  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`

#### setHoldability

    public void setHoldability(int holdability)
                        throws SQLException

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

#### getHoldability

    public int getHoldability()
                       throws SQLException

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

#### setSavepoint

    public Savepoint setSavepoint()
                           throws SQLException

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

#### setSavepoint

    public Savepoint setSavepoint(String name)
                           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 sql,
                                              int autoGeneratedKeys)
                                       throws SQLException

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

#### prepareStatement

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

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

#### prepareStatement

    public PreparedStatement prepareStatement(String sql,
                                              String[] columnNames)
                                       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 timeout)
                    throws SQLException

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

#### setClientInfo

    public void setClientInfo(String name,
                              String value)
                       throws SQLClientInfoException

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

#### setClientInfo

    public void setClientInfo(Properties properties)
                       throws SQLClientInfoException

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

#### getClientInfo

    public String getClientInfo(String name)
                         throws SQLException

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

#### getClientInfo

    public Properties getClientInfo()
                             throws SQLException

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

#### createArrayOf

    public Array createArrayOf(String typeName,
                               Object[] elements)
                        throws SQLException

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

#### createStruct

    public Struct createStruct(String typeName,
                               Object[] attributes)
                        throws SQLException

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

#### setSchema

    public void setSchema(String schema)
                   throws SQLException

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

#### getSchema

    public String getSchema()
                     throws SQLException

Specified by:
  `getSchema` 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 milliseconds)
                           throws SQLException

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

#### getNetworkTimeout

    public int getNetworkTimeout()
                          throws SQLException

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

#### write

    public void write(String[] lines,
                      SchemalessProtocolType protocolType,
                      SchemalessTimestampType timestampType)
               throws SQLException

Throws:
  `SQLException`

#### write

    public abstract void write(String[] lines,
                               SchemalessProtocolType protocolType,
                               SchemalessTimestampType timestampType,
                               Integer ttl,
                               Long reqId)
                        throws SQLException

Throws:
  `SQLException`

#### write

    public void write(String line,
                      SchemalessProtocolType protocolType,
                      SchemalessTimestampType timestampType)
               throws SQLException

only one line writes to db

Parameters:
  `line` - schemaless line
  `protocolType` - schemaless type `SchemalessProtocolType`
  `timestampType` - Time precision `SchemalessTimestampType`
Throws:
  `SQLException` - execute exception

#### write

    public void write(List<String> lines,
                      SchemalessProtocolType protocolType,
                      SchemalessTimestampType timestampType)
               throws SQLException

batch schemaless lines write to db with list

Parameters:
  `lines` - schemaless list
  `protocolType` - schemaless type `SchemalessProtocolType`
  `timestampType` - Time precision `SchemalessTimestampType`
Throws:
  `SQLException` - execute exception

#### writeRaw

    public int writeRaw(String line,
                        SchemalessProtocolType protocolType,
                        SchemalessTimestampType timestampType)
                 throws SQLException

Throws:
  `SQLException`

#### writeRaw

    public abstract int writeRaw(String line,
                                 SchemalessProtocolType protocolType,
                                 SchemalessTimestampType timestampType,
                                 Integer ttl,
                                 Long reqId)
                          throws SQLException

Throws:
  `SQLException`