Skip to content

Commit 04d4698

Browse files
authored
always limit fetchMessagesAfterSummaryPoint to memoryWindow (#238)
1 parent 6b6627d commit 04d4698

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

pkg/store/postgres/memorystore_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,10 @@ func TestGetMessages(t *testing.T) {
242242
withSummary bool
243243
}{
244244
{
245-
name: "Get all messages",
245+
name: "Get all messages within messageWindow",
246246
sessionID: sessionID,
247247
lastNMessages: 0,
248-
expectedLength: len(messages),
248+
expectedLength: messageWindow,
249249
withSummary: false,
250250
},
251251
{

pkg/store/postgres/messages.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func getMessages(
176176
if lastNMessages > 0 {
177177
messages, err = fetchLastNMessages(ctx, db, sessionID, lastNMessages)
178178
} else {
179-
messages, err = fetchMessagesAfterSummaryPoint(ctx, db, sessionID, summary)
179+
messages, err = fetchMessagesAfterSummaryPoint(ctx, db, sessionID, summary, memoryWindow)
180180
}
181181
if err != nil {
182182
return nil, store.NewStorageError("failed to get messages", err)
@@ -201,6 +201,7 @@ func fetchMessagesAfterSummaryPoint(
201201
db *bun.DB,
202202
sessionID string,
203203
summary *models.Summary,
204+
memoryWindow int,
204205
) ([]MessageStoreSchema, error) {
205206
var summaryPointIndex int64
206207
var err error
@@ -221,6 +222,9 @@ func fetchMessagesAfterSummaryPoint(
221222
query.Where("id > ?", summaryPointIndex)
222223
}
223224

225+
// Always limit to the memory window
226+
query.Limit(memoryWindow)
227+
224228
return messages, query.Scan(ctx)
225229
}
226230

0 commit comments

Comments
 (0)