code: def update_runner_on_experiment(
      experiment: Experiment,
      runner: Runner,
      encoder: Encoder,
      decoder: Decoder,
  ) -> None:
      runner_sqa_class = encoder.config.class_to_sqa_class[Runner]
  
      exp_id = experiment.db_id
      if exp_id is None:
          raise ValueError(
              "Experiment must be saved before being updated."
          )
  
      with session_scope() as session:
          session.query(runner_sqa_class).filter_by(
              experiment_id=exp_id
          ).delete()
  
      # pyre-fixme[53]: Captured variable `exp_id` is not annotated.
      # pyre-fixme[3]: Return type must be annotated.
      def add_experiment_id(sqa: SQARunner):
          sqa.experiment_id = exp_id
  
      _merge_into_session(
          obj=runner,
          encode_func=encoder.runner_to_sqa,
          decode_func=decoder.runner_from_sqa,
          modify_sqa=add_experiment_id,
      )
  
imports: import os
  from logging import Logger
  from typing import Any, Callable, Dict, List, Optional, Sequence, Union
  from ax.core.base_trial import BaseTrial
  from ax.core.experiment import Experiment
  from ax.core.generator_run import GeneratorRun
  from ax.core.metric import Metric
  from ax.core.outcome_constraint import ObjectiveThreshold, OutcomeConstraint
  from ax.core.runner import Runner
  from ax.exceptions.core import UserInputError
  from ax.exceptions.storage import SQADecodeError
  from ax.modelbridge.generation_strategy import GenerationStrategy
  from ax.storage.sqa_store.db import session_scope, SQABase
  from ax.storage.sqa_store.decoder import Decoder
  from ax.storage.sqa_store.encoder import Encoder
  from ax.storage.sqa_store.sqa_classes import SQAData, SQAGeneratorRun, SQAMetric, SQARunner, SQATrial
  from ax.storage.sqa_store.sqa_config import SQAConfig
  from ax.storage.sqa_store.utils import copy_db_ids
  from ax.utils.common.base import Base
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import checked_cast, not_none
label_desc: Use image node_id 11 for calling a global function with example usage: update_runner_on_experiment(experiment, runner, encoder, decoder) without return types