client-java.sources.src.jdbc_30.org.firebirdsql.jdbc.FBConnection Maven / Gradle / Ivy
/*
* Firebird Open Source J2ee connector - jdbc driver
*
* Distributable under LGPL license.
* You may obtain a copy of the License at http://www.gnu.org/copyleft/lgpl.html
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* LGPL License for more details.
*
* This file was created by members of the firebird development team.
* All individual contributions remain the Copyright (C) of those
* individuals. Contributors to this file are either listed here or
* can be obtained from a CVS history command.
*
* All rights reserved.
*/
package org.firebirdsql.jdbc;
import java.sql.*;
import java.sql.SQLException;
import org.firebirdsql.jca.FBManagedConnection;
/**
* Firebird connection class implementing JDBC 3.0 methods.
*
* @author Roman Rokytskyy
*/
public class FBConnection extends AbstractConnection {
/**
* Create instance of this class for the specified managed connection.
*
* @param mc
* managed connection.
*/
public FBConnection(FBManagedConnection mc) {
super(mc);
}
/**
* Creates a default PreparedStatement
object that has the
* capability to retrieve auto-generated keys. The given constant tells the
* driver whether it should make auto-generated keys available for
* retrieval. This parameter is ignored if the SQL statement is not an
* INSERT
statement.
*
* 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
object is
* executed. This has no direct effect on users; however, it does affect
* which methods throw certain SQLExceptions.
*
* Result sets created using the returned PreparedStatement
* object will by default be type TYPE_FORWARD_ONLY
and have
* a concurrency level of CONCUR_READ_ONLY
.
*
* @param sql
* an SQL statement that may contain one or more '?' IN parameter
* placeholders
*
* @param autoGeneratedKeys
* a flag indicating whether auto-generated keys should be
* returned; one of Statement.RETURN_GENERATED_KEYS
* or Statement.NO_GENERATED_KEYS
*
* @return a new PreparedStatement
object, containing the
* pre-compiled SQL statement, that will have the capability of
* returning auto-generated keys
*
* @exception SQLException
* if a database access error occurs or the given parameter
* is not a Statement
constant indicating
* whether auto-generated keys should be returned
*/
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
throws SQLException {
throw new FBDriverNotCapableException();
}
/**
* Creates a default PreparedStatement
object capable of
* returning the auto-generated keys designated by the given array. This
* array contains the indexes of the columns in the target table that
* contain the auto-generated keys that should be made available. This array
* is ignored if the SQL statement is not an INSERT
* statement.
*
* An 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
object is
* executed. This has no direct effect on users; however, it does affect
* which methods throw certain SQLExceptions.
*
* Result sets created using the returned PreparedStatement
* object will by default be type TYPE_FORWARD_ONLY
and have
* a concurrency level of CONCUR_READ_ONLY
.
*
* @param sql
* an SQL statement that may contain one or more '?' IN parameter
* placeholders
*
* @param columnIndexes
* an array of column indexes indicating the columns that should
* be returned from the inserted row or rows
*
* @return a new PreparedStatement
object, containing the
* pre-compiled statement, that is capable of returning the
* auto-generated keys designated by the given array of column
* indexes
*
* @exception SQLException
* if a database access error occurs
*/
public PreparedStatement prepareStatement(String sql, int columnIndexes[])
throws SQLException {
throw new FBDriverNotCapableException();
}
/**
* Creates a default PreparedStatement
object capable of
* returning the auto-generated keys designated by the given array. This
* array contains the names of the columns in the target table that contain
* the auto-generated keys that should be returned. This array is ignored if
* the SQL statement is not an INSERT
statement.
*
* An 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
object is
* executed. This has no direct effect on users; however, it does affect
* which methods throw certain SQLExceptions.
*
* Result sets created using the returned PreparedStatement
* object will by default be type TYPE_FORWARD_ONLY
and have
* a concurrency level of CONCUR_READ_ONLY
.
*
* @param sql
* an SQL statement that may contain one or more '?' IN parameter
* placeholders
*
* @param columnNames
* an array of column names indicating the columns that should be
* returned from the inserted row or rows
*
* @return a new PreparedStatement
object, containing the
* pre-compiled statement, that is capable of returning the
* auto-generated keys designated by the given array of column names
*
* @exception SQLException
* if a database access error occurs
*/
public PreparedStatement prepareStatement(String sql, String columnNames[])
throws SQLException {
throw new FBDriverNotCapableException();
}
/**
* Creates an unnamed savepoint in the current transaction and
* returns the new Savepoint
object that represents it.
*
* @return the new Savepoint
object
* @exception SQLException if a database access error occurs
* or this Connection
object is currently in
* auto-commit mode
* @see Savepoint
* @since 1.4
*/
public Savepoint setSavepoint() throws SQLException {
return (Savepoint)setFirebirdSavepoint();
}
/**
* Creates a savepoint with the given name in the current transaction
* and returns the new Savepoint
object that represents it.
*
* @param name a String
containing the name of the savepoint
* @return the new Savepoint
object
* @exception SQLException if a database access error occurs
* or this Connection
object is currently in
* auto-commit mode
* @see Savepoint
* @since 1.4
*/
public Savepoint setSavepoint(String name) throws SQLException {
return (Savepoint)setFirebirdSavepoint(name);
}
/**
* Undoes all changes made after the given Savepoint
object
* was set.
*
* This method should be used only when auto-commit has been disabled.
*
* @param savepoint the Savepoint
object to roll back to
* @exception SQLException if a database access error occurs,
* the Savepoint
object is no longer valid,
* or this Connection
object is currently in
* auto-commit mode
* @see Savepoint
* @see #rollback
* @since 1.4
*/
public void rollback(Savepoint savepoint) throws SQLException {
rollback((FirebirdSavepoint)savepoint);
}
/**
* Removes the given Savepoint
object from the current
* transaction. Any reference to the savepoint after it have been removed
* will cause an SQLException
to be thrown.
*
* @param savepoint the Savepoint
object to be removed
* @exception SQLException if a database access error occurs or
* the given Savepoint
object is not a valid
* savepoint in the current transaction
* @since 1.4
*/
public void releaseSavepoint(Savepoint savepoint) throws SQLException {
releaseSavepoint((FirebirdSavepoint)savepoint);
}
}