code: def test_same_name_scoping(setup_path):
      with ensure_clean_store(setup_path) as store:
          df = DataFrame(
              np.random.default_rng(2).standard_normal((20, 2)),
              index=date_range("20130101", periods=20),
          )
          store.put("df", df, format="table")
          expected = df[df.index > Timestamp("20130105")]
  
          result = store.select(
              "df", "index>datetime.datetime(2013,1,5)"
          )
          tm.assert_frame_equal(result, expected)
  
          # changes what 'datetime' points to in the namespace where
          #  'select' does the lookup
  
          # technically an error, but allow it
          result = store.select(
              "df", "index>datetime.datetime(2013,1,5)"
          )
          tm.assert_frame_equal(result, expected)
  
          result = store.select("df", "index>datetime(2013,1,5)")
          tm.assert_frame_equal(result, expected)
  
imports: import contextlib
  import datetime
  import hashlib
  import tempfile
  import time
  import numpy
  import pytest
  import pandas
  from pandas import DataFrame, DatetimeIndex, Index, MultiIndex, Series, Timestamp, concat, date_range, period_range, timedelta_range
  import pandas._testing
  from pandas.tests.io.pytables.common import _maybe_remove, ensure_clean_store
  from pandas.io.pytables import HDFStore, read_hdf
label_desc: Use image node_id 19 for calling a global function with example usage: test_same_name_scoping(setup_path) without return types