base_tablePreview
Preview data samples and infer table structure from Teradata databases using SQLAlchemy. Provides fully rendered SQL and metadata for analysis and query validation.
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 previews the top 5 rows of a specified table or view, returning sample data and column metadata including name, type, and length.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)