Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c", Line: 89)

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Manuel Rigger <rigger(dot)manuel(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c", Line: 89)
Date: 2020-06-02 21:30:03
Message-ID: 20200602213003.GA20290@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2019-Dec-02, Thomas Munro wrote:

> On Mon, Dec 2, 2019 at 12:32 PM Manuel Rigger <rigger(dot)manuel(at)gmail(dot)com> wrote:
> > CREATE TABLE t0(c0 TEXT COLLATE "POSIX");
> > CREATE VIEW v0(c0) AS (SELECT (t0.c0 COLLATE "C")::INT FROM t0); --
> > FailedAssertion("!OidIsValid(def->collOid)", File: "view.c", Line: 89)
> >
> > When building without assertions, the CREATE VIEW statement results in
> > an error instead:
> >
> > ERROR: collations are not supported by type integer
>
> I think the options are to add a check and ereport() instead of an
> assertion, or just remove the assertion and let BuildDescForRelation()
> report the error as it does in non-assert builds. I think the latter
> is better, since it seems well established that BuildDescForRelation()
> will complain about that via its call to GetColumnDefCollation().
> Here's a patch to do that.

This has not been applied yet AFAICS. Thomas, are you getting to this
one soon?

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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Dave Cramer 2020-06-02 22:09:18 Re: BUG #16473: Marked as broken because of SQLSTATE(08006),ErrorCode(0)
Previous Message Bruce Momjian 2020-06-02 17:52:02 Re: BUG #16462: Update Statement destructive behaviour with joins