Class DynamicSQLBatchWritingMechanism

java.lang.Object
org.eclipse.persistence.internal.databaseaccess.BatchWritingMechanism
org.eclipse.persistence.internal.databaseaccess.DynamicSQLBatchWritingMechanism
All Implemented Interfaces:
Serializable, Cloneable

public class DynamicSQLBatchWritingMechanism extends BatchWritingMechanism
INTERNAL:

DynamicSQLBatchWritingMechanism is a private class, used by the DatabaseAccessor. It provides the required behavior for batching statements, for write, with parameter binding turned off.

See Also:
  • Field Details

    • sqlStrings

      protected List<String> sqlStrings
      This variable is used to store the SQLStrings that are being batched
    • batchSize

      protected long batchSize
      This attribute is used to store the maximum length of all strings batched together
    • usesOptimisticLocking

      protected boolean usesOptimisticLocking
      Records if this batch uses optimistic locking.
    • lastCallAppended

      protected DatabaseCall lastCallAppended
  • Constructor Details

    • DynamicSQLBatchWritingMechanism

      public DynamicSQLBatchWritingMechanism(DatabaseAccessor databaseAccessor)
  • Method Details

    • appendCall

      public void appendCall(AbstractSession session, DatabaseCall dbCall)
      INTERNAL: This method is called by the DatabaseAccessor to add this statement to the list of statements being batched. This call may result in the Mechanism executing the batched statements and possibly, switching out the mechanisms
      Specified by:
      appendCall in class BatchWritingMechanism
    • clear

      public void clear()
      INTERNAL: This method is used to clear the batched statements without the need to execute the statements first This is used in the case of rollback.
      Specified by:
      clear in class BatchWritingMechanism
    • executeBatchedStatements

      public void executeBatchedStatements(AbstractSession session)
      INTERNAL: This method is used by the DatabaseAccessor to execute and clear the batched statements in the case that a non batchable statement is being executed
      Specified by:
      executeBatchedStatements in class BatchWritingMechanism
    • switchMechanisms

      protected void switchMechanisms(AbstractSession session, DatabaseCall dbCall)
      INTERNAL: This method is used to switch from this mechanism to the alternate automatically
    • prepareBatchStatement

      protected PreparedStatement prepareBatchStatement(AbstractSession session) throws DatabaseException
      INTERNAL: This method is used to build the batch statement by concatenating the strings together.
      Throws:
      DatabaseException
    • prepareJDK12BatchStatement

      protected Statement prepareJDK12BatchStatement(AbstractSession session) throws DatabaseException
      INTERNAL: This method is used to build the batch statement for the JDBC2.0 specification
      Throws:
      DatabaseException