Package com.impossibl.postgres.jdbc
Class PGPooledConnectionDelegator
- java.lang.Object
-
- com.impossibl.postgres.jdbc.PGPooledConnectionDelegator
-
- All Implemented Interfaces:
PGConnection
,AutoCloseable
,Connection
,Wrapper
- Direct Known Subclasses:
PGXAConnectionDelegator
public class PGPooledConnectionDelegator extends Object implements PGConnection
Connection handle for PGPooledConnection
-
-
Field Summary
-
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
-
-
Constructor Summary
Constructors Constructor Description PGPooledConnectionDelegator(PGPooledConnection owner, PGConnection delegator)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort(Executor executor)
void
addNotificationListener(PGNotificationListener listener)
Adds an, unnamed, unfiltered, asynchronous notification listener to this connectionvoid
addNotificationListener(String channelNameFilter, PGNotificationListener listener)
Adds an, unnamed, filtered, asynchronous notification listener to this connectionvoid
addNotificationListener(String name, String channelNameFilter, PGNotificationListener listener)
Adds a filtered asynchronous notification listener to this connectionvoid
clearWarnings()
void
close()
void
commit()
void
copyFrom(String sql, InputStream inputStream)
Allows issuing PostgreSQL's COPY command providing anInputStream
stream to read from, instead of relying onSystem.in
.void
copyTo(String sql, OutputStream outputStream)
Allows issuing PostgreSQL's COPY command providing anOutputStream
stream to write to, instead of relying onSystem.out
.Array
createArrayOf(String typeName, Object[] elements)
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 typeName, Object[] attributes)
boolean
equals(Object o)
boolean
getAutoCommit()
String
getCatalog()
Properties
getClientInfo()
String
getClientInfo(String name)
Integer
getDefaultFetchSize()
Get the default fetch sizeint
getHoldability()
DatabaseMetaData
getMetaData()
int
getNetworkTimeout()
String
getSchema()
int
getTransactionIsolation()
Map<String,Class<?>>
getTypeMap()
SQLWarning
getWarnings()
int
hashCode()
boolean
isClosed()
boolean
isReadOnly()
boolean
isServerMinimumVersion(int major, int minor)
Checks the minimum server versionboolean
isStrictMode()
Is strict modeboolean
isValid(int timeout)
boolean
isWrapperFor(Class<?> iface)
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)
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
removeNotificationListener(PGNotificationListener listener)
Removes a notification listenervoid
removeNotificationListener(String name)
Removes a named notification listenerPGAnyType
resolveType(String name)
Resolves a name to an SQLType suitable for passing to any method that accepts one.void
rollback()
void
rollback(Savepoint savepoint)
void
setAutoCommit(boolean autoCommit)
void
setCatalog(String catalog)
void
setClientInfo(String name, String value)
void
setClientInfo(Properties properties)
void
setDefaultFetchSize(Integer v)
Set the default fetch sizevoid
setHoldability(int holdability)
void
setNetworkTimeout(Executor executor, int milliseconds)
void
setReadOnly(boolean readOnly)
Savepoint
setSavepoint()
Savepoint
setSavepoint(String name)
void
setSchema(String schema)
void
setStrictMode(boolean v)
Set strict modevoid
setTransactionIsolation(int level)
void
setTypeMap(Map<String,Class<?>> map)
<T> T
unwrap(Class<T> iface)
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
-
-
-
Constructor Detail
-
PGPooledConnectionDelegator
public PGPooledConnectionDelegator(PGPooledConnection owner, PGConnection delegator)
Constructor- Parameters:
owner
- The ownerdelegator
- The delegator
-
-
Method Detail
-
isServerMinimumVersion
public boolean isServerMinimumVersion(int major, int minor)
Checks the minimum server version- Specified by:
isServerMinimumVersion
in interfacePGConnection
- Parameters:
major
- The major releaseminor
- The minor release- Returns:
True
if the server is minimum the specified version, otherwisefalse
.
-
addNotificationListener
public void addNotificationListener(String name, String channelNameFilter, PGNotificationListener listener)
Adds a filtered asynchronous notification listener to this connection- Specified by:
addNotificationListener
in interfacePGConnection
- Parameters:
name
- Name of listenerchannelNameFilter
- Channel name based notification filter (Regular Expression)listener
- Notification listener
-
addNotificationListener
public void addNotificationListener(String channelNameFilter, PGNotificationListener listener)
Adds an, unnamed, filtered, asynchronous notification listener to this connection- Specified by:
addNotificationListener
in interfacePGConnection
- Parameters:
channelNameFilter
- Channel name based notification filter (Regular Expression)listener
- Notification listener
-
addNotificationListener
public void addNotificationListener(PGNotificationListener listener)
Adds an, unnamed, unfiltered, asynchronous notification listener to this connection- Specified by:
addNotificationListener
in interfacePGConnection
- Parameters:
listener
- Notification listener
-
removeNotificationListener
public void removeNotificationListener(String name)
Removes a named notification listener- Specified by:
removeNotificationListener
in interfacePGConnection
- Parameters:
name
- Name of listener to remove
-
removeNotificationListener
public void removeNotificationListener(PGNotificationListener listener)
Removes a notification listener- Specified by:
removeNotificationListener
in interfacePGConnection
- Parameters:
listener
- Listener instance to remove
-
copyFrom
public void copyFrom(String sql, InputStream inputStream)
Allows issuing PostgreSQL's COPY command providing anInputStream
stream to read from, instead of relying onSystem.in
.- Specified by:
copyFrom
in interfacePGConnection
- Parameters:
sql
- SQL text for a validCOPY ... FROM STDIN
command.inputStream
-InputStream
containing data inCOPY
format.
-
copyTo
public void copyTo(String sql, OutputStream outputStream)
Allows issuing PostgreSQL's COPY command providing anOutputStream
stream to write to, instead of relying onSystem.out
.- Specified by:
copyTo
in interfacePGConnection
- Parameters:
sql
- SQL text for a validCOPY ... TO STDOUT
command.outputStream
-OutputStream
to write data inCOPY
format.
-
abort
public void abort(Executor executor) throws SQLException
- Specified by:
abort
in interfaceConnection
- Throws:
SQLException
-
clearWarnings
public void clearWarnings() throws SQLException
- Specified by:
clearWarnings
in interfaceConnection
- Throws:
SQLException
-
close
public void close() throws SQLException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceConnection
- Throws:
SQLException
-
commit
public void commit() throws SQLException
- Specified by:
commit
in interfaceConnection
- Throws:
SQLException
-
createArrayOf
public Array createArrayOf(String typeName, Object[] elements) throws SQLException
- Specified by:
createArrayOf
in interfaceConnection
- Throws:
SQLException
-
createBlob
public Blob createBlob() throws SQLException
- Specified by:
createBlob
in interfaceConnection
- Throws:
SQLException
-
createClob
public Clob createClob() throws SQLException
- Specified by:
createClob
in interfaceConnection
- Throws:
SQLException
-
createNClob
public NClob createNClob() throws SQLException
- Specified by:
createNClob
in interfaceConnection
- Throws:
SQLException
-
createSQLXML
public SQLXML createSQLXML() throws SQLException
- Specified by:
createSQLXML
in interfaceConnection
- Throws:
SQLException
-
createStatement
public Statement createStatement() throws SQLException
- Specified by:
createStatement
in interfaceConnection
- Throws:
SQLException
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
- Specified by:
createStatement
in interfaceConnection
- Throws:
SQLException
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
createStatement
in interfaceConnection
- Throws:
SQLException
-
createStruct
public Struct createStruct(String typeName, Object[] attributes) throws SQLException
- Specified by:
createStruct
in interfaceConnection
- Throws:
SQLException
-
getAutoCommit
public boolean getAutoCommit() throws SQLException
- Specified by:
getAutoCommit
in interfaceConnection
- Throws:
SQLException
-
getCatalog
public String getCatalog() throws SQLException
- Specified by:
getCatalog
in interfaceConnection
- Throws:
SQLException
-
getClientInfo
public Properties getClientInfo() throws SQLException
- Specified by:
getClientInfo
in interfaceConnection
- Throws:
SQLException
-
getClientInfo
public String getClientInfo(String name) throws SQLException
- Specified by:
getClientInfo
in interfaceConnection
- Throws:
SQLException
-
getHoldability
public int getHoldability() throws SQLException
- Specified by:
getHoldability
in interfaceConnection
- Throws:
SQLException
-
getMetaData
public DatabaseMetaData getMetaData() throws SQLException
- Specified by:
getMetaData
in interfaceConnection
- Throws:
SQLException
-
getNetworkTimeout
public int getNetworkTimeout() throws SQLException
- Specified by:
getNetworkTimeout
in interfaceConnection
- Throws:
SQLException
-
getSchema
public String getSchema() throws SQLException
- Specified by:
getSchema
in interfaceConnection
- Throws:
SQLException
-
getTransactionIsolation
public int getTransactionIsolation() throws SQLException
- Specified by:
getTransactionIsolation
in interfaceConnection
- Throws:
SQLException
-
getTypeMap
public Map<String,Class<?>> getTypeMap() throws SQLException
- Specified by:
getTypeMap
in interfaceConnection
- Throws:
SQLException
-
getWarnings
public SQLWarning getWarnings() throws SQLException
- Specified by:
getWarnings
in interfaceConnection
- Throws:
SQLException
-
isClosed
public boolean isClosed() throws SQLException
- Specified by:
isClosed
in interfaceConnection
- Throws:
SQLException
-
isReadOnly
public boolean isReadOnly() throws SQLException
- Specified by:
isReadOnly
in interfaceConnection
- Throws:
SQLException
-
isValid
public boolean isValid(int timeout) throws SQLException
- Specified by:
isValid
in interfaceConnection
- Throws:
SQLException
-
nativeSQL
public String nativeSQL(String sql) throws SQLException
- Specified by:
nativeSQL
in interfaceConnection
- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql) throws SQLException
- Specified by:
prepareCall
in interfaceConnection
- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
- Specified by:
prepareCall
in interfaceConnection
- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
prepareCall
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
- Specified by:
prepareStatement
in interfaceConnection
- Throws:
SQLException
-
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint) throws SQLException
- Specified by:
releaseSavepoint
in interfaceConnection
- Throws:
SQLException
-
rollback
public void rollback() throws SQLException
- Specified by:
rollback
in interfaceConnection
- Throws:
SQLException
-
rollback
public void rollback(Savepoint savepoint) throws SQLException
- Specified by:
rollback
in interfaceConnection
- Throws:
SQLException
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws SQLException
- Specified by:
setAutoCommit
in interfaceConnection
- Throws:
SQLException
-
setCatalog
public void setCatalog(String catalog) throws SQLException
- Specified by:
setCatalog
in interfaceConnection
- Throws:
SQLException
-
setClientInfo
public void setClientInfo(Properties properties) throws SQLClientInfoException
- Specified by:
setClientInfo
in interfaceConnection
- Throws:
SQLClientInfoException
-
setClientInfo
public void setClientInfo(String name, String value) throws SQLClientInfoException
- Specified by:
setClientInfo
in interfaceConnection
- Throws:
SQLClientInfoException
-
setHoldability
public void setHoldability(int holdability) throws SQLException
- Specified by:
setHoldability
in interfaceConnection
- Throws:
SQLException
-
setNetworkTimeout
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
- Specified by:
setNetworkTimeout
in interfaceConnection
- Throws:
SQLException
-
setReadOnly
public void setReadOnly(boolean readOnly) throws SQLException
- Specified by:
setReadOnly
in interfaceConnection
- Throws:
SQLException
-
setSavepoint
public Savepoint setSavepoint() throws SQLException
- Specified by:
setSavepoint
in interfaceConnection
- Throws:
SQLException
-
setSavepoint
public Savepoint setSavepoint(String name) throws SQLException
- Specified by:
setSavepoint
in interfaceConnection
- Throws:
SQLException
-
setSchema
public void setSchema(String schema) throws SQLException
- Specified by:
setSchema
in interfaceConnection
- Throws:
SQLException
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws SQLException
- Specified by:
setTransactionIsolation
in interfaceConnection
- Throws:
SQLException
-
setTypeMap
public void setTypeMap(Map<String,Class<?>> map) throws SQLException
- Specified by:
setTypeMap
in interfaceConnection
- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperFor
in interfaceWrapper
- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrap
in interfaceWrapper
- Throws:
SQLException
-
setStrictMode
public void setStrictMode(boolean v)
Set strict mode- Specified by:
setStrictMode
in interfacePGConnection
- Parameters:
v
- The value
-
isStrictMode
public boolean isStrictMode()
Is strict mode- Specified by:
isStrictMode
in interfacePGConnection
- Returns:
- The value
-
setDefaultFetchSize
public void setDefaultFetchSize(Integer v)
Set the default fetch size- Specified by:
setDefaultFetchSize
in interfacePGConnection
- Parameters:
v
- The value
-
getDefaultFetchSize
public Integer getDefaultFetchSize()
Get the default fetch size- Specified by:
getDefaultFetchSize
in interfacePGConnection
- Returns:
- The value
-
resolveType
public PGAnyType resolveType(String name) throws SQLException
Resolves a name to an SQLType suitable for passing to any method that accepts one. As the method queries the server for the type information any type name acceptable to the server is allowed (i.e. qualified, unqualified, quoted, etc.) Using this method allows the resolution of a name to a type to be re-used; speeding up performance in cases where named types are used. NOTE: The possibility of DDL changing the name to type mapping means named types are always looked up when used. This ensures that the correct type is used always. When resolving a named type using this method it is only valid as long as no commands are issued that invalidate it (e.g. dropping and re-adding a type or extension).- Specified by:
resolveType
in interfacePGConnection
- Parameters:
name
- Name of type to resolve (anything acceptable to the server)- Returns:
- Type instance representing the current name to type mapping.
- Throws:
SQLException
-
-