Package org.apache.openjpa.jdbc.kernel
Class PreparedStatementManagerImpl
java.lang.Object
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl
- All Implemented Interfaces:
PreparedStatementManager
- Direct Known Subclasses:
BatchingPreparedStatementManagerImpl
Basic prepared statement manager implementation.
- Author:
- Abe White
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Connectionprotected final DBDictionaryprotected final Collection<Exception>protected Logprotected final JDBCStore -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected intexecuteUpdate(PreparedStatement stmnt, String sql, RowImpl row) This method is to provide override for non-JDBC or JDBC-like implementation of executing update.voidflush()This method must be called after the last row has been flushed, to flush any remaining statements.voidFlush the given row.protected voidflushAndUpdate(RowImpl row) Flush the given row immediately.protected voidflushInternal(RowImpl row) Flush the given row.protected String[]getAutoAssignColNames(Column[] autoAssign, RowImpl row) protected Column[]Return the exceptions encountered during all flushes.getGeneratedKeys(PreparedStatement stmnt, String[] autoAssignColNames) This method will only be called when the database supports getGeneratedKeys.getGeneratedKeys(PreparedStatement stmnt, DBIdentifier[] autoAssignColNames) protected voidProvided the JDBC log category is logging warnings, this method will log any SQL warnings that result from the execution of a SQL statement.protected voidlogSQLWarnings(Statement stmt) populateAutoAssignCols(PreparedStatement stmnt, Column[] autoAssign, String[] autoAssignColNames, RowImpl row) populateAutoAssignCols(PreparedStatement stmnt, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) This method will only be called when there is auto assign columns.protected PreparedStatementprepareStatement(String sql) This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.protected PreparedStatementprepareStatement(String sql, String[] autoAssignColNames) This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.protected voidsetObjectId(List vals, Column[] autoAssign, String[] autoAssignColNames, RowImpl row) protected voidsetObjectId(List vals, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row)
-
Field Details
-
_store
-
_conn
-
_dict
-
_log
-
_exceptions
-
-
Constructor Details
-
PreparedStatementManagerImpl
Constructor. Supply connection.
-
-
Method Details
-
getExceptions
Description copied from interface:PreparedStatementManagerReturn the exceptions encountered during all flushes.- Specified by:
getExceptionsin interfacePreparedStatementManager
-
flush
Description copied from interface:PreparedStatementManagerFlush the given row.- Specified by:
flushin interfacePreparedStatementManager
-
flushInternal
Flush the given row.- Throws:
SQLException
-
flushAndUpdate
Flush the given row immediately.- Throws:
SQLException
-
populateAutoAssignCols
protected List<Object> populateAutoAssignCols(PreparedStatement stmnt, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) throws SQLException This method will only be called when there is auto assign columns. If database supports getGeneratedKeys, the keys will be obtained from the result set associated with the stmnt. If not, a separate sql to select the key will be issued from DBDictionary.- Throws:
SQLException
-
populateAutoAssignCols
protected List<Object> populateAutoAssignCols(PreparedStatement stmnt, Column[] autoAssign, String[] autoAssignColNames, RowImpl row) throws SQLException - Throws:
SQLException
-
setObjectId
protected void setObjectId(List vals, Column[] autoAssign, String[] autoAssignColNames, RowImpl row) throws SQLException - Throws:
SQLException
-
setObjectId
protected void setObjectId(List vals, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) throws SQLException - Throws:
SQLException
-
getGeneratedKeys
protected List<Object> getGeneratedKeys(PreparedStatement stmnt, String[] autoAssignColNames) throws SQLException This method will only be called when the database supports getGeneratedKeys.- Throws:
SQLException
-
getGeneratedKeys
protected List<Object> getGeneratedKeys(PreparedStatement stmnt, DBIdentifier[] autoAssignColNames) throws SQLException - Throws:
SQLException
-
getAutoAssignColumns
-
getAutoAssignColNames
-
flush
public void flush()Description copied from interface:PreparedStatementManagerThis method must be called after the last row has been flushed, to flush any remaining statements.- Specified by:
flushin interfacePreparedStatementManager
-
executeUpdate
This method is to provide override for non-JDBC or JDBC-like implementation of executing update.- Throws:
SQLException
-
prepareStatement
This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.- Throws:
SQLException
-
prepareStatement
protected PreparedStatement prepareStatement(String sql, String[] autoAssignColNames) throws SQLException This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.- Throws:
SQLException
-
logSQLWarnings
Provided the JDBC log category is logging warnings, this method will log any SQL warnings that result from the execution of a SQL statement. -
logSQLWarnings
-