jOOL icon indicating copy to clipboard operation
jOOL copied to clipboard

Bad interaction between window() and limit()

Open nmishkin opened this issue 6 years ago • 1 comments

Expected behavior and actual behavior:

I'm building a Seq that contains limit() and window() terms and I'm seeing some surprising behavior:

  • If the limit() comes after the window() it appears that the iterator that the Seq is based on gets completely drained even though the stream terminates as expected after the number of items specified in the limit() are processed.
  • If the limit() comes before the window() the iterator is not drained. (The stream also terminates as expected.)

In my real scenario, the iterator that the Seq is based on is an iterator on top of a DB cursor and the limit() comes after the window(). I really need the behavior to not be that the code tries to drain this iterator--i.e., read a ton of rows from the DB.

Is this a bug or just the way things work?

Steps to reproduce the problem:

I've attached a simple program that exhibits the behavior.

Versions:

  • jOOλ: 0.9.12
  • Java: 1.8

nmishkin avatar Jul 31 '19 13:07 nmishkin

See user group thread here: https://groups.google.com/forum/#!topic/jooq-user/gSi7CVhCEe4

knutwannheden avatar Aug 05 '19 13:08 knutwannheden