On Mon, Sep 18, 2017 at 3:30 AM, Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> wrote: >> testing with sqlsmith shows that the following assertion in this commit >> doesn't hold: >> >> TRAP: FailedAssertion("!(((brel)->reloptkind == RELOPT_BASEREL || >> (brel)->reloptkind == RELOPT_OTHER_MEMBER_REL))", File: "initsplan.c", Line: >> 647) >> >> One of the simpler queries that triggers it for me: >> >> select from information_schema.user_mapping_options; > > Thanks Andreas for the report. Sorry for the assertion failure. > > PFA patch to fix the assertion failure. > > The assertion assumed that all relations in simple_rel_array[] were > either "base" relations or "other" relations. This isn't true. The > array can contain "dead" relations as well. I have removed the > assertion and instead fixed the code to skip anything which is not > "base" or "other member rel". > > I have also added a test to cover dead relations and lateral > references in join.sql.
Committed. Thanks. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers