Selecto.Builder.Sql.Select
(Selecto v0.4.6)
Copy Markdown
SELECT-expression compiler for Selecto query AST values.
This module normalizes selector terms (fields, literals, functions, CASE, subqueries, JSON/array helpers, and custom SQL fragments) into iodata SQL fragments alongside required joins and bind parameters.
Summary
Functions
Process field selectors with various formats
Functions
Process field selectors with various formats:
Custom SQL support: {:custom_sql, sql_template, field_mappings} - safely handle custom column SQL with field validation
Standard formats:
"field" # - plain old field from one of the tables {:field, field } #- same as above disamg for predicate second+ position {:literal, "value"} #- for literal values
{:literal, 1.0}
etc
(for count(*))
#...
{:case, [PREDICATE, SELECTOR, ..., :else, SELECTOR]}
{:greatest, [SELECTOR, SELECTOR, ...]}
#LITERAL_SELECTOR means naked value treated as lit not field