# Selecto v0.4.5 - Table of Contents Alpha: composable SQL query builder for Elixir domains with joins, CTEs, OLAP, and hierarchical patterns ## Pages - [Selecto](readme.md) - [Complex Join Patterns Guide](complex_join_patterns.md) - [OLAP Dimension Support and Hierarchical Patterns](olap_and_hierarchical_patterns.md) - [Advanced Usage Guide](advanced_usage.md) ## Modules - [Selecto.Advanced.ArrayOperations](Selecto.Advanced.ArrayOperations.md): Array operations support for PostgreSQL array functionality. - [Selecto.Advanced.ArrayOperations.Spec](Selecto.Advanced.ArrayOperations.Spec.md): Specification for array operations in SELECT, WHERE, and other clauses. - [Selecto.Advanced.CTE](Selecto.Advanced.CTE.md): Common Table Expression (CTE) support for PostgreSQL WITH clauses. - [Selecto.Advanced.CTE.Spec](Selecto.Advanced.CTE.Spec.md): Specification for Common Table Expression definitions. - [Selecto.Advanced.CaseExpression](Selecto.Advanced.CaseExpression.md): CASE expression support for PostgreSQL conditional logic. - [Selecto.Advanced.CaseExpression.Spec](Selecto.Advanced.CaseExpression.Spec.md): Specification for CASE expression definitions. - [Selecto.Advanced.JsonOperations](Selecto.Advanced.JsonOperations.md): JSON operations support for PostgreSQL JSON and JSONB functionality. - [Selecto.Advanced.JsonOperations.Spec](Selecto.Advanced.JsonOperations.Spec.md): Specification for JSON operations in SELECT, WHERE, and other clauses. - [Selecto.Advanced.LateralJoin](Selecto.Advanced.LateralJoin.md): LATERAL join support for correlated subqueries and advanced join patterns. - [Selecto.Advanced.LateralJoin.Spec](Selecto.Advanced.LateralJoin.Spec.md): Specification for a LATERAL join operation. - [Selecto.Advanced.ValuesClause](Selecto.Advanced.ValuesClause.md): VALUES clause support for inline table generation and data transformations. - [Selecto.Advanced.ValuesClause.Spec](Selecto.Advanced.ValuesClause.Spec.md): Specification for a VALUES clause operation. - [Selecto.AutoPivot](Selecto.AutoPivot.md): Deprecated compatibility wrapper for `Selecto.AutoRetarget`. - [Selecto.AutoRetarget](Selecto.AutoRetarget.md): Automatic retarget detection and application for Selecto queries. - [Selecto.Builder.ArrayOperations](Selecto.Builder.ArrayOperations.md): SQL builder for PostgreSQL array operations. - [Selecto.Builder.CaseExpression](Selecto.Builder.CaseExpression.md): SQL generation for PostgreSQL CASE expressions. - [Selecto.Builder.JsonOperations](Selecto.Builder.JsonOperations.md): SQL generation for PostgreSQL JSON operations. - [Selecto.Builder.LateralJoin](Selecto.Builder.LateralJoin.md): SQL generation for LATERAL joins. - [Selecto.Builder.Pivot](Selecto.Builder.Pivot.md): Deprecated compatibility wrapper for `Selecto.Builder.Retarget`. - [Selecto.Builder.Retarget](Selecto.Builder.Retarget.md): SQL generation logic for Retarget functionality. - [Selecto.Builder.SetOperations](Selecto.Builder.SetOperations.md): SQL generation for set operations (UNION, INTERSECT, EXCEPT). - [Selecto.Builder.Sql.Helpers](Selecto.Builder.Sql.Helpers.md): Helper functions shared by SQL builder modules. - [Selecto.Builder.Subselect](Selecto.Builder.Subselect.md): SQL generation logic for Subselect functionality. - [Selecto.Builder.ValuesClause](Selecto.Builder.ValuesClause.md): SQL generation for VALUES clauses in PostgreSQL queries. - [Selecto.Builder.Window](Selecto.Builder.Window.md): Builds SQL for window functions. - [Selecto.Config.Overlay](Selecto.Config.Overlay.md): Merges overlay configurations into base domain configurations. - [Selecto.Config.OverlayDSL](Selecto.Config.OverlayDSL.md): A DSL (Domain-Specific Language) for defining overlay configurations. - [Selecto.Configuration](Selecto.Configuration.md): Domain configuration and initialization for Selecto. - [Selecto.ConnectionPool](Selecto.ConnectionPool.md): Connection pooling and management for Selecto. - [Selecto.DB.Adapter](Selecto.DB.Adapter.md): Behaviour contract for Selecto database adapters. - [Selecto.Diagnostics](Selecto.Diagnostics.md): Query diagnostics helpers (EXPLAIN / EXPLAIN ANALYZE). - [Selecto.DynamicJoin](Selecto.DynamicJoin.md): Handles dynamic join additions at runtime. - [Selecto.EctoAdapter](Selecto.EctoAdapter.md): Ecto integration for Selecto query builder. - [Selecto.EnhancedJoins](Selecto.EnhancedJoins.md): Enhanced join types and patterns for Selecto. - [Selecto.Error](Selecto.Error.md): Standardized error structure for all Selecto operations. - [Selecto.Executor](Selecto.Executor.md): Query execution engine for Selecto. - [Selecto.Expr](Selecto.Expr.md): Ergonomic constructors for Selecto filter and selector AST. - [Selecto.ExprMacros](Selecto.ExprMacros.md): Macro sugar for Selecto expressions. - [Selecto.Extension](Selecto.Extension.md): Behavior contract for Selecto ecosystem extensions. - [Selecto.Extensions](Selecto.Extensions.md): Shared extension loading and callback dispatch for the Selecto ecosystem. - [Selecto.FieldResolver](Selecto.FieldResolver.md): Enhanced field resolution system for Selecto with disambiguation, aliasing, and dynamic resolution. - [Selecto.FieldResolver.ParameterizedParser](Selecto.FieldResolver.ParameterizedParser.md): Parser for parameterized joins with dot notation support. - [Selecto.Fields](Selecto.Fields.md): Field access and resolution operations for Selecto. - [Selecto.Helpers.Date](Selecto.Helpers.Date.md): Date helper functions for Selecto. - [Selecto.Jsonb](Selecto.Jsonb.md): JSONB column support with dot notation for filtering and selection. - [Selecto.Livebook](Selecto.Livebook.md): Convenience helpers for interactive notebooks and demos. - [Selecto.LogSanitizer](Selecto.LogSanitizer.md): Sanitizes SQL queries and parameters for safe logging. - [Selecto.Output.Formats](Selecto.Output.Formats.md): Format registry and configuration system for Selecto output formats. - [Selecto.Output.Transformers.CSV](Selecto.Output.Transformers.CSV.md): CSV transformer for Selecto query results. - [Selecto.Output.Transformers.Json](Selecto.Output.Transformers.Json.md): JSON transformer for Selecto query results. - [Selecto.Output.Transformers.Maps](Selecto.Output.Transformers.Maps.md): Transforms query results to list of maps format. - [Selecto.Output.Transformers.Stream](Selecto.Output.Transformers.Stream.md): Transforms query results to streaming format for memory-efficient processing of large datasets. - [Selecto.Output.Transformers.Structs](Selecto.Output.Transformers.Structs.md): Transforms query results into structured data using Elixir structs. - [Selecto.Output.TypeCoercion](Selecto.Output.TypeCoercion.md): Database type coercion system for transforming raw database values to appropriate Elixir types based on PostgreSQL column types. - [Selecto.Performance.ComplexityAnalyzer](Selecto.Performance.ComplexityAnalyzer.md): Analyzes query complexity to prevent database overload. - [Selecto.Performance.HookBehaviour](Selecto.Performance.HookBehaviour.md): Behaviour for implementing custom performance monitoring hooks. - [Selecto.Performance.Hooks](Selecto.Performance.Hooks.md): Performance monitoring hooks for Selecto query execution. - [Selecto.Performance.MetricsCollector](Selecto.Performance.MetricsCollector.md): Collects and tracks query performance metrics for Selecto. - [Selecto.Performance.QueryAnalyzer](Selecto.Performance.QueryAnalyzer.md): Query analysis and optimization using adapter-backed EXPLAIN support. - [Selecto.Performance.QueryCache](Selecto.Performance.QueryCache.md): High-performance query result caching for Selecto. - [Selecto.Pivot](Selecto.Pivot.md): Deprecated compatibility wrapper for `Selecto.Retarget`. - [Selecto.Query](Selecto.Query.md): Core query building operations for Selecto. - [Selecto.Retarget](Selecto.Retarget.md): Retarget functionality for retargeting joined tables as primary query focus. - [Selecto.SQL.Formatter](Selecto.SQL.Formatter.md): Lightweight SQL formatting and highlighting helpers. - [Selecto.SQL.Functions](Selecto.SQL.Functions.md): Advanced SQL function support for Selecto. - [Selecto.Schema.ParameterizedJoin](Selecto.Schema.ParameterizedJoin.md): Processing and configuration for parameterized joins. - [Selecto.SelectionShape](Selecto.SelectionShape.md): Structured selection helpers for building and materializing nested result shapes. - [Selecto.SetOperations](Selecto.SetOperations.md): Set operations for combining query results using UNION, INTERSECT, and EXCEPT. - [Selecto.SetOperations.Spec](Selecto.SetOperations.Spec.md): Specification for a set operation between two or more queries. - [Selecto.SetOperations.Validation](Selecto.SetOperations.Validation.md): Schema validation for set operations between queries. - [Selecto.Sigil](Selecto.Sigil.md): Sigils for Selecto expression authoring. - [Selecto.Subfilter](Selecto.Subfilter.md): Core subfilter data structures and specifications. - [Selecto.Subfilter.CompoundSpec](Selecto.Subfilter.CompoundSpec.md): Specification for compound subfilter operations (AND/OR). - [Selecto.Subfilter.FilterSpec](Selecto.Subfilter.FilterSpec.md): Filter specification for subfilter conditions. - [Selecto.Subfilter.JoinPathResolver](Selecto.Subfilter.JoinPathResolver.md): Resolve relationship paths into join sequences using domain join-path configuration. - [Selecto.Subfilter.JoinPathResolver.JoinResolution](Selecto.Subfilter.JoinPathResolver.JoinResolution.md): Structure representing a resolved join path with all necessary join information. - [Selecto.Subfilter.Parser](Selecto.Subfilter.Parser.md): Parse subfilter configurations into structured subfilter specs. - [Selecto.Subfilter.Registry](Selecto.Subfilter.Registry.md): Registry system for managing multiple subfilters with strategy selection and optimization. - [Selecto.Subfilter.RelationshipPath](Selecto.Subfilter.RelationshipPath.md): Parsed relationship path information. - [Selecto.Subfilter.SQL](Selecto.Subfilter.SQL.md): Generate SQL WHERE clauses for subfilters from the Subfilter Registry. - [Selecto.Subfilter.SQL.AggregationBuilder](Selecto.Subfilter.SQL.AggregationBuilder.md): Builds subqueries with aggregations (COUNT, SUM, AVG, etc.). - [Selecto.Subfilter.SQL.AnyAllBuilder](Selecto.Subfilter.SQL.AnyAllBuilder.md): Builds ANY and ALL subqueries for subfilters. - [Selecto.Subfilter.SQL.ExistsBuilder](Selecto.Subfilter.SQL.ExistsBuilder.md): Builds EXISTS subqueries for subfilters. - [Selecto.Subfilter.SQL.InBuilder](Selecto.Subfilter.SQL.InBuilder.md): Builds IN subqueries for subfilters. - [Selecto.Subfilter.Spec](Selecto.Subfilter.Spec.md): Specification for a single subfilter operation. - [Selecto.Subselect](Selecto.Subselect.md): Subselect functionality for array-based data aggregation from related tables. - [Selecto.Tenant](Selecto.Tenant.md): Multi-tenant helpers for Selecto query state. - [Selecto.TypeSystem](Selecto.TypeSystem.md): Type inference and coercion system for Selecto SQL expressions. - [Selecto.ViewPublisher](Selecto.ViewPublisher.md): Validates Selecto-authored published view specs before any DDL generation. - [Selecto.Window](Selecto.Window.md): Window functions provide powerful analytical capabilities for PostgreSQL queries. - [Selecto.Window.Frame](Selecto.Window.Frame.md): Window frame specification (ROWS or RANGE). - [Selecto.Window.Spec](Selecto.Window.Spec.md): Specification for a window function operation. - Core - [Selecto](Selecto.md): Selecto is a query builder for Elixir that uses Postgrex to execute queries. It is designed to be a flexible and powerful tool for building complex SQL queries without writing SQL by hand. - [Selecto.Types](Selecto.Types.md): Comprehensive type definitions for the Selecto query builder. - Builders - [Selecto.Builder.CteSql](Selecto.Builder.CteSql.md): SQL generation for PostgreSQL Common Table Expressions (CTEs). - [Selecto.Builder.Join](Selecto.Builder.Join.md): Join dependency utilities used by the SQL builder pipeline. - [Selecto.Builder.Sql](Selecto.Builder.Sql.md): Main SQL compilation entry point for a configured `Selecto` query. - SQL Builders - [Selecto.Builder.Sql.Group](Selecto.Builder.Sql.Group.md): GROUP BY clause builder for Selecto queries. - [Selecto.Builder.Sql.Hierarchy](Selecto.Builder.Sql.Hierarchy.md): Hierarchical SQL pattern generation for self-referencing relationships. - [Selecto.Builder.Sql.Olap](Selecto.Builder.Sql.Olap.md): OLAP dimension optimization SQL patterns for star and snowflake schemas. - [Selecto.Builder.Sql.Order](Selecto.Builder.Sql.Order.md): ORDER BY clause builder for Selecto queries. - [Selecto.Builder.Sql.Select](Selecto.Builder.Sql.Select.md): SELECT-expression compiler for Selecto query AST values. - [Selecto.Builder.Sql.Tagging](Selecto.Builder.Sql.Tagging.md): Many-to-many tagging SQL pattern generation for join table relationships. - [Selecto.Builder.Sql.Where](Selecto.Builder.Sql.Where.md): WHERE-clause compiler for Selecto predicate expressions. - Schema - [Selecto.Schema](Selecto.Schema.md): Namespace module for schema processing helpers. - [Selecto.Schema.Column](Selecto.Schema.Column.md): Builds normalized column definitions for domain fields and join fields. - [Selecto.Schema.Join](Selecto.Schema.Join.md): # Join Configuration and Patterns - Utilities - [Selecto.DomainValidator](Selecto.DomainValidator.md): Domain validation for Selecto configurations. - [Selecto.Helpers](Selecto.Helpers.md): Shared utility helpers used across Selecto internals. - Exceptions - [Selecto.Advanced.ArrayOperations.ValidationError](Selecto.Advanced.ArrayOperations.ValidationError.md): Error raised when array operation specification is invalid. - [Selecto.Advanced.CTE.ValidationError](Selecto.Advanced.CTE.ValidationError.md): Error raised when CTE specification is invalid. - [Selecto.Advanced.CaseExpression.ValidationError](Selecto.Advanced.CaseExpression.ValidationError.md): Error raised when CASE expression specification is invalid. - [Selecto.Advanced.JsonOperations.ValidationError](Selecto.Advanced.JsonOperations.ValidationError.md): Error raised when JSON operation specification is invalid. - [Selecto.Advanced.LateralJoin.CorrelationError](Selecto.Advanced.LateralJoin.CorrelationError.md): Error raised when LATERAL join correlations are invalid. - [Selecto.Advanced.ValuesClause.ValidationError](Selecto.Advanced.ValuesClause.ValidationError.md): Error raised when VALUES clause data is invalid. - [Selecto.DomainValidator.ValidationError](Selecto.DomainValidator.ValidationError.md): Exception raised when domain validation fails. - [Selecto.SetOperations.Validation.SchemaError](Selecto.SetOperations.Validation.SchemaError.md) - [Selecto.Subfilter.Error](Selecto.Subfilter.Error.md): Subfilter-specific error structure. ## Mix Tasks - [mix selecto.bench](Mix.Tasks.Selecto.Bench.md): Benchmarks comparable query-build and SQL-compilation paths for Selecto and Ecto.