select distinct
       identity_public_id
       , data
       , i.created_at
       , i.updated_at
       , i.deleted_at
from identity i
left join address_validation av using (identity_id)
left join address            a  using (address_id)
where (($1 is null) or (i.identity_public_id = $1))
and (($2 is null) or (a.value = $2))
and (($3 is null) or (($3 is true) and (av.validated_at is not null)))
and i.deleted_at is null;
