docs: def temporary_tables(**kwargs):
      """
      Temporarily set DataFrames as registered tables.
  
      Tables will be returned to their original state when the context
      manager exits. Caching is not enabled for tables registered via
      this function.
  
      """
      global _TABLES
  
      original = _TABLES.copy()
  
      for k, v in kwargs.items():
          if not isinstance(v, pd.DataFrame):
              raise ValueError('tables only accepts DataFrames')
          add_table(k, v)
  
      yield
  
      _TABLES = original