Re: Index created in BEFORE trigger not updated during INSERT

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Index created in BEFORE trigger not updated during INSERT
Date: 2017-05-24 12:26:24
Message-ID: CA+TgmoanG1srpzV0XxyV-OE1zHGdV2ti4eJ7OzFFDZUuT5QaKA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, May 22, 2017 at 7:05 AM, Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> wrote:
> Not that it is a useful use case, but I believe that this is
> a bug that causes index corruption:
>
> CREATE TABLE mytable(
> id integer PRIMARY KEY,
> id2 integer NOT NULL
> );
>
> CREATE FUNCTION makeindex() RETURNS trigger
> LANGUAGE plpgsql AS
> $$BEGIN
> CREATE INDEX ON mytable(id2);
> RETURN NEW;
> END;$$;

I'm willing to bet that nobody ever thought about that case very hard.
It seems like we should either make it work or prohibit it, but I
can't actually see quite how to do either off-hand.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2017-05-24 12:29:15 Re: wal_level > WAL_LEVEL_LOGICAL
Previous Message Robert Haas 2017-05-24 12:11:16 Re: Proposal : For Auto-Prewarm.