Re: backend crash on DELETE, reproducible locally

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ondřej Bouda <obouda(at)email(dot)cz>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: backend crash on DELETE, reproducible locally
Date: 2018-11-06 22:16:36
Message-ID: 20181106221636.6djl3vbpoov2g5jy@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Hi,

On 2018-11-06 23:11:29 +0100, Tomas Vondra wrote:
> On 11/6/18 10:54 PM, Andres Freund wrote:
> > Looks new:
> > + RELOPT_KIND_INDEX = RELOPT_KIND_BTREE|RELOPT_KIND_HASH|RELOPT_KIND_GIN|RELOPT_KIND_SPGIST,
> >
> > there aren't any other "for all indexes" type options, so the whole
> > category didn't exist before.
> >
> > It also strikes me as a really bad idea, even if RELOPT_KIND_GIST
> > wouldn't have been omitted: It breaks index am extensibility.
> >
>
> Does it? The RELOPT_KIND_* stuff is hard-coded in reloptions.h anyway,
> so I'm not sure how this particular thing makes it less extensible?

Well, you can create new index AMs in extensions these days, but given
the relopt design above, the feature cannot be disabled for them. Yes,
there's *currently* probably no great way to have reloptions across all
potential index types, but that's not an excuse for adding something
broken.

Greetings,

Andres Freund

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andres Freund 2018-11-06 22:21:13 Re: backend crash on DELETE, reproducible locally
Previous Message Tom Lane 2018-11-06 22:11:40 Re: backend crash on DELETE, reproducible locally

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2018-11-06 22:17:10 Re: [HACKERS] generated columns
Previous Message Tom Lane 2018-11-06 22:11:40 Re: backend crash on DELETE, reproducible locally