diesieben07
10/10/2018, 4:01 PMbuildSequence
poohbar
10/10/2018, 4:01 PMdiesieben07
10/10/2018, 4:01 PMdiesieben07
10/10/2018, 4:01 PMdiesieben07
10/10/2018, 4:01 PMyield
poohbar
10/10/2018, 4:02 PMarekolek
10/10/2018, 4:03 PMpoohbar
10/10/2018, 4:03 PMvar offset = 0
val items = mutableListOf<Map<*, *>>()
while (true) {
val chunk = queryRunner.query("SELECT id FROM item LIMIT 10000 OFFSET $offset")
if (chunk.isEmpty()) {
break
}
items.addAll(chunk)
offset += 10000
println("Loaded $offset rows")
}
poohbar
10/10/2018, 4:03 PMEgor Trutenko
10/10/2018, 4:08 PM1.0.0
as soon as Kotlin 1.3 is releasedmarstran
10/10/2018, 4:12 PMbuildSequence
has been renamed sequence
in 1.3 by the wayarekolek
10/10/2018, 4:16 PMvar offset = 0
return generateSequence {
queryRunner.query("SELECT id FROM item LIMIT 10000 OFFSET $offset")
.takeUnless { it.isEmpty() }
.also { offset += 10000 }
}
.flatten()
poohbar
10/10/2018, 4:20 PMarekolek
10/10/2018, 4:37 PMgenerateSequence(0) { it + 10000 }
.map { queryRunner.query("SELECT id FROM item LIMIT 10000 OFFSET $it") }
.takeWhile { it.isNotEmpty() }
.flatten()