Re: pgsql: Logical Tape Set: lazily allocate read buffer.

2020-02-18 Thread Jeff Davis
On Sun, 2020-02-16 at 10:51 -0500, Tom Lane wrote: > Is there a reason for that to be coded in such an obscure and fragile > fashion, rather than having the test be say "if (lt->buffer == > NULL)"? I did that to match the original behavior, which is to only allocate the read buffer if the tape is

Re: pgsql: Logical Tape Set: lazily allocate read buffer.

2020-02-16 Thread Tom Lane
Jeff Davis writes: > Logical Tape Set: lazily allocate read buffer. Coverity is not very pleased with this patch: it's spewing warnings like 1112 if (lt->buffer == NULL) 1113 ltsInitReadBuffer(lts, lt); 1114 1115 if (blocknum != lt->curBlockNumber) 1116 {

pgsql: Logical Tape Set: lazily allocate read buffer.

2020-02-13 Thread Jeff Davis
Logical Tape Set: lazily allocate read buffer. The write buffer was already lazily-allocated, so this is more symmetric. It also means that a freshly-rewound tape (whether for reading or writing) is not consuming memory for the buffer. Discussion: https://postgr.es/m/97c46a59c27f3c38e486ca170fcb