Michael Paquier <mich...@paquier.xyz> writes: > On Tue, Oct 17, 2023 at 01:40:18AM -0400, Tom Lane wrote: >> makes the failure go away. Unfortunately, I've not yet found another >> way to make it go away :-(. My upthread idea of using a local variable >> instead of result->time is no help, and some other random code >> alterations didn't change the results either.
> That may be a long shot, but even a modulo? Yeah, the same thing occurred to me in the shower this morning, and it does seem to work! We can replace both loops with a %= operator, at least if we're willing to assume C99 division semantics, which seems pretty safe in 2023. Your idea of doing a range check to skip the division in typical cases is a refinement I'd not thought of, but it seems like a good idea for performance. (I see that the negative-starting-point case isn't covered in the current regression tests, so maybe we better add a test for that.) regards, tom lane