SQL Generator¶
The SQL Generator module contains the core SQL generation functionality for TLSQL.
tlsql.convert() and tlsql.convert_workflow_queries() use these classes internally.
Example¶
import tlsql
result = tlsql.convert("PREDICT VALUE(users.Age, CLF) FROM users WHERE users.Gender='F'")
print(result.statement_type)
print(result.target_column)
print(result.sql)
Main API¶
Single-statement conversion: tlsql.convert(). Workflow conversion: tlsql.convert_workflow_queries().
- convert(tlsql)[source]¶
Convert a single TLSQL statement to standard SQL.
- Parameters:
tlsql – One TLSQL statement (PREDICT, TRAIN, or VALIDATE).
- Returns:
StatementResult with sql_list, target_table, where_condition, etc.
Source code for convert:
def convert(tlsql: str) -> StatementResult:
"""Convert a single TLSQL statement to standard SQL.
Args:
tlsql: One TLSQL statement (PREDICT, TRAIN, or VALIDATE).
Returns:
StatementResult with sql_list, target_table, where_condition, etc.
"""
return SQLGenerator.convert(tlsql)
- convert_workflow_queries(query_list, table_list=None)[source]¶
Workflow-level API built on convert().
It takes three statements at once and returns a ConversionResult. PREDICT is required; TRAIN and VALIDATEare optional. When TRAIN is omitted, it is auto-generated from the PREDICT statement and table_list (PREDICT table: NOT(WHERE); other tables: SELECT *).
- Parameters:
query_list – List of three TLSQL strings [PREDICT, TRAIN, VALIDATE]. Only the first (PREDICT) is required; the others may be None or “”.
table_list – List of table names used when auto-generating TRAIN. Required when query_list[1] (TRAIN) is not provided.
- Returns:
ConversionResult containing predict_result, train_result, and validate_result (None if VALIDATE not provided). Use result.predict, result.train, and result.validate for access.
SQL Generator Class¶
The SQLGenerator class provides the core SQL generation functionality:
Result Classes¶
- class ConversionResult(predict_result, train_result, validate_result=None)[source]
Bases:
objectResult from TLSQL workflow conversion.
This class represents the result of converting a TLSQL workflow (PREDICT, TRAIN, VALIDATE) into standard SQL. It contains individual statement results for each component.
- predict_result
StatementResult for PREDICT statement (required).
- train_result
StatementResult for TRAIN statement (required).
- validate_result
StatementResult for VALIDATE statement (optional).
- class StatementResult(statement_type, sql_list, target_column=None, task_type=None, target_table=None, tables=<factory>, where_condition=None)[source]
Bases:
objectResult for a single TLSQL statement (PREDICT/TRAIN/VALIDATE).
This class represents the result of converting a single TLSQL statement (PREDICT, TRAIN, or VALIDATE) into standard SQL.
- statement_type
Type of statement (‘PREDICT’, ‘TRAIN’, or ‘VALIDATE’).
- sql_list
List of GeneratedSQL objects per table.
- target_column
Target column reference (for PREDICT statements).
- task_type
Task type (for PREDICT statements).
- target_table
Target table name.
- tables
List of all tables involved in the statement.
- where_condition
WHERE condition as SQL string.