def METHOD_NAME(self, database, table_names=[]):
    cache_key = str(self.db.db_url) + str(database)
    if (
        cache_key not in self.cached_data
        or time.time() - self.cached_data[cache_key]["time"] > self.freeze_time
    ):
        tables, description = query_and_fetch(
            self.db,
            "SELECT table_name, '' FROM v_catalog.tables WHERE table_schema='%s' order by 1"
            % database,
        )
        list_of_tables = [
            {
                "comment": table[1] and table[1].strip(),
                "type": "Table",
                "name": table[0] and table[0].strip(),
            }
            for table in tables
        ]
        VerticaAssist.cached_data[cache_key] = {
            "time": time.time(),
            "result": list_of_tables,
        }
        VerticaAssist.cache_use_stat["query"] += 1
    else:
        VerticaAssist.cache_use_stat["cache"] += 1
    return self.cached_data[cache_key]["result"]