Re: [BUG] Error in BRIN summarization

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-08-12T16:01:49Z
Lists: pgsql-hackers
On 2020-Aug-11, Alvaro Herrera wrote:

> I think this is more complicated than necessary.  It seems easier to
> solve this problem by just checking whether the given root pointer is
> set to InvalidOffsetNumber, which is already done in the existing coding
> of heap_get_root_tuples (only they spell it "0" rather than
> InvalidOffsetNumber, which I propose to change).  AFAIR this should only
> happen in the 'anyvisible' mode, so I added that in an assert.

'anyvisible' mode is not required AFAICS; reading the code, I think this
could also hit REINDEX CONCURRENTLY and CREATE INDEX CONCURRENTLY, which
do not use that flag.  I didn't try to reproduce it there, though.
Anyway, I'm going to remove that Assert() I added.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Disable autovacuum for BRIN test table

  2. Handle new HOT chains in index-build table scans

  3. BRIN: Handle concurrent desummarization properly