PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> In logtape.c,
> * Each `swap_nodes` will execute assignment statement three times, while
> we only need execute once like in tuplesort.c
Yeah, that could be improved. I see similar coding in binaryheap.c, too.
> * right_offset(unsigned i) parameter i seemed should be `unsigned long`
Ugh, that's surely wrong. I don't know that anyone could get to >4G entries
in this heap, but it's still wrong.
Thanks for the report!
> Here's a patch
FYI, patches tend not to survive being passed through email unless
you add 'em as attachments.
regards, tom lane