Class UpdateRequest

java.lang.Object
org.datanucleus.store.rdbms.request.Request
org.datanucleus.store.rdbms.request.UpdateRequest

public class UpdateRequest extends Request
Class to provide a means of update of particular fields of a particular type in an RDBMS. Extends basic request class implementing the execute method to do a JDBC update operation. The SQL will be of the form
 UPDATE table-name SET param1=?, param2=?[, version=?] WHERE id1=? AND id2=?
 
or (when also performing version checks)
 UPDATE table-name SET param1=?, param2=?, version={newvers} WHERE id1=? AND id2=? AND version={oldvers}
 
  • Field Details

    • updateStmt

      private final String updateStmt
      SQL statement for the update.
    • updateStmtOptimistic

      private final String updateStmtOptimistic
      SQL statement for the update when using optimistic txns.
    • mappingCallbacks

      private final List<MappingCallbacks> mappingCallbacks
      callback mappings will have their postUpdate method called after the update
    • postSetMappings

      private final List<JavaTypeMapping> postSetMappings
    • stmtMappingDefinition

      private StatementMappingDefinition stmtMappingDefinition
      the index for the expression in the update sql statement.
    • updateFieldNumbers

      private final int[] updateFieldNumbers
      Numbers of all fields to be updated (except PK).
    • whereFieldNumbers

      private final int[] whereFieldNumbers
      Numbers of WHERE clause fields.
    • cmd

      protected org.datanucleus.metadata.AbstractClassMetaData cmd
      MetaData for the class.
    • versionMetaData

      protected org.datanucleus.metadata.VersionMetaData versionMetaData
      MetaData for the version handling.
    • versionChecks

      protected boolean versionChecks
      Whether we should make checks on optimistic version before updating.
    • updateUserStmtMapping

      private StatementMappingIndex updateUserStmtMapping
      StatementExpressionIndex for update-user.
    • updateTimestampStmtMapping

      private StatementMappingIndex updateTimestampStmtMapping
      StatementExpressionIndex for update-timestamp.
  • Constructor Details

    • UpdateRequest

      public UpdateRequest(DatastoreClass table, org.datanucleus.metadata.AbstractMemberMetaData[] reqFieldMetaData, org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.ClassLoaderResolver clr)
      Constructor, taking the table. Uses the structure of the datastore table to build a basic query.
      Parameters:
      table - The Class Table representing the datastore table to update
      reqFieldMetaData - MetaData of the fields to update
      cmd - ClassMetaData of objects being updated
      clr - ClassLoader resolver
  • Method Details

    • execute

      public void execute(org.datanucleus.state.DNStateManager sm)
      Method performing the update of the record in the datastore. Takes the constructed update query and populates with the specific record information.
      Specified by:
      execute in class Request
      Parameters:
      sm - StateManager for the record to be updated