Module cte

Module cte 

Source
Expand description

Common Table Expressions (CTEs) support.

This module provides types for building CTEs (WITH clauses) across different database backends.

§Supported Features

FeaturePostgreSQLMySQLSQLiteMSSQLMongoDB
Non-recursive❌ ($lookup)
Recursive
Materialized
Pipeline stages✅ $lookup

§Example Usage

use prax_query::cte::{Cte, CteBuilder, WithClause};

// Simple CTE
let cte = Cte::new("active_users")
    .columns(["id", "name", "email"])
    .as_query("SELECT * FROM users WHERE active = true");

// Build full query with CTE
let query = WithClause::new()
    .cte(cte)
    .select("*")
    .from("active_users")
    .build();

Modules§

mongodb
MongoDB $lookup pipeline support (CTE equivalent).
patterns
Helper functions for common CTE patterns.

Structs§

Cte
A Common Table Expression (CTE) definition.
CteBuilder
Builder for CTEs.
CycleClause
Cycle detection for recursive CTEs.
SearchClause
Search clause for recursive CTEs.
WithClause
A WITH clause containing one or more CTEs.
WithQueryBuilder
Builder for queries using WITH clause.

Enums§

Materialized
Materialization hint for CTEs (PostgreSQL only).
SearchMethod
Search method for recursive CTEs.