code: def check_version_info(conn, version_table, expected_version):
      """
      Checks for a version value in the version table.
  
      Parameters
      ----------
      conn : sa.Connection
          The connection to use to perform the check.
      version_table : sa.Table
          The version table of the asset database
      expected_version : int
          The expected version of the asset database
  
      Raises
      ------
      AssetDBVersionError
          If the version is in the table and not equal to ASSET_DB_VERSION.
      """
  
      # Read the version out of the table
      version_from_table = conn.execute(
          sa.select((version_table.c.version,)),
      ).scalar()
  
      # A db without a version is considered v0
      if version_from_table is None:
          version_from_table = 0
  
      # Raise an error if the versions do not match
      if version_from_table != expected_version:
          raise AssetDBVersionError(
              db_version=version_from_table,
              expected_version=expected_version,
          )
  
imports: from collections import namedtuple
  import re
  import numpy
  import pandas
  import sqlalchemy
  from toolz import first
  from zipline.errors import AssetDBVersionError
  from zipline.assets.asset_db_schema import ASSET_DB_VERSION, asset_db_table_names, asset_router, equities, equity_symbol_mappings, equity_supplementary_mappings, futures_contracts, exchanges, futures_root_symbols, metadata, version_info
  from zipline.utils.compat import ExitStack
  from zipline.utils.preprocess import preprocess
  from zipline.utils.range import from_tuple, intersecting_ranges
  from zipline.utils.sqlite_utils import coerce_string_to_eng
label_desc: Use image node_id 11 for calling a global function with example usage: check_version_info(conn, version_table, expected_version) without return types