Selecto.Subfilter.SQL.ExistsBuilder (Selecto v0.3.8)

Builds EXISTS subqueries for subfilters.

This is the default strategy and is suitable for most subfilter patterns where you just need to check for the existence of related records that match a certain criteria.

example-sql

Example SQL

EXISTS (
  SELECT 1
  FROM film_category fc
  JOIN category c ON fc.category_id = c.category_id
  WHERE fc.film_id = film.film_id
    AND c.name = 'Action'
)

Link to this section Summary

Functions

Generate EXISTS subquery SQL for a given subfilter.

Link to this section Functions

Link to this function

generate(spec, join_resolution, registry)

@spec generate(
  Selecto.Subfilter.Spec.t(),
  Selecto.Subfilter.JoinPathResolver.JoinResolution.t(),
  any()
) ::
  {:ok, String.t(), [any()]} | {:error, Selecto.Subfilter.Error.t()}

Generate EXISTS subquery SQL for a given subfilter.