|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.firebirdsql.jdbc.AbstractConnection
The class AbstractConnection
is a handle to a FBManagedConnection.
Field Summary | |
protected FBManagedConnection |
mc
|
Fields inherited from interface org.firebirdsql.jdbc.FirebirdConnection |
TPB_CONCURRENCY, TPB_CONSISTENCY, TPB_NO_REC_VERSION, TPB_NOWAIT, TPB_READ, TPB_READ_COMMITTED, TPB_REC_VERSION, TPB_WAIT, TPB_WRITE |
Fields inherited from interface java.sql.Connection |
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE |
Constructor Summary | |
AbstractConnection(FBManagedConnection mc)
|
Method Summary | |
protected void |
addWarning(java.sql.SQLWarning warning)
|
void |
checkEndTransaction()
|
void |
checkEndTransaction(boolean commit)
|
void |
clearWarnings()
Clears all warnings reported for this Connection object.
|
void |
close()
Releases a Connection's database and JDBC resources immediately instead of waiting for them to be automatically released. |
void |
closeBlob(isc_blob_handle blob)
|
void |
closeStatement(isc_stmt_handle stmt,
boolean deallocate)
|
void |
commit()
Makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by the Connection. |
FirebirdBlob |
createBlob()
This non- interface method is included so you can actually get a blob object to use to write new data into a blob field without needing a preexisting blob to modify. |
isc_blob_handle |
createBlobHandle(boolean segmented)
|
java.sql.Statement |
createStatement()
Creates a Statement object for sending
SQL statements to the database.
|
java.sql.Statement |
createStatement(int resultSetType,
int resultSetConcurrency)
Creates a Statement object that will generate
ResultSet objects with the given type and concurrency.
|
java.sql.ResultSet |
doQuery(java.lang.String sql,
java.util.List params,
java.util.HashMap statements)
|
void |
ensureInTransaction()
The ensureInTransaction method starts a local transaction
if a transaction is not associated with this connection. |
void |
executeStatement(isc_stmt_handle stmt,
boolean sendOutSqlda)
|
void |
fetch(isc_stmt_handle stmt,
int fetchSize)
|
protected void |
finalize()
|
isc_stmt_handle |
getAllocatedStatement()
|
boolean |
getAutoCommit()
Gets the current auto-commit state. |
java.lang.Integer |
getBlobBufferLength()
|
byte[] |
getBlobSegment(isc_blob_handle blob,
int len)
|
java.lang.String |
getCatalog()
Returns the Connection's current catalog name. |
DatabaseParameterBuffer |
getDatabaseParameterBuffer()
Get database parameter buffer for this connection. |
int |
getDatabaseProductMajorVersion()
|
int |
getDatabaseProductMinorVersion()
|
java.lang.String |
getDatabaseProductName()
|
java.lang.String |
getDatabaseProductVersion()
|
GDS |
getInternalAPIHandler()
Get Firebird API handler (sockets/native/embeded/etc) |
isc_db_handle |
getIscDBHandle()
Get connection handle for direct Firebird API access |
java.lang.String |
getIscEncoding()
Get current ISC encoding. |
java.lang.String |
getJavaEncoding()
|
FBLocalTransaction |
getLocalTransaction()
|
java.lang.String |
getMappingPath()
|
java.sql.DatabaseMetaData |
getMetaData()
Gets the metadata regarding this connection's database. |
void |
getSqlCounts(isc_stmt_handle stmt)
|
int |
getTransactionIsolation()
Gets this Connection's current transaction isolation level. |
java.util.Map |
getTypeMap()
Gets the type map object associated with this connection. |
java.sql.SQLWarning |
getWarnings()
Returns the first warning reported by calls on this Connection. |
boolean |
inTransaction()
|
boolean |
isClosed()
Tests to see if a Connection is closed. |
boolean |
isReadOnly()
Tests to see if the connection is in read-only mode. |
java.lang.String |
nativeSQL(java.lang.String sql)
Converts the given SQL statement into the system's native SQL grammar. |
isc_blob_handle |
openBlobHandle(long blob_id,
boolean segmented)
|
java.sql.CallableStatement |
prepareCall(java.lang.String sql)
Creates a CallableStatement object for calling
database stored procedures.
|
java.sql.CallableStatement |
prepareCall(java.lang.String sql,
int resultSetType,
int resultSetConcurrency)
Creates a CallableStatement object that will generate
ResultSet objects with the given type and concurrency.
|
void |
prepareSQL(isc_stmt_handle stmt,
java.lang.String sql,
boolean describeBind)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql)
Creates a PreparedStatement object for sending
parameterized SQL statements to the database.
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int resultSetType,
int resultSetConcurrency)
Creates a PreparedStatement object that will generate
ResultSet objects with the given type and concurrency.
|
void |
putBlobSegment(isc_blob_handle blob,
byte[] buf)
|
void |
registerStatement(AbstractStatement fbStatement)
|
void |
rollback()
Drops all changes made since the previous commit/rollback and releases any database locks currently held by this Connection. |
void |
setAutoCommit(boolean autoCommit)
Sets this connection's auto-commit mode. |
void |
setCatalog(java.lang.String catalog)
Sets a catalog name in order to select a subspace of this Connection's database in which to work. |
void |
setCursorName(isc_stmt_handle stmt,
java.lang.String cursorName)
|
void |
setManagedConnection(FBManagedConnection mc)
|
void |
setReadOnly(boolean readOnly)
Puts this connection in read-only mode as a hint to enable database optimizations. |
void |
setTransactionIsolation(int level)
Attempts to change the transaction isolation level to the one given. |
void |
setTransactionParameters(int isolationLevel,
int[] parameters)
Set transaction parameters for the specified isolation level. |
void |
setTypeMap(java.util.Map map)
Installs the given type map as the type map for this connection. |
boolean |
willEndTransaction()
The willEndTransaction method determines if the current
transaction should be automatically ended when the current statement
executes.
|
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.sql.Connection |
createStatement, getHoldability, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, rollback, setHoldability, setSavepoint, setSavepoint |
Field Detail |
protected FBManagedConnection mc
Constructor Detail |
public AbstractConnection(FBManagedConnection mc)
Method Detail |
public void setManagedConnection(FBManagedConnection mc)
public isc_db_handle getIscDBHandle() throws GDSException
GDSException
- if handle needed to be created and creation failedpublic GDS getInternalAPIHandler()
public DatabaseParameterBuffer getDatabaseParameterBuffer()
DatabaseParameterBuffer
.public void setTransactionParameters(int isolationLevel, int[] parameters) throws java.sql.SQLException
FirebirdConnection
setTransactionParameters
in interface FirebirdConnection
isolationLevel
- JDBC isolation level.parameters
- array of TPB parameters, see all TPB_* constants.
java.sql.SQLException
- if specified transaction parameters cannot be set.public java.sql.Statement createStatement() throws java.sql.SQLException
Statement
object for sending
SQL statements to the database.
SQL statements without parameters are normally
executed using Statement objects. If the same SQL statement
is executed many times, it is more efficient to use a
PreparedStatement
object.
Result sets created using the returned Statement
object will by default have forward-only type and read-only concurrency.
createStatement
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException
PreparedStatement
object for sending
parameterized SQL statements to the database.
A SQL statement with or without IN parameters can be
pre-compiled and stored in a PreparedStatement object. This
object can then be used to efficiently execute this statement
multiple times.
Note: This method is optimized for handling
parametric SQL statements that benefit from precompilation. If
the driver supports precompilation,
the method prepareStatement
will send
the statement to the database for precompilation. Some drivers
may not support precompilation. In this case, the statement may
not be sent to the database until the PreparedStatement
is
executed. This has no direct effect on users; however, it does
affect which method throws certain SQLExceptions.
Result sets created using the returned PreparedStatement will have
forward-only type and read-only concurrency, by default.
prepareStatement
in interface java.sql.Connection
sql
- a SQL statement that may contain one or more '?' IN
parameter placeholders
java.sql.SQLException
- if a database access error occurspublic java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException
CallableStatement
object for calling
database stored procedures.
The CallableStatement
object provides
methods for setting up its IN and OUT parameters, and
methods for executing the call to a stored procedure.
Note: This method is optimized for handling stored
procedure call statements. Some drivers may send the call
statement to the database when the method prepareCall
is done; others
may wait until the CallableStatement
object
is executed. This has no
direct effect on users; however, it does affect which method
throws certain SQLExceptions.
Result sets created using the returned CallableStatement will have
forward-only type and read-only concurrency, by default.
prepareCall
in interface java.sql.Connection
sql
- a SQL statement that may contain one or more '?'
parameter placeholders. Typically this statement is a JDBC
function call escape string.
java.sql.SQLException
- if a database access error occurspublic java.lang.String nativeSQL(java.lang.String sql) throws java.sql.SQLException
nativeSQL
in interface java.sql.Connection
sql
- a SQL statement that may contain one or more '?'
parameter placeholders
java.sql.SQLException
- if a database access error occurspublic void setAutoCommit(boolean autoCommit) throws java.sql.SQLException
commit
or the method rollback
.
By default, new connections are in auto-commit
mode.
The commit occurs when the statement completes or the next
execute occurs, whichever comes first. In the case of
statements returning a ResultSet, the statement completes when
the last row of the ResultSet has been retrieved or the
ResultSet has been closed. In advanced cases, a single
statement may return multiple results as well as output
parameter values. In these cases the commit occurs when all results and
output parameter values have been retrieved.
setAutoCommit
in interface java.sql.Connection
autoCommit
- true enables auto-commit; false disables
auto-commit.
java.sql.SQLException
- if a database access error occurspublic boolean getAutoCommit() throws java.sql.SQLException
getAutoCommit
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurssetAutoCommit(boolean)
public void commit() throws java.sql.SQLException
commit
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurssetAutoCommit(boolean)
public void rollback() throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurssetAutoCommit(boolean)
public void close() throws java.sql.SQLException
Note: A Connection is automatically closed when it is garbage collected. Certain fatal errors also result in a closed Connection.
close
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic boolean isClosed()
isClosed
in interface java.sql.Connection
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
getMetaData
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic void setReadOnly(boolean readOnly) throws java.sql.SQLException
Note: This method cannot be called while in the middle of a transaction.
setReadOnly
in interface java.sql.Connection
readOnly
- true enables read-only mode; false disables
read-only mode.
java.sql.SQLException
- if a database access error occurspublic boolean isReadOnly() throws java.sql.SQLException
isReadOnly
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic void setCatalog(java.lang.String catalog) throws java.sql.SQLException
setCatalog
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic java.lang.String getCatalog() throws java.sql.SQLException
getCatalog
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic void setTransactionIsolation(int level) throws java.sql.SQLException
Connection
are the possible transaction isolation levels.
Calling this method will commit any current transaction.
setTransactionIsolation
in interface java.sql.Connection
level
- one of the TRANSACTION_* isolation values with the
exception of TRANSACTION_NONE; some databases may not support
other values
java.sql.SQLException
- if a database access error occursDatabaseMetaData.supportsTransactionIsolationLevel(int)
public int getTransactionIsolation() throws java.sql.SQLException
getTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic java.sql.SQLWarning getWarnings() throws java.sql.SQLException
Note: Subsequent warnings will be chained to this SQLWarning.
getWarnings
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic void clearWarnings() throws java.sql.SQLException
Connection
object.
After a call to this method, the method getWarnings
returns null until a new warning is
reported for this Connection.
clearWarnings
in interface java.sql.Connection
java.sql.SQLException
- if a database access error occurspublic java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
Statement
object that will generate
ResultSet
objects with the given type and concurrency.
This method is the same as the createStatement
method
above, but it allows the default result set
type and result set concurrency type to be overridden.
createStatement
in interface java.sql.Connection
resultSetType
- a result set type; see ResultSet.TYPE_XXXresultSetConcurrency
- a concurrency type; see ResultSet.CONCUR_XXX
java.sql.SQLException
- if a database access error occurspublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
PreparedStatement
object that will generate
ResultSet
objects with the given type and concurrency.
This method is the same as the prepareStatement
method
above, but it allows the default result set
type and result set concurrency type to be overridden.
prepareStatement
in interface java.sql.Connection
resultSetType
- a result set type; see ResultSet.TYPE_XXXresultSetConcurrency
- a concurrency type; see ResultSet.CONCUR_XXX
java.sql.SQLException
- if a database access error occurspublic java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
CallableStatement
object that will generate
ResultSet
objects with the given type and concurrency.
This method is the same as the prepareCall
method
above, but it allows the default result set
type and result set concurrency type to be overridden.
prepareCall
in interface java.sql.Connection
resultSetType
- a result set type; see ResultSet.TYPE_XXXresultSetConcurrency
- a concurrency type; see ResultSet.CONCUR_XXX
java.sql.SQLException
- if a database access error occurspublic java.util.Map getTypeMap() throws java.sql.SQLException
getTypeMap
in interface java.sql.Connection
java.util.Map
object associated
with this Connection
object
java.sql.SQLException
public void setTypeMap(java.util.Map map) throws java.sql.SQLException
setTypeMap
in interface java.sql.Connection
map
- the java.util.Map
object to install
as the replacement for this Connection
object's default type map
java.sql.SQLException
public FBLocalTransaction getLocalTransaction()
public FirebirdBlob createBlob() throws java.sql.SQLException
createBlob
in interface FirebirdConnection
FirebirdBlob
.
java.sql.SQLException
- if something went wrong.public boolean inTransaction()
public java.lang.String getIscEncoding()
FirebirdConnection
getIscEncoding
in interface FirebirdConnection
public void ensureInTransaction() throws java.sql.SQLException
ensureInTransaction
method starts a local transaction
if a transaction is not associated with this connection.
boolean
value, true if transaction was started.
java.sql.SQLException
public boolean willEndTransaction() throws java.sql.SQLException
willEndTransaction
method determines if the current
transaction should be automatically ended when the current statement
executes.
for use in jca contexts, autocommit is always true, and autoTransaction
is true if the current transaction was started automatically.
Using jdbc transaction control, if autocommit is false, transactions are
started automatically but not ended automatically.
boolean
value
java.sql.SQLException
public void checkEndTransaction() throws java.sql.SQLException
java.sql.SQLException
public void checkEndTransaction(boolean commit) throws java.sql.SQLException
java.sql.SQLException
protected void addWarning(java.sql.SQLWarning warning)
public isc_stmt_handle getAllocatedStatement() throws GDSException
GDSException
public void executeStatement(isc_stmt_handle stmt, boolean sendOutSqlda) throws GDSException
GDSException
public void closeStatement(isc_stmt_handle stmt, boolean deallocate) throws GDSException
GDSException
public void prepareSQL(isc_stmt_handle stmt, java.lang.String sql, boolean describeBind) throws GDSException, java.sql.SQLException
GDSException
java.sql.SQLException
public void registerStatement(AbstractStatement fbStatement)
public void fetch(isc_stmt_handle stmt, int fetchSize) throws GDSException
GDSException
public void setCursorName(isc_stmt_handle stmt, java.lang.String cursorName) throws GDSException
GDSException
public void getSqlCounts(isc_stmt_handle stmt) throws GDSException
GDSException
public java.lang.String getDatabaseProductName()
public java.lang.String getDatabaseProductVersion()
public int getDatabaseProductMajorVersion()
public int getDatabaseProductMinorVersion()
public java.lang.Integer getBlobBufferLength()
public isc_blob_handle openBlobHandle(long blob_id, boolean segmented) throws GDSException
GDSException
public byte[] getBlobSegment(isc_blob_handle blob, int len) throws GDSException
GDSException
public void closeBlob(isc_blob_handle blob) throws GDSException
GDSException
public isc_blob_handle createBlobHandle(boolean segmented) throws GDSException
GDSException
public void putBlobSegment(isc_blob_handle blob, byte[] buf) throws GDSException
GDSException
public java.lang.String getJavaEncoding()
public java.lang.String getMappingPath()
public java.sql.ResultSet doQuery(java.lang.String sql, java.util.List params, java.util.HashMap statements) throws java.sql.SQLException
java.sql.SQLException
protected void finalize() throws java.lang.Throwable
java.lang.Throwable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |