Skip to content

Commit

Permalink
fix: invalid SQL syntax in ListIdentities (#3202)
Browse files Browse the repository at this point in the history
PostgresQL does not support `... WHERE x IN ( )` with an empty argument list.
  • Loading branch information
alnr committed Mar 31, 2023
1 parent 79c94d5 commit 162ab9b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions identity/test/pool.go
Expand Up @@ -677,6 +677,7 @@ func TestPool(ctx context.Context, conf *config.Config, p persistence.Persister,
t.Run("only webauthn and password", func(t *testing.T) {
actual, err := p.ListIdentities(ctx, identity.ListIdentityParameters{
CredentialsIdentifier: "find-identity-by-identifier-oidc@ory.sh",
Expand: identity.ExpandEverything,
})
require.NoError(t, err)
assert.Len(t, actual, 0)
Expand All @@ -685,6 +686,7 @@ func TestPool(ctx context.Context, conf *config.Config, p persistence.Persister,
t.Run("one result set even if multiple matches", func(t *testing.T) {
actual, err := p.ListIdentities(ctx, identity.ListIdentityParameters{
CredentialsIdentifier: "find-identity-by-identifier-common@ory.sh",
Expand: identity.ExpandEverything,
})
require.NoError(t, err)
assert.Len(t, actual, 1)
Expand All @@ -693,6 +695,7 @@ func TestPool(ctx context.Context, conf *config.Config, p persistence.Persister,
t.Run("non existing identifier", func(t *testing.T) {
actual, err := p.ListIdentities(ctx, identity.ListIdentityParameters{
CredentialsIdentifier: "find-identity-by-identifier-non-existing@ory.sh",
Expand: identity.ExpandEverything,
})
require.NoError(t, err)
assert.Len(t, actual, 0)
Expand All @@ -702,6 +705,7 @@ func TestPool(ctx context.Context, conf *config.Config, p persistence.Persister,
_, on := testhelpers.NewNetwork(t, ctx, p)
actual, err := on.ListIdentities(ctx, identity.ListIdentityParameters{
CredentialsIdentifier: expectedIdentifiers[0],
Expand: identity.ExpandEverything,
})
require.NoError(t, err)
assert.Len(t, actual, 0)
Expand Down
4 changes: 4 additions & 0 deletions persistence/sql/identity/persister_identity.go
Expand Up @@ -697,6 +697,10 @@ func (p *IdentityPersister) ListIdentities(ctx context.Context, params identity.
return nil, err
}

if len(is) == 0 {
return is, nil
}

if params.Expand.Has(identity.ExpandFieldCredentials) {
var ids []interface{}
for k := range is {
Expand Down

0 comments on commit 162ab9b

Please sign in to comment.