Package oracle.jdbc.babelfish
Class BabelfishConnection
java.lang.Object
oracle.jdbc.babelfish.BabelfishGenericProxy
oracle.jdbc.babelfish.BabelfishConnection
- All Implemented Interfaces:
OracleTranslatingConnection
public abstract class BabelfishConnection
extends BabelfishGenericProxy
implements OracleTranslatingConnection
Proxy Superclass for java.sql.Connection interface. It is used
by the Oracle JDBC proxy library to proxify java.sql.Connection objects
to support the auto translation features.
-
Nested Class Summary
Nested classes/interfaces inherited from interface oracle.jdbc.OracleTranslatingConnection
OracleTranslatingConnection.SqlTranslationVersion -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Releases thisConnectionobject's database and JDBC resources immediately instead of waiting for them to be automatically released.Creates aStatementwith translation features enabledcreateStatement(boolean translation) Similar to createStatement() but with an additional translation flag.createStatement(int resultSetType, int resultSetConcurrency) Returns aStatementwith translation features enabledcreateStatement(int resultSetType, int resultSetConcurrency, boolean translation) Similar to createStatement(int resultSetType, int resultSetConcurrency) but with an additional translation flag.createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) Returns aStatementwith translation features enabledcreateStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean translation) Similar to createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) but with an additional translation flag.protected abstract Objectprotected abstract ObjectgetSqlTranslationVersions(String sql, boolean suppressExceptions) Returns a map of all the translation versions of the query during SQL Translation.Converts the given foreign dialect SQL statement into the system's native SQL grammar.protected Objectpost_Methods(Method m, Object result) Post interceptor.prepareCall(String sql) Translation enabled implementation of java.sql.Connection#prepareCall(java.lang.String)prepareCall(String sql, boolean translation) Similar to prepareCall(String sql) but with an additional translation flag.prepareCall(String sql, int resultSetType, int resultSetConcurrency) Translation enabled implementation of java.sql.Connection#prepareCall(java.lang.String, int, int)prepareCall(String sql, int resultSetType, int resultSetConcurrency, boolean translation) Similar to prepareCall(String sql, int resultSetType, int resultSetConcurrency) but with an additional translation flag.prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) Translation enabled implementation of java.sql.Connection#prepareCall(java.lang.String, int, int, int)prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean translation) Similar to prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) but with an additional translation flag.prepareStatement(String sql) Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String)prepareStatement(String sql, boolean translation) Similar to prepareStatement(String sql) but with an additional translation flag.prepareStatement(String sql, int autoGeneratedKeys) Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int)prepareStatement(String sql, int[] columnIndexes) Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int[])prepareStatement(String sql, int[] columnIndexes, boolean translation) Similar to prepareStatement(String sql, int[] columnIndexes) but with an additional translation flag.prepareStatement(String sql, int autoGeneratedKeys, boolean translation) Similar to prepareStatement(String sql, int autoGeneratedKeys) but with an additional translation flag.prepareStatement(String sql, int resultSetType, int resultSetConcurrency) Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int, int)prepareStatement(String sql, int resultSetType, int resultSetConcurrency, boolean translation) Similar to prepareStatement(String sql, int resultSetType, int resultSetConcurrency) but with an additional translation flag.prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int, int, int)prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean translation) Similar to prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) but with an additional translation flag.prepareStatement(String sql, String[] columnNames) Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, java.lang.String[])prepareStatement(String sql, String[] columnNames, boolean translation) Similar to prepareStatement(String sql, String[] columnNames) but with an additional translation flag.protected abstract Objectprotected ObjecttranslateError(Method m, SQLException ex) Interceptor for translation of errors.
-
Constructor Details
-
BabelfishConnection
public BabelfishConnection()
-
-
Method Details
-
getCreator
- Specified by:
getCreatorin classBabelfishGenericProxy- Returns:
-
getDelegate
- Specified by:
getDelegatein classBabelfishGenericProxy- Returns:
-
proxify
-
translateError
Interceptor for translation of errors.- Overrides:
translateErrorin classBabelfishGenericProxy- Returns:
- Throws:
SQLException
-
post_Methods
Post interceptor. sets up the translator in relevant objects required for handling error translation in those objects.- Overrides:
post_Methodsin classBabelfishGenericProxy- Returns:
-
prepareStatement
Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareStatement
Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareStatement
Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int[])- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareStatement
Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, java.lang.String[])- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int, int)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException Translation enabled implementation of java.sql.Connection#prepareStatement(java.lang.String, int, int, int)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareCall
Translation enabled implementation of java.sql.Connection#prepareCall(java.lang.String)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException Translation enabled implementation of java.sql.Connection#prepareCall(java.lang.String, int, int)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException Translation enabled implementation of java.sql.Connection#prepareCall(java.lang.String, int, int, int)- Parameters:
sql-- Returns:
- Throws:
SQLException- See Also:
-
nativeSQL
Converts the given foreign dialect SQL statement into the system's native SQL grammar. A driver may convert the JDBC SQL grammar into its system's native SQL grammar prior to sending it. This method returns the native form of the statement that the driver would have sent.- Parameters:
sql- a foreign dialect SQL statement that may contain one or more '?' parameter placeholders- Returns:
- the native form of this statement
- Throws:
SQLException- if a database access error occurs or this method is called on a closed connection
-
close
Releases thisConnectionobject's database and JDBC resources immediately instead of waiting for them to be automatically released.Calling the method
closeon aConnectionobject that is already closed is a no-op.It is strongly recommended that an application explicitly commits or rolls back an active transaction prior to calling the
closemethod. If theclosemethod is called and there is an active transaction, the results are implementation-defined.- Throws:
SQLException- SQLException if a database access error occurs
-
createStatement
Creates aStatementwith translation features enabled- Throws:
SQLException- See Also:
-
createStatement
Similar to createStatement() but with an additional translation flag. If the translation flag is true then the returningStatementwill have translation enabled. If the flag is false then the returningStatementwill be a normalStatementwith no translation features.- Specified by:
createStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
createStatement
Returns aStatementwith translation features enabled- Returns:
- Throws:
SQLException- See Also:
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, boolean translation) throws SQLException Similar to createStatement(int resultSetType, int resultSetConcurrency) but with an additional translation flag. If the translation flag is true then the returningStatementwill have translation enabled. If the flag is false then the returningStatementwill be a normalStatementwith no translation features.- Specified by:
createStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException Returns aStatementwith translation features enabled- Returns:
- Throws:
SQLException- See Also:
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean translation) throws SQLException Similar to createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) but with an additional translation flag. If the translation flag is true then the returningStatementwill have translation enabled. If the flag is false then the returningStatementwill be a normalStatementwith no translation features.- Specified by:
createStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareStatement
Similar to prepareStatement(String sql) but with an additional translation flag. If the translation flag is true then the returningPreparedStatementwill have translation enabled. If the flag is false then the returningPreparedStatementwill be a normalPreparedStatementwith no translation features.- Specified by:
prepareStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys, boolean translation) throws SQLException Similar to prepareStatement(String sql, int autoGeneratedKeys) but with an additional translation flag. If the translation flag is true then the returningPreparedStatementwill have translation enabled. If the flag is false then the returningPreparedStatementwill be a normalPreparedStatementwith no translation features.- Specified by:
prepareStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int[] columnIndexes, boolean translation) throws SQLException Similar to prepareStatement(String sql, int[] columnIndexes) but with an additional translation flag. If the translation flag is true then the returningPreparedStatementwill have translation enabled. If the flag is false then the returningPreparedStatementwill be a normalPreparedStatementwith no translation features.- Specified by:
prepareStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String[] columnNames, boolean translation) throws SQLException Similar to prepareStatement(String sql, String[] columnNames) but with an additional translation flag. If the translation flag is true then the returningPreparedStatementwill have translation enabled. If the flag is false then the returningPreparedStatementwill be a normalPreparedStatementwith no translation features.- Specified by:
prepareStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, boolean translation) throws SQLException Similar to prepareStatement(String sql, int resultSetType, int resultSetConcurrency) but with an additional translation flag. If the translation flag is true then the returningPreparedStatementwill have translation enabled. If the flag is false then the returningPreparedStatementwill be a normalPreparedStatementwith no translation features.- Specified by:
prepareStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean translation) throws SQLException Similar to prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) but with an additional translation flag. If the translation flag is true then the returningPreparedStatementwill have translation enabled. If the flag is false then the returningPreparedStatementwill be a normalPreparedStatementwith no translation features.- Specified by:
prepareStatementin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareCall
Similar to prepareCall(String sql) but with an additional translation flag. If the translation flag is true then the returningCallableStatementwill have translation enabled. If the flag is false then the returningCallableStatementwill be a normalCallableStatementwith no translation features.- Specified by:
prepareCallin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, boolean translation) throws SQLException Similar to prepareCall(String sql, int resultSetType, int resultSetConcurrency) but with an additional translation flag. If the translation flag is true then the returningCallableStatementwill have translation enabled. If the flag is false then the returningCallableStatementwill be a normalCallableStatementwith no translation features.- Specified by:
prepareCallin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability, boolean translation) throws SQLException Similar to prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) but with an additional translation flag. If the translation flag is true then the returningCallableStatementwill have translation enabled. If the flag is false then the returningCallableStatementwill be a normalCallableStatementwith no translation features.- Specified by:
prepareCallin interfaceOracleTranslatingConnection- Parameters:
translation- boolean flag to enable or disable translation- Throws:
SQLException
-
getSqlTranslationVersions
public Map<OracleTranslatingConnection.SqlTranslationVersion,String> getSqlTranslationVersions(String sql, boolean suppressExceptions) throws SQLException Returns a map of all the translation versions of the query during SQL Translation. See the documentation of OracleTranslatingConnection.SqlTranslationVersion enum for more details about returning versions.- Specified by:
getSqlTranslationVersionsin interfaceOracleTranslatingConnection- Parameters:
sql- vendor specific sql to be translatedsuppressExceptions- suppresses any exception raised during query translation and returns whatever is available. Useful to get JDBC_MARKER_CONVERTED version when the translation is throwing error.- Returns:
- Map with all the translation versions of a query. In case of an Exception and suppressExceptions is true then the TRANSLATED version is null.
- Throws:
SQLException- If there is a problem in query translation provided suppressExceptions is false.- See Also:
-