qlty_distinctCategories
Extract unique values from a specified column in a Teradata database table to identify distinct categories for data analysis and quality assessment.
Instructions
Get the destinct categories from column in a table.
Arguments: database_name - name of the database table_name - table name to analyze column_name - column name to analyze
Returns: ResponseType: formatted response with query results + metadata
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_name | Yes | ||
| table_name | Yes | ||
| column_name | Yes |
Implementation Reference
- Handler function that executes TD_CategoricalSummary to retrieve distinct categories for the specified column in a table, processes results, and returns formatted response with metadata.def handle_qlty_distinctCategories( conn: TeradataConnection, database_name: str | None, table_name: str, column_name: str, *args, **kwargs ): """ Get the destinct categories from column in a table. Arguments: database_name - name of the database table_name - table name to analyze column_name - column name to analyze Returns: ResponseType: formatted response with query results + metadata """ logger.debug(f"Tool: handle_qlty_distinctCategories: Args: table_name: {database_name}.{table_name}, column_name: {column_name}") if database_name is not None: table_name = f"{database_name}.{table_name}" with conn.cursor() as cur: rows = cur.execute(f"select * from TD_CategoricalSummary ( on {table_name} as InputTable using TargetColumns ('{column_name}')) as dt") data = rows_to_json(cur.description, rows.fetchall()) metadata = { "tool_name": "qlty_distinctCategories", "database_name": database_name, "table_name": table_name, "column_name": column_name, "distinct_categories": len(data) } logger.debug(f"Tool: handle_qlty_distinctCategories: Metadata: {metadata}") return create_response(data, metadata)
- src/teradata_mcp_server/tools/module_loader.py:21-34 (registration)ModuleLoader.MODULE_MAP defines the mapping for 'qlty' module, enabling dynamic loading of qlty tools including handle_qlty_distinctCategories.MODULE_MAP = { 'bar': 'teradata_mcp_server.tools.bar', 'base': 'teradata_mcp_server.tools.base', 'chat': 'teradata_mcp_server.tools.chat', 'dba': 'teradata_mcp_server.tools.dba', 'fs': 'teradata_mcp_server.tools.fs', 'qlty': 'teradata_mcp_server.tools.qlty', 'rag': 'teradata_mcp_server.tools.rag', 'sql_opt': 'teradata_mcp_server.tools.sql_opt', 'sec': 'teradata_mcp_server.tools.sec', 'tmpl': 'teradata_mcp_server.tools.tmpl', 'plot': 'teradata_mcp_server.tools.plot', 'tdvs': 'teradata_mcp_server.tools.tdvs' }
- src/teradata_mcp_server/tools/qlty/__init__.py:1-3 (registration)Exposes the qlty tools (including handle_qlty_distinctCategories) by importing from qlty_tools.py for use in module loading.from .qlty_resources import * from .qlty_tools import *