base_tablePreview
Preview data samples and table structure from Teradata databases to understand schema and content before analysis or querying.
Instructions
This function returns data sample and inferred structure from a database table or view via SQLAlchemy, bind parameters if provided (prepared SQL), and return the fully rendered SQL (with literals) in metadata.
Arguments: table_name - table or view name database_name - Database name
Returns: ResponseType: formatted response with query results + metadata
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_name | No | ||
| table_name | Yes |
Implementation Reference
- Handler function that executes SELECT TOP 5 * FROM the specified table (optionally qualified with database), fetches the first 5 rows as sample data, infers column types and lengths, and returns the sample with metadata including the tool name 'base_tablePreview'.def handle_base_tablePreview(conn: TeradataConnection, table_name: str, database_name: str | None = None, *args, **kwargs): """ This function returns data sample and inferred structure from a database table or view via SQLAlchemy, bind parameters if provided (prepared SQL), and return the fully rendered SQL (with literals) in metadata. Arguments: table_name - table or view name database_name - Database name Returns: ResponseType: formatted response with query results + metadata """ logger.debug(f"Tool: handle_base_tablePreview: Args: tablename: {table_name}, databasename: {database_name}") if database_name is not None: table_name = f"{database_name}.{table_name}" with conn.cursor() as cur: cur.execute(f'select top 5 * from {table_name}') columns = cur.description sample = rows_to_json(cur.description, cur.fetchall()) metadata = { "tool_name": "base_tablePreview", "database": database_name, "table_name": table_name, "columns": [ { "name": c[0], "type": c[1].__name__ if hasattr(c[1], '__name__') else str(c[1]), "length": c[3] } for c in columns ], "sample_size": len(sample) } logger.debug(f"Tool: handle_base_tablePreview: metadata: {metadata}") return create_response(sample, metadata)