docs: def UpdateFlow(self,
                   client_id,
                   flow_id,
                   flow_obj=db.Database.unchanged,
                   flow_state=db.Database.unchanged,
                   client_crash_info=db.Database.unchanged,
                   pending_termination=db.Database.unchanged,
                   processing_on=db.Database.unchanged,
                   processing_since=db.Database.unchanged,
                   processing_deadline=db.Database.unchanged):
      """Updates flow objects in the database."""
  
      try:
        flow = self.flows[(client_id, flow_id)]
      except KeyError:
        raise db.UnknownFlowError(client_id, flow_id)
  
      if flow_obj != db.Database.unchanged:
        self.flows[(client_id, flow_id)] = flow_obj
        flow = flow_obj
  
      if flow_state != db.Database.unchanged:
        flow.flow_state = flow_state
      if client_crash_info != db.Database.unchanged:
        flow.client_crash_info = client_crash_info
      if pending_termination != db.Database.unchanged:
        flow.pending_termination = pending_termination
      if processing_on != db.Database.unchanged:
        flow.processing_on = processing_on
      if processing_since != db.Database.unchanged:
        flow.processing_since = processing_since
      if processing_deadline != db.Database.unchanged:
        flow.processing_deadline = processing_deadline
      flow.last_update_time = rdfvalue.RDFDatetime.Now()