Re: ReadRecentBuffer() is broken for local buffer

2022-07-24 Thread Heikki Linnakangas
On 25/07/2022 00:35, Thomas Munro wrote: On Mon, Jul 25, 2022 at 6:22 AM Heikki Linnakangas wrote: ReadRecentBuffer() doesn't work for local buffers, i.e. for temp tables. The bug is pretty clear if you look at the code: -bufHdr = GetBufferDescriptor(-recent_buffer - 1); +int

Re: ReadRecentBuffer() is broken for local buffer

2022-07-24 Thread Richard Guo
On Mon, Jul 25, 2022 at 2:22 AM Heikki Linnakangas wrote: > if (BufferIsLocal(recent_buffer)) > { > - bufHdr = GetBufferDescriptor(-recent_buffer - 1); > + bufHdr = GetLocalBufferDescriptor(-recent_buffer - 1); Aha, we're using the wrong buffer descri

Re: ReadRecentBuffer() is broken for local buffer

2022-07-24 Thread Zhang Mingli
Nice catch, LGTM. > On Jul 25, 2022, at 02:22, Heikki Linnakangas wrote: > > ReadRecentBuffer() doesn't work for local buffers, i.e. for temp tables. The > bug is pretty clear if you look at the code: > > if (BufferIsLocal(recent_buffer)) > { > - bufHdr = GetBufferD

Re: ReadRecentBuffer() is broken for local buffer

2022-07-24 Thread Thomas Munro
On Mon, Jul 25, 2022 at 6:22 AM Heikki Linnakangas wrote: > ReadRecentBuffer() doesn't work for local buffers, i.e. for temp tables. > The bug is pretty clear if you look at the code: -bufHdr = GetBufferDescriptor(-recent_buffer - 1); +intb = -recent_buffer - 1; + +

ReadRecentBuffer() is broken for local buffer

2022-07-24 Thread Heikki Linnakangas
ReadRecentBuffer() doesn't work for local buffers, i.e. for temp tables. The bug is pretty clear if you look at the code: if (BufferIsLocal(recent_buffer)) { - bufHdr = GetBufferDescriptor(-recent_buffer - 1); + bufHdr = GetLocalBufferDescriptor(-recen