From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Thom Brown <thom(at)linux(dot)com>, pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
Subject: | Re: Breakage with VACUUM ANALYSE + partitions |
Date: | 2016-03-26 12:39:42 |
Message-ID: | 20160326123942.qnuwqg3yg2y7ae4p@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On 2016-03-25 12:02:05 -0400, Robert Haas wrote:
> Gosh, that's surprising. I wonder if that just revealed an underlying
> issue rather than creating it.
I think that's the case; it's just somewhat unlikely to hit in other
cases.
If SMgrRelation->md_fd[n] is an empty relation, and mdread() or another
routine is asking for a block in the second segment - which will error
out. But even if the first segment is zero bytes, _mdfd_getseg() will
dutifully try to open the second segment. Which will succeed in the case
of a truncated relation, because we leave the truncated segment in
place.
ISTM that _mdfd_getseg better check the length of the last segment
before opening the next one?
Regards,
Andres
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2016-03-26 21:52:33 | Re: BUG #14032: trigram index is not used for '=' operator |
Previous Message | Thomas Munro | 2016-03-25 20:15:25 | Re: Missing rows with index scan when collation is not "C" (PostgreSQL 9.5); |
From | Date | Subject | |
---|---|---|---|
Next Message | Victor Wagner | 2016-03-26 12:43:21 | Building PL/Perl with ActiveState Perl 5.22 and MSVC |
Previous Message | Andrew Dunstan | 2016-03-26 12:37:19 | Re: Alter or rename enum value |