# bylaw_ecto_query v0.1.0-alpha.1 - Table of Contents Ecto query validation APIs and checks for Bylaw. ## Pages - [Bylaw.Ecto.Query](readme.md) ## Modules - Bylaw.Ecto.Query - [Bylaw.Ecto.Query](Bylaw.Ecto.Query.md): Runs Ecto query checks from an explicit list of check specs. - [Bylaw.Ecto.Query.Check](Bylaw.Ecto.Query.Check.md): Behaviour for checks that validate an `Ecto.Query` before it runs. - [Bylaw.Ecto.Query.Checks](Bylaw.Ecto.Query.Checks.md): Namespace for built-in `Bylaw.Ecto.Query.Check` implementations. - [Bylaw.Ecto.Query.Issue](Bylaw.Ecto.Query.Issue.md): Describes a query validation issue found by a check. - Bylaw.Ecto.Query checks - [Bylaw.Ecto.Query.Checks.CartesianJoins](Bylaw.Ecto.Query.Checks.CartesianJoins.md): Validates that queries do not use explicit cartesian joins. - [Bylaw.Ecto.Query.Checks.ConflictingWherePredicates](Bylaw.Ecto.Query.Checks.ConflictingWherePredicates.md): Validates that root `where` predicates can all be satisfied. - [Bylaw.Ecto.Query.Checks.DateDatetimeMixedComparisons](Bylaw.Ecto.Query.Checks.DateDatetimeMixedComparisons.md): Validates that date fields are not compared to datetime fields without explicit truncation. - [Bylaw.Ecto.Query.Checks.DeterministicOrder](Bylaw.Ecto.Query.Checks.DeterministicOrder.md): Validates that ordered queries include the root schema primary key. - [Bylaw.Ecto.Query.Checks.DuplicateJoins](Bylaw.Ecto.Query.Checks.DuplicateJoins.md): Validates that a query does not repeat equivalent joins. - [Bylaw.Ecto.Query.Checks.EmptyInPredicates](Bylaw.Ecto.Query.Checks.EmptyInPredicates.md): Validates that root `where` predicates do not rely on empty `in` lists. - [Bylaw.Ecto.Query.Checks.ExplicitVisibilityPredicates](Bylaw.Ecto.Query.Checks.ExplicitVisibilityPredicates.md): Validates that configured visibility-sensitive fields are explicitly constrained. - [Bylaw.Ecto.Query.Checks.HalfOpenTemporalIntervals](Bylaw.Ecto.Query.Checks.HalfOpenTemporalIntervals.md): Validates that root temporal interval predicates are half-open. - [Bylaw.Ecto.Query.Checks.HardDeleteOnSoftDeleteSchema](Bylaw.Ecto.Query.Checks.HardDeleteOnSoftDeleteSchema.md): Validates that soft-delete schemas are not hard-deleted with `delete_all`. - [Bylaw.Ecto.Query.Checks.LeftJoinWherePredicates](Bylaw.Ecto.Query.Checks.LeftJoinWherePredicates.md): Validates that `left_join` bindings are not null-rejected by root `where` predicates. - [Bylaw.Ecto.Query.Checks.MandatoryJoinKeys](Bylaw.Ecto.Query.Checks.MandatoryJoinKeys.md): Validates that explicit schema joins preserve configured mandatory keys. - [Bylaw.Ecto.Query.Checks.MandatoryWhereKeys](Bylaw.Ecto.Query.Checks.MandatoryWhereKeys.md): Validates that a query has a root `where` predicate referencing configured keys. - [Bylaw.Ecto.Query.Checks.ManualJoinInsteadOfAssoc](Bylaw.Ecto.Query.Checks.ManualJoinInsteadOfAssoc.md): Validates that manual joins use `assoc/2` when a root association exists. - [Bylaw.Ecto.Query.Checks.NamedBindings](Bylaw.Ecto.Query.Checks.NamedBindings.md): Validates that an `Ecto.Query` uses named binding aliases in query expressions. - [Bylaw.Ecto.Query.Checks.OffsetWithoutLimit](Bylaw.Ecto.Query.Checks.OffsetWithoutLimit.md): Validates that queries do not use `offset` without `limit`. - [Bylaw.Ecto.Query.Checks.RequiredOrder](Bylaw.Ecto.Query.Checks.RequiredOrder.md): Validates that query shapes requiring stable row order include `order_by`. - [Bylaw.Ecto.Query.Checks.UnboundedDeletes](Bylaw.Ecto.Query.Checks.UnboundedDeletes.md): Validates that `delete_all` queries are bounded. - [Bylaw.Ecto.Query.Checks.UnboundedUpdates](Bylaw.Ecto.Query.Checks.UnboundedUpdates.md): Validates that `update_all` queries are bounded. - [Bylaw.Ecto.Query.Checks.UtcDatetimeNaiveComparisons](Bylaw.Ecto.Query.Checks.UtcDatetimeNaiveComparisons.md): Validates that root UTC datetime fields are not compared to `NaiveDateTime` values.