class_docstr: Helps to build execution parameters during SQL query rendering.
  
  These can be used as per https://docs.sqlalchemy.org/en/14/core/tutorial.html#using-textual-sql
class_docstr_tok: ["Helps","to","build","execution","parameters","during","SQL","query","rendering",".","These","can","be","used","as","per","https",":","\/\/docs.sqlalchemy.org\/en\/14\/core\/tutorial.html","#","using-textual-sql"]
docstr: Create a new set of bind parameters that includes parameters from this and additional_params.
docstr_tok: ["Create","a","new","set","of","bind","parameters","that","includes","parameters","from","this","and","additional_params","."]
code: def combine(
      self, additional_params: SqlBindParameters
  ) -> SqlBindParameters:
      """Create a new set of bind parameters that includes parameters from this and additional_params."""
      if len(self.param_items) == 0:
          return additional_params
  
      if len(additional_params.param_items) == 0:
          return self
  
      self_dict = {item.key: item.value for item in self.param_items}
      other_dict = {
          item.key: item.value for item in additional_params.param_items
      }
  
      for key, value in other_dict.items():
          if key in self_dict and self_dict[key] != value:
              raise RuntimeError(
                  f"Conflict with key {key} in combining parameters. "
                  f"Existing params: {self_dict} Additional params: {other_dict}"
              )
      new_items = list(self.param_items)
      included_keys = set(item.key for item in new_items)
      for item in additional_params.param_items:
          if item.key in included_keys:
              continue
          new_items.append(item)
          included_keys.add(item.key)
  
      return SqlBindParameters(param_items=tuple(new_items))
  
imports: from __future__ import annotations
  import datetime
  from collections import OrderedDict
  from dataclasses import dataclass
  from typing import Any, Mapping, Optional, Tuple
  from dbt_semantic_interfaces.dataclass_serialization import SerializableDataclass
  from metricflow.assert_one_arg import assert_exactly_one_arg_set
  from metricflow.sql.sql_column_type import SqlColumnType
label_desc: Use image node_id 1 for calling the SqlBindParameters obj's underlying member method code with example usage: obj.combine(additional_params) and returns: SqlBindParameters, additional_params, self