code: def optimize_cache_key_for_tuple_value_expression(
      context: "OptimizerContext", tv_expr: TupleValueExpression
  ):
      catalog = context.db.catalog()
      col_catalog_obj = tv_expr.col_object
  
      # Optimized cache key for TupleValueExpression.
      new_keys = []
  
      if isinstance(col_catalog_obj, ColumnCatalogEntry):
          table_obj = catalog.get_table_catalog_entry(
              col_catalog_obj.table_name
          )
          for col in get_table_primary_columns(table_obj):
              new_obj = catalog.get_column_catalog_entry(
                  table_obj, col.name
              )
              new_keys.append(
                  TupleValueExpression(
                      name=col.name,
                      table_alias=tv_expr.table_alias,
                      col_object=new_obj,
                      col_alias=f"{tv_expr.table_alias}.{col.name}",
                  )
              )
          return new_keys
  
      return [tv_expr]
  
imports: import typing
  from typing import List, Tuple
  from evadb.catalog.catalog_utils import get_table_primary_columns
  from evadb.catalog.models.column_catalog import ColumnCatalogEntry
  from evadb.catalog.models.function_io_catalog import FunctionIOCatalogEntry
  from evadb.catalog.models.function_metadata_catalog import FunctionMetadataCatalogEntry
  from evadb.constants import CACHEABLE_FUNCTIONS, DEFAULT_FUNCTION_EXPRESSION_COST
  from evadb.expression.abstract_expression import AbstractExpression, ExpressionType
  from evadb.expression.constant_value_expression import ConstantValueExpression
  from evadb.expression.expression_utils import conjunction_list_to_expression_tree, contains_single_column, get_columns_in_predicate, is_simple_predicate, to_conjunction_list
  from evadb.expression.function_expression import FunctionExpression, FunctionExpressionCache
  from evadb.expression.tuple_value_expression import TupleValueExpression
  from evadb.parser.alias import Alias
  from evadb.parser.create_statement import ColumnDefinition
  from evadb.utils.kv_cache import DiskKVCache
label_desc: Use image node_id 6 for calling a global function with example usage: optimize_cache_key_for_tuple_value_expression(context, tv_expr) and returns: list, new_keys