docs: def _update_job(job_id, job_dict):
      """Update the database row for the given job_id with the given job_dict.
  
      All functions that update rows in the jobs table do it by calling this
      helper function.
  
      job_dict is a dict with values corresponding to the database columns that
      should be updated, e.g.:
  
        {"status": "complete", "data": ...}
  
      """
      # Avoid SQLAlchemy "Unicode type received non-unicode bind param value"
      # warnings.
      if job_id:
          job_id = unicode(job_id)
  
      if "error" in job_dict:
          job_dict["error"] = _validate_error(job_dict["error"])
          job_dict["error"] = json.dumps(job_dict["error"])
          # Avoid SQLAlchemy "Unicode type received non-unicode bind param value"
          # warnings.
          job_dict["error"] = unicode(job_dict["error"])
  
      # Avoid SQLAlchemy "Unicode type received non-unicode bind param value"
      # warnings.
      if "data" in job_dict:
          job_dict["data"] = unicode(job_dict["data"])
  
      ENGINE.execute(
          JOBS_TABLE.update()
          .where(JOBS_TABLE.c.job_id == job_id)
          .values(**job_dict))