code: def _write_source_digest(self, run_id, prefix, path_digest):
      cur = self._db.cursor()
      cur.execute(
          """
            UPDATE scalar_source
              SET path_digest = ?
              WHERE run = ? AND prefix = ?
          """,
          (path_digest, run_id, prefix),
      )
      cur.execute(
          """
            INSERT OR IGNORE INTO scalar_source
            VALUES (?, ?, ?)
          """,
          (run_id, prefix, path_digest),
      )
      self._db.commit()
  
imports: import logging
  import os
  import sqlite3
  from guild import run_util
  from guild import tfevent
  from guild import util
  from guild import var
label_desc: Use image node_id 8 for calling the ScalarReader obj's underlying member method code with example usage: obj._write_source_digest(run_id, prefix, path_digest) without return types