public abstract class AvaticaConnection extends Object implements Connection
Abstract to allow newer versions of JDBC to add methods.
| Modifier and Type | Class and Description |
|---|---|
static interface |
AvaticaConnection.CallableWithoutException<T>
A Callable-like interface but without a "throws Exception".
|
static class |
AvaticaConnection.Trojan
A way to call package-protected methods.
|
| Modifier and Type | Field and Description |
|---|---|
protected UnregisteredDriver |
driver |
protected AvaticaFactory |
factory |
Meta.ConnectionHandle |
handle |
static Helper |
HELPER |
String |
id |
protected Properties |
info |
protected long |
maxRetriesPerExecute |
protected Meta |
meta |
protected AvaticaSpecificDatabaseMetaData |
metaData |
static String |
NUM_EXECUTE_RETRIES_DEFAULT |
static String |
NUM_EXECUTE_RETRIES_KEY |
static String |
PLAN_COLUMN_NAME
The name of the sole column returned by an EXPLAIN statement.
|
Map<InternalProperty,Object> |
properties |
static String |
ROWCOUNT_COLUMN_NAME
The name of the sole column returned by DML statements, containing
the number of rows modified.
|
protected int |
statementCount |
Map<Integer,AvaticaStatement> |
statementMap |
protected boolean |
transparentReconnectEnabled |
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE| Modifier | Constructor and Description |
|---|---|
protected |
AvaticaConnection(UnregisteredDriver driver,
AvaticaFactory factory,
String url,
Properties info)
Creates an AvaticaConnection.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abort(Executor executor) |
protected void |
checkOpen() |
void |
clearWarnings() |
void |
close() |
void |
commit() |
ConnectionConfig |
config()
Returns a view onto this connection's configuration properties.
|
Array |
createArrayOf(String typeName,
Object[] elements) |
Blob |
createBlob() |
Clob |
createClob() |
NClob |
createNClob() |
protected ResultSet |
createResultSet(Meta.MetaResultSet metaResultSet,
QueryState state) |
SQLXML |
createSQLXML() |
AvaticaStatement |
createStatement() |
Statement |
createStatement(int resultSetType,
int resultSetConcurrency) |
AvaticaStatement |
createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability) |
Struct |
createStruct(String typeName,
Object[] attributes) |
protected static AvaticaConnection.Trojan |
createTrojan() |
protected long[] |
executeBatchUpdateInternal(AvaticaPreparedStatement pstmt)
Executes a batch update using an
AvaticaPreparedStatement. |
protected ResultSet |
executeQueryInternal(AvaticaStatement statement,
Meta.Signature signature,
Meta.Frame firstFrame,
QueryState state,
boolean isUpdate)
Executes a prepared query, closing any previously open result set.
|
boolean |
getAutoCommit() |
AtomicBoolean |
getCancelFlag(Meta.StatementHandle h)
Returns or creates a slot whose state can be changed to cancel a
statement.
|
String |
getCatalog() |
Properties |
getClientInfo() |
String |
getClientInfo(String name) |
int |
getHoldability() |
KerberosConnection |
getKerberosConnection() |
DatabaseMetaData |
getMetaData() |
int |
getNetworkTimeout() |
String |
getSchema() |
Service |
getService() |
TimeZone |
getTimeZone()
Returns the time zone of this connection.
|
int |
getTransactionIsolation() |
Map<String,Class<?>> |
getTypeMap() |
SQLWarning |
getWarnings() |
<T> T |
invokeWithRetries(AvaticaConnection.CallableWithoutException<T> callable)
Invokes the given "callable", retrying the call when the server responds with an error
denoting that the connection is missing on the server.
|
boolean |
isClosed() |
boolean |
isReadOnly() |
boolean |
isValid(int timeout) |
boolean |
isWrapperFor(Class<?> iface) |
protected AvaticaStatement |
lookupStatement(Meta.StatementHandle h)
Creates a statement wrapper around an existing handle.
|
String |
nativeSQL(String sql) |
void |
openConnection()
Opens the connection on the server.
|
protected Meta.ExecuteResult |
prepareAndExecuteInternal(AvaticaStatement statement,
String sql,
long maxRowCount) |
protected Meta.ExecuteBatchResult |
prepareAndUpdateBatch(AvaticaStatement statement,
List<String> queries) |
CallableStatement |
prepareCall(String sql) |
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency) |
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability) |
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 |
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 |
setKerberosConnection(KerberosConnection kerberosConnection) |
void |
setNetworkTimeout(Executor executor,
int milliseconds) |
void |
setReadOnly(boolean readOnly) |
Savepoint |
setSavepoint() |
Savepoint |
setSavepoint(String name) |
void |
setSchema(String schema) |
void |
setService(Service service) |
void |
setTransactionIsolation(int level) |
void |
setTypeMap(Map<String,Class<?>> map) |
<T> T |
unwrap(Class<T> iface) |
public static final String ROWCOUNT_COLUMN_NAME
public static final String NUM_EXECUTE_RETRIES_KEY
public static final String NUM_EXECUTE_RETRIES_DEFAULT
public static final String PLAN_COLUMN_NAME
Actually Avatica does not care what this column is called, but here is a useful place to define a suggested value.
public static final Helper HELPER
protected int statementCount
public final String id
public final Meta.ConnectionHandle handle
protected final UnregisteredDriver driver
protected final AvaticaFactory factory
protected final Properties info
protected final Meta meta
protected final AvaticaSpecificDatabaseMetaData metaData
public final Map<InternalProperty,Object> properties
public final Map<Integer,AvaticaStatement> statementMap
protected final long maxRetriesPerExecute
protected final boolean transparentReconnectEnabled
protected AvaticaConnection(UnregisteredDriver driver, AvaticaFactory factory, String url, Properties info)
Not public; method is called only from the driver or a derived class.
driver - Driverfactory - Factory for JDBC objectsurl - Server URLinfo - Other connection propertiespublic ConnectionConfig config()
Properties.getProperty(String). Derived projects will
almost certainly subclass ConnectionConfig with their own
properties.public void openConnection()
protected void checkOpen()
throws SQLException
SQLExceptionpublic AvaticaStatement createStatement() throws SQLException
createStatement in interface ConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql) throws SQLException
prepareStatement in interface ConnectionSQLExceptionpublic CallableStatement prepareCall(String sql) throws SQLException
prepareCall in interface ConnectionSQLExceptionpublic String nativeSQL(String sql) throws SQLException
nativeSQL in interface ConnectionSQLExceptionpublic void setAutoCommit(boolean autoCommit)
throws SQLException
setAutoCommit in interface ConnectionSQLExceptionpublic boolean getAutoCommit()
throws SQLException
getAutoCommit in interface ConnectionSQLExceptionpublic void commit()
throws SQLException
commit in interface ConnectionSQLExceptionpublic void rollback()
throws SQLException
rollback in interface ConnectionSQLExceptionpublic void close()
throws SQLException
close in interface AutoCloseableclose in interface ConnectionSQLExceptionpublic boolean isClosed()
throws SQLException
isClosed in interface ConnectionSQLExceptionpublic DatabaseMetaData getMetaData() throws SQLException
getMetaData in interface ConnectionSQLExceptionpublic void setReadOnly(boolean readOnly)
throws SQLException
setReadOnly in interface ConnectionSQLExceptionpublic boolean isReadOnly()
throws SQLException
isReadOnly in interface ConnectionSQLExceptionpublic void setCatalog(String catalog) throws SQLException
setCatalog in interface ConnectionSQLExceptionpublic String getCatalog() throws SQLException
getCatalog in interface ConnectionSQLExceptionpublic void setTransactionIsolation(int level)
throws SQLException
setTransactionIsolation in interface ConnectionSQLExceptionpublic int getTransactionIsolation()
throws SQLException
getTransactionIsolation in interface ConnectionSQLExceptionpublic SQLWarning getWarnings() throws SQLException
getWarnings in interface ConnectionSQLExceptionpublic void clearWarnings()
throws SQLException
clearWarnings in interface ConnectionSQLExceptionpublic Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
createStatement in interface ConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
prepareStatement in interface ConnectionSQLExceptionpublic CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
prepareCall in interface ConnectionSQLExceptionpublic Map<String,Class<?>> getTypeMap() throws SQLException
getTypeMap in interface ConnectionSQLExceptionpublic void setTypeMap(Map<String,Class<?>> map) throws SQLException
setTypeMap in interface ConnectionSQLExceptionpublic void setHoldability(int holdability)
throws SQLException
setHoldability in interface ConnectionSQLExceptionpublic int getHoldability()
throws SQLException
getHoldability in interface ConnectionSQLExceptionpublic Savepoint setSavepoint() throws SQLException
setSavepoint in interface ConnectionSQLExceptionpublic Savepoint setSavepoint(String name) throws SQLException
setSavepoint in interface ConnectionSQLExceptionpublic void rollback(Savepoint savepoint) throws SQLException
rollback in interface ConnectionSQLExceptionpublic void releaseSavepoint(Savepoint savepoint) throws SQLException
releaseSavepoint in interface ConnectionSQLExceptionpublic AvaticaStatement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
createStatement in interface ConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
prepareStatement in interface ConnectionSQLExceptionpublic CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
prepareCall in interface ConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
prepareStatement in interface ConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
prepareStatement in interface ConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
prepareStatement in interface ConnectionSQLExceptionpublic Clob createClob() throws SQLException
createClob in interface ConnectionSQLExceptionpublic Blob createBlob() throws SQLException
createBlob in interface ConnectionSQLExceptionpublic NClob createNClob() throws SQLException
createNClob in interface ConnectionSQLExceptionpublic SQLXML createSQLXML() throws SQLException
createSQLXML in interface ConnectionSQLExceptionpublic boolean isValid(int timeout)
throws SQLException
isValid in interface ConnectionSQLExceptionpublic void setClientInfo(String name, String value) throws SQLClientInfoException
setClientInfo in interface ConnectionSQLClientInfoExceptionpublic void setClientInfo(Properties properties) throws SQLClientInfoException
setClientInfo in interface ConnectionSQLClientInfoExceptionpublic String getClientInfo(String name) throws SQLException
getClientInfo in interface ConnectionSQLExceptionpublic Properties getClientInfo() throws SQLException
getClientInfo in interface ConnectionSQLExceptionpublic Array createArrayOf(String typeName, Object[] elements) throws SQLException
createArrayOf in interface ConnectionSQLExceptionpublic Struct createStruct(String typeName, Object[] attributes) throws SQLException
createStruct in interface ConnectionSQLExceptionpublic void setSchema(String schema) throws SQLException
setSchema in interface ConnectionSQLExceptionpublic String getSchema() throws SQLException
getSchema in interface ConnectionSQLExceptionpublic void abort(Executor executor) throws SQLException
abort in interface ConnectionSQLExceptionpublic void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
setNetworkTimeout in interface ConnectionSQLExceptionpublic int getNetworkTimeout()
throws SQLException
getNetworkTimeout in interface ConnectionSQLExceptionpublic <T> T unwrap(Class<T> iface) throws SQLException
unwrap in interface WrapperSQLExceptionpublic boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor in interface WrapperSQLExceptionpublic TimeZone getTimeZone()
Timestamp values.protected ResultSet executeQueryInternal(AvaticaStatement statement, Meta.Signature signature, Meta.Frame firstFrame, QueryState state, boolean isUpdate) throws SQLException
statement - Statementsignature - Prepared queryfirstFrame - First frame of rows, or null if we need to executestate - The state used to create the given resultisUpdate - Was the caller context via PreparedStatement.executeUpdate().SQLException - if a database error occursprotected long[] executeBatchUpdateInternal(AvaticaPreparedStatement pstmt) throws SQLException
AvaticaPreparedStatement.pstmt - The prepared statement.SQLExceptionprotected Meta.ExecuteResult prepareAndExecuteInternal(AvaticaStatement statement, String sql, long maxRowCount) throws SQLException, NoSuchStatementException
SQLExceptionNoSuchStatementExceptionprotected Meta.ExecuteBatchResult prepareAndUpdateBatch(AvaticaStatement statement, List<String> queries) throws NoSuchStatementException, SQLException
NoSuchStatementExceptionSQLExceptionprotected ResultSet createResultSet(Meta.MetaResultSet metaResultSet, QueryState state) throws SQLException
SQLExceptionprotected AvaticaStatement lookupStatement(Meta.StatementHandle h) throws SQLException
SQLExceptionprotected static AvaticaConnection.Trojan createTrojan()
public AtomicBoolean getCancelFlag(Meta.StatementHandle h) throws NoSuchStatementException
NoSuchStatementExceptionpublic <T> T invokeWithRetries(AvaticaConnection.CallableWithoutException<T> callable)
callable - The function to invoke.public void setKerberosConnection(KerberosConnection kerberosConnection)
public KerberosConnection getKerberosConnection()
public Service getService()
public void setService(Service service)
Copyright © 2012-2025 Apache Software Foundation. All Rights Reserved.