base_tableList
List all tables in a Teradata database to explore available data structures and identify relevant tables for analysis or query operations.
Instructions
Lists all tables in a database.
Arguments: database_name - Database name
Returns: ResponseType: formatted response with query results + metadata
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_name | No |
Implementation Reference
- The handler function for the 'base_tableList' tool. It queries dbc.TablesV to list tables (TableKind T,V,O,Q) optionally filtered by database_name, formats results with metadata including the tool_name.def handle_base_tableList(conn: TeradataConnection, database_name: str | None = None, *args, **kwargs): """ Lists all tables in a database. Arguments: database_name - Database name Returns: ResponseType: formatted response with query results + metadata """ logger.debug(f"Tool: handle_base_tableList: Args: database_name: {database_name}") sql = "select TableName from dbc.TablesV tv where tv.TableKind in ('T','V', 'O', 'Q')" params = [] if database_name: sql += " and UPPER(tv.DatabaseName) = UPPER(?)" params.append(database_name) with conn.cursor() as cur: rows = cur.execute(sql, params) data = rows_to_json(cur.description, rows.fetchall()) metadata = { "tool_name": "base_tableList", "sql": sql.replace("?", f"'{database_name}'"), "columns": [ {"name": col[0], "type": col[1].__name__ if hasattr(col[1], '__name__') else str(col[1])} for col in cur.description ] if cur.description else [], "row_count": len(data) } logger.debug(f"Tool: handle_base_tableList: metadata: {metadata}") return create_response(data, metadata)