Skip to main content

Module builder

Module builder 

Source
Expand description

§Expression Builder API

Fluent builder API for programmatic SQL construction and manipulation.

This module provides ergonomic builders inspired by Python sqlglot’s builder API, allowing construction of SQL expressions without manual AST enum construction.

§Quick Start

use sqlglot_rust::builder::{select, column, literal, condition};
use sqlglot_rust::{Dialect, generate};

// Build a SELECT query fluently
let query = select(&["a", "b"])
    .from("users")
    .where_clause("active = true")
    .order_by(&["created_at"])
    .limit(10)
    .build();

let sql = generate(&query, Dialect::Postgres);

§Condition Builder

use sqlglot_rust::builder::condition;

// Build complex conditions
let cond = condition("x = 1")
    .and("y = 2")
    .or("z = 3")
    .build();

§Expression Factory Functions

use sqlglot_rust::builder::{column, table, literal, cast, and_all, or_all};
use sqlglot_rust::ast::DataType;

// Create expressions directly
let col = column("name", Some("users"));
let tbl = table("users", Some("public"));
let num = literal(42);
let casted = cast(column("id", None), DataType::BigInt);

Structs§

ConditionBuilder
Builder for combining conditions with AND/OR/NOT.
SelectBuilder
Fluent builder for SELECT statements.

Functions§

add
Create an addition expression (+).
alias
Create an aliased expression.
and_all
Combine multiple conditions with AND.
between
Create a BETWEEN expression.
boolean
Create a boolean literal expression.
cast
Create a CAST expression.
column
Create a column expression.
condition
Create a new condition builder.
condition_dialect
Create a condition builder with a specific dialect.
div
Create a division expression (/).
eq
Create an equality comparison (=).
exists
Create an EXISTS expression.
func
Create a function call expression.
func_distinct
Create a function call with DISTINCT.
gt
Create a greater-than comparison (>).
gte
Create a greater-than-or-equal comparison (>=).
in_list
Create an IN list expression.
in_subquery
Create an IN subquery expression.
is_not_null
Create an IS NOT NULL check.
is_null
Create an IS NULL check.
like
Create a LIKE expression.
literal
Create an integer literal expression.
lt
Create a less-than comparison (<).
lte
Create a less-than-or-equal comparison (<=).
mul
Create a multiplication expression (*).
neq
Create an inequality comparison (<>).
not
Negate an expression with NOT.
not_in_list
Create a NOT IN list expression.
null
Create a NULL literal expression.
or_all
Combine multiple conditions with OR.
parse_condition
Parse a condition string for use in WHERE clauses.
parse_condition_dialect
Parse a condition string with a specific dialect.
parse_expr
Parse an expression string into an Expr.
parse_expr_dialect
Parse an expression string into an Expr with a specific dialect.
qualified_star
Create a qualified wildcard (table.*) expression.
select
Create a new SELECT builder with columns.
select_all
Create a SELECT * query.
select_distinct
Create a SELECT DISTINCT builder.
star
Create a wildcard (*) expression.
string_literal
Create a string literal expression.
sub
Create a subtraction expression (-).
subquery
Create a subquery expression.
table
Create a table reference.
table_full
Create a fully qualified table reference with catalog.