Skip to content

Commit ace80c2

Browse files
aeneasrory-bot
authored andcommitted
fix(changelog-oel): reduce rows read when checking past consents
GitOrigin-RevId: 2df16d3053a1b4fb0bb0eb9e4f829f6861a55f1b
1 parent cdfb025 commit ace80c2

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

persistence/sql/persister_consent.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -571,17 +571,19 @@ func (p *Persister) FindGrantedAndRememberedConsentRequests(ctx context.Context,
571571

572572
var f flow.Flow
573573
if err = p.Connection(ctx).
574-
Where(
575-
strings.TrimSpace(fmt.Sprintf(`
576-
(state = %d OR state = %d) AND
574+
Where(`
575+
state = ? AND
577576
subject = ? AND
578577
client_id = ? AND
579578
consent_skip=FALSE AND
580579
consent_error='{}' AND
581580
consent_remember=TRUE AND
582-
nid = ?`, flow.FlowStateConsentUsed, flow.FlowStateConsentUnused,
583-
)),
584-
subject, client, p.NetworkID(ctx)).
581+
nid = ?`,
582+
flow.FlowStateConsentUsed,
583+
subject,
584+
client,
585+
p.NetworkID(ctx),
586+
).
585587
Order("requested_at DESC").
586588
Limit(1).
587589
First(&f); err != nil {

persistence/sql/persister_nid_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -784,6 +784,9 @@ func (s *PersisterTestSuite) TestFindGrantedAndRememberedConsentRequests() {
784784
require.NoError(t, r.Persister().CreateConsentRequest(s.t1, f, req))
785785
_, err := r.Persister().HandleConsentRequest(s.t1, f, hcr)
786786
require.NoError(t, err)
787+
788+
f.ConsentWasHandled = true
789+
f.State = flow.FlowStateConsentUsed
787790
require.NoError(t, r.Persister().Connection(context.Background()).Create(f))
788791

789792
actual, err := r.Persister().FindGrantedAndRememberedConsentRequests(s.t2, client.ID, f.Subject)
@@ -1432,6 +1435,7 @@ func (s *PersisterTestSuite) TestHandleConsentRequest() {
14321435
sessionID := uuid.Must(uuid.NewV4()).String()
14331436
c1 := &client.Client{ID: uuidx.NewV4().String()}
14341437
f := newFlow(s.t1NID, c1.ID, "sub", sqlxx.NullString(sessionID))
1438+
14351439
persistLoginSession(s.t1, t, r.Persister(), &flow.LoginSession{ID: sessionID})
14361440
require.NoError(t, r.Persister().CreateClient(s.t1, c1))
14371441
require.NoError(t, r.Persister().CreateClient(s.t2, c1))
@@ -1461,6 +1465,9 @@ func (s *PersisterTestSuite) TestHandleConsentRequest() {
14611465
actualCR, err = r.Persister().HandleConsentRequest(s.t1, f, hcr)
14621466
require.NoError(t, err)
14631467
require.NotNil(t, actualCR)
1468+
1469+
f.ConsentWasHandled = true
1470+
f.State = flow.FlowStateConsentUsed
14641471
require.NoError(t, r.Persister().Connection(context.Background()).Create(f))
14651472
actual, err = r.Persister().FindGrantedAndRememberedConsentRequests(s.t1, c1.ID, f.Subject)
14661473
require.NoError(t, err)

0 commit comments

Comments
 (0)