glimr/db/gen/parser
SQL Parser
Parses SQL query files to extract table names, columns, and parameter references.
This module provides the main entry point for SQL parsing. The parsing logic is split across sub-modules:
- parser/normalize: SQL normalization (comments, whitespace)
- parser/tables: Table extraction (FROM, JOIN, etc.)
- parser/columns: Column extraction (SELECT, RETURNING)
- parser/params: Parameter extraction and mapping
- parser/util: Shared utilities
Types
The result of parsing a SQL query, containing all extracted metadata needed for code generation including tables, columns, parameters, and parameter-column mappings.
pub type ParsedQuery {
ParsedQuery(
tables: List(String),
columns: List(columns.SelectedColumn),
params: List(Int),
param_columns: List(#(Int, String)),
)
}
Constructors
-
ParsedQuery( tables: List(String), columns: List(columns.SelectedColumn), params: List(Int), param_columns: List(#(Int, String)), )
Values
pub fn parse_sql(sql: String) -> Result(ParsedQuery, String)
Parse a SQL query to extract tables, columns, parameters, and parameter-to-column mappings. This is the main entry point for the SQL parser.