From fa753de528d1ee2d581a43b7d619ff579cc9e4d0 Mon Sep 17 00:00:00 2001 From: Sejal Patel Date: Fri, 2 May 2025 18:39:57 -0400 Subject: [PATCH] Fix Sequence violating spirit of sequence A cursor is not a cursor if it not being lazily evaluated. And it definitely isn't useful for reading data as it blows up the memory when reading larger collections tricking downstream into thinking it is streaming friendly. --- .../src/main/kotlin/kotlin/collections/KMongoIterable.kt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/kmongo-core/src/main/kotlin/kotlin/collections/KMongoIterable.kt b/kmongo-core/src/main/kotlin/kotlin/collections/KMongoIterable.kt index 247f689c..62ae38ab 100644 --- a/kmongo-core/src/main/kotlin/kotlin/collections/KMongoIterable.kt +++ b/kmongo-core/src/main/kotlin/kotlin/collections/KMongoIterable.kt @@ -143,12 +143,7 @@ fun MongoIterable.requireNoNulls(): Iterable = * * @sample samples.collections.Sequences.Building.sequenceFromCollection */ -fun MongoIterable.asSequence(): Sequence { - //lazy sequence - return object : Sequence { - override fun iterator(): Iterator = this@asSequence.toList().asSequence().iterator() - } -} +fun MongoIterable.asSequence(): Sequence = Sequence { this.iterator() } //common overrides ->