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

From Manuel Rigger
Subject Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c",Line: 89)
Date
Msg-id CA+u7OA6RQW-n_KWEu_T=Q6095XKFtFLy3=GT3AwkPsR-OLeihQ@mail.gmail.com
Whole thread Raw
In response to Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c",Line: 89)  (Thomas Munro <thomas.munro@gmail.com>)
List pgsql-bugs
Hi,

Thanks for the fix. Will this patch be merged soon?

Best,
Manuel


On Mon, Dec 2, 2019 at 2:21 AM Thomas Munro <thomas.munro@gmail.com> wrote:
>
> On Mon, Dec 2, 2019 at 12:32 PM Manuel Rigger <rigger.manuel@gmail.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.
>
> > TRAP: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c", Line: 89)
> > postgres: postgres testdb [local] CREATE
> > VIEW(ExceptionalCondition+0x76)[0x563c55747066]
> > postgres: postgres testdb [local] CREATE VIEW(DefineView+0x4cb)[0x563c55487cdb]
> > ...
>
> I'm loving these new back traces.



pgsql-bugs by date:

Previous
From: Michael Paquier
Date:
Subject: Re: BUG #16160: Minor memory leak in case of starting postgresserver with SSL encryption
Next
From: Roman Cervenak
Date:
Subject: Re: Memory leak (possibly connected to postgis) leading to server crash