schema_2_encoder¶
This module provides utilities for mapping AWS Redshift schema models to simplified type representations suitable for LLM consumption.
- mcp_ohmy_sql.db.aws_redshift.schema_2_encoder.encode_column_info(column_info: ColumnInfo) str[source]¶
Encode an AWS Redshift column into LLM-friendly compact format.
Transforms verbose column metadata into a concise string representation optimized for Large Language Model consumption in text-to-SQL tasks.
Format: ${COLUMN_NAME}:${DATA_TYPE}${DISTRIBUTION_KEY}${SORT_KEY}${NOT_NULL}${ENCODING}
Redshift-specific constraints are encoded as:
*DK: Distribution Key (for data distribution across nodes)*SK-N: Sort Key with position N (for query optimization)*NN: Not Null constraint*encoding: Compression encoding (lzo, delta, etc.)
- Parameters:
column_info – Column metadata with Redshift-specific properties
- Returns:
Compact column representation string
Examples:
Distribution key:
user_id:str*DK*NN*lzoSort key:
create_time:dt*SK-1*NN*deltaRegular column:
description:str*lzo
- mcp_ohmy_sql.db.aws_redshift.schema_2_encoder.encode_table_info(table_info: TableInfo) str[source]¶
Encode an AWS Redshift table into LLM-friendly compact format.
Format:
Table TableName DistributionStyle Distribution Style ( encoded_column_info_1, encoded_column_info_2, ... )
Redshift-specific features:
Distribution Style: Shows how data is distributed (KEY, EVEN, ALL)
Distribution Keys: Indicates which columns control data distribution
Sort Keys: Shows column ordering for query optimization
Compression: Displays encoding for each column
- Parameters:
table_info – Table metadata with Redshift-specific properties
- Returns:
Compact table representation string
Example:
Table users KEY Distribution Style ( user_id:str*DK*NN*lzo, create_time:dt*SK-1*NN*delta, description:str*lzo, )
- mcp_ohmy_sql.db.aws_redshift.schema_2_encoder.encode_schema_info(schema_info: SchemaInfo) str[source]¶
Encode an AWS Redshift schema into LLM-friendly compact format.
Format:
Schema SchemaName ( encoded_table_info_1, encoded_table_info_2, ..., )
Key benefits for LLM consumption:
Redshift Optimization: Highlights distribution and sort keys for query performance understanding
Compression Visibility: Shows encoding schemes for storage optimization
Token Efficiency: Compact format reduces token usage while preserving Redshift-specific metadata
Performance Hints: Distribution and sort key information helps LLMs generate optimized queries
- Parameters:
schema_info – Schema metadata containing Redshift tables
- Returns:
Compact schema representation string
Example:
Schema public ( Table users KEY Distribution Style ( user_id:str*DK*NN*lzo, create_time:dt*SK-1*NN*delta, description:str*lzo, ), Table orders EVEN Distribution Style ( order_id:int*PK*NN*delta, user_id:str*NN*FK->users.user_id*lzo, order_date:dt*SK-1*NN*delta, ), )
- mcp_ohmy_sql.db.aws_redshift.schema_2_encoder.encode_database_info(database_info: DatabaseInfo) str[source]¶
Encode an AWS Redshift database into LLM-friendly compact format.
Format:
aws_redshift Database DatabaseName ( Schema SchemaName ( encoded_table_info_1, encoded_table_info_2, ..., ), ... )
Redshift-specific considerations:
Cluster Architecture: Represents the distributed nature of Redshift
Performance Metadata: Includes distribution and sort key information critical for query optimization
Compression Details: Encoding information for storage efficiency
Multi-Schema Support: Handles multiple schemas within a cluster
- Parameters:
database_info – Database metadata with Redshift-specific schemas
- Returns:
Compact database representation string
Example:
aws_redshift Database mcp_ohmy_sql_dev ( Schema public ( Table users KEY Distribution Style ( user_id:str*DK*NN*lzo, create_time:dt*SK-1*NN*delta, ), ), Schema analytics ( Table daily_metrics EVEN Distribution Style ( metric_date:dt*SK-1*NN*delta, metric_value:dec*NN*delta, ), ), )