code: def test_show_tables(self):
      # Note this test can causes sqlalchemy issues if the evadb_server is not stopped
      result = execute_query_fetch_all(self.evadb, "SHOW TABLES;")
      self.assertEqual(len(result), 3)
      expected = {"name": ["MyVideo", "MNIST", "Actions"]}
      expected_df = pd.DataFrame(expected)
      self.assertEqual(result, Batch(expected_df))
  
      # Stop and restart server
      os.system("nohup evadb_server --stop")
      os.system("nohup evadb_server --start &")
  
      result = execute_query_fetch_all(self.evadb, "SHOW TABLES;")
      self.assertEqual(len(result), 3)
      expected = {"name": ["MyVideo", "MNIST", "Actions"]}
      expected_df = pd.DataFrame(expected)
      self.assertEqual(result, Batch(expected_df))
  
      # stop the server
      os.system("nohup evadb_server --stop")
  
file_path: evadb/test/integration_tests/short/test_show_info_executor.py
imports: import os
  import unittest
  from test.markers import windows_skip_marker
  from test.util import get_evadb_for_testing
  import pandas
  import pytest
  from evadb.configuration.constants import EvaDB_ROOT_DIR
  from evadb.evadb_config import BASE_EVADB_CONFIG
  from evadb.functions.function_bootstrap_queries import ArrayCount_function_query, Fastrcnn_function_query
  from evadb.models.storage.batch import Batch
  from evadb.server.command_handler import execute_query_fetch_all
label_desc: Use image node_id 4 for calling the ShowExecutorTest obj's underlying member method code with example usage: obj.test_show_tables() without return types