Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c",Line: 89)
От | Manuel Rigger |
---|---|
Тема | Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c",Line: 89) |
Дата | |
Msg-id | CA+u7OA6RQW-n_KWEu_T=Q6095XKFtFLy3=GT3AwkPsR-OLeihQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: FailedAssertion("!OidIsValid(def->collOid)", File: "view.c",Line: 89) (Thomas Munro <thomas.munro@gmail.com>) |
Список | 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 по дате отправления: