Re: BUG #16577: Segfault on altering a table located in a dropped tablespace

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16577: Segfault on altering a table located in a dropped tablespace
Date: 2021-01-13 12:57:00
Message-ID: 20210113125700.GA9451@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2021-Jan-13, Michael Paquier wrote:

> On Tue, Jan 12, 2021 at 12:08:04PM -0300, Alvaro Herrera wrote:
> > That would bloat the catalog with a lot of entries for stuff that can be
> > detected with the current method. Did you notice that the code is
> > removing an "#ifdef NOT_USED" line to enable existing code? Well, when
> > I wrote this code in 2005 (59d1b3d99e69) it was doing things as you
> > suggest, but in the end we decided that it wasn't necessary so it was
> > taken out.
>
> I have not found a thread discussing that around the date of this
> commit, but I'll take your word on that.

I bet you didn't search pgsql-patches ;-)
https://www.postgresql.org/message-id/flat/20050703051522.GA13207%40surnet.cl

> I just have one small comment.
>
> + if (!create_storage && reltablespace != InvalidOid)
> + recordDependencyOnTablespace(RelationRelationId, relid,
> + reltablespace);
> For now we assume that this code path is taken only for partitioned
> tables or indexes per the logic in heap_create(). Perhaps it would be
> better to add to this code path, or to recordDependencyOnTablespace()
> an assertion to check that only the supported relkinds register this
> dependency? If a new relkind is added, it would be easy to miss that
> this shared dependency may need to be supported.

Hmm ... the intent here is that if there is no storage, but a tablespace
is specified, then a dependency protects. This should be agnostic to
relkind considerations. I had first written the new symbol as
SHARED_DEPENDENCY_PARTITIONED_TABLE but then I realized the error of my
ways :-)

--
Álvaro Herrera Valdivia, Chile
Tom: There seems to be something broken here.
Teodor: I'm in sackcloth and ashes... Fixed.
http://archives.postgresql.org/message-id/482D1632.8010507@sigaev.ru

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2021-01-13 13:10:06 BUG #16822: Unable to launch setup
Previous Message Nikhil Saple 2021-01-13 12:26:55 NO acceptable C compiler found in the $PATH