# EctoQueryParser v0.5.0 - Table of Contents

> A query language parser that converts human-readable filter strings into Ecto WHERE clauses.

## Modules

- [EctoQueryParser](EctoQueryParser.md): A query language parser for Ecto.
- [EctoQueryParser.Builder](EctoQueryParser.Builder.md): Converts parsed AST nodes into Ecto dynamic expressions.

- [EctoQueryParser.JoinResolver](EctoQueryParser.JoinResolver.md): Resolves dotted identifier paths (e.g., `author.name`, `post.author.company.name`)
into Ecto dynamic expressions with named bindings and join specifications.

- [EctoQueryParser.Parser](EctoQueryParser.Parser.md): NimbleParsec-based parser for the Ecto query language.
- [EctoQueryParser.Pipe.Parser](EctoQueryParser.Pipe.Parser.md): NimbleParsec-based parser for the staged pipe language.
- [EctoQueryParser.Pipe.Query](EctoQueryParser.Pipe.Query.md): A parsed pipe query: a source plus an ordered list of stages.

- Exceptions
  - [EctoQueryParser.ParseError](EctoQueryParser.ParseError.md): Exception struct returned (inside an `{:error, _}` tuple) when a query
string fails to parse.
  - [EctoQueryParser.ValidationError](EctoQueryParser.ValidationError.md): Exception struct returned (inside an `{:error, _}` tuple) when a pipe query
parses but fails stage-level validation — an unknown column in a `select`
or `sort`, an aggregation alias colliding with a breakout, an unresolvable
`@reference`, and so on.

