Re: Materialized view assertion failure in HEAD - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: Materialized view assertion failure in HEAD
Date
Msg-id 1363376284.80809.YahooMailNeo@web162902.mail.bf1.yahoo.com
Whole thread Raw
In response to Re: Materialized view assertion failure in HEAD  (Kevin Grittner <kgrittn@ymail.com>)
Responses Re: Materialized view assertion failure in HEAD  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Kevin Grittner <kgrittn@ymail.com> wrote:
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Kevin Grittner <kgrittn@ymail.com> writes:
>>> I failed to touch everything necessary to prevent MVs from
>>> having OIDs.  This patch fixes the reported problem, and
>>> doesn't leave any gaps as far as I know; but I will do
>>> additional review to try to catch any other omissions.  I
>>> figured I should address the reported problem now, though.
>>
>>> Will push later today if there are no objections.
>>
>> I object --- that's not a fix, that's a crude hack.  It should
>> not be necessary to introduce relkind tests there.
>> Determination of whether OIDs exist in the target table should
>> happen well upstream, ie in whatever is constructing the
>> intoClause.  Otherwise we'll be fixing code that examines the
>> intoClause until doomsday.
>
> OK.  I started doing it that way, but saw how much more code was
> changed than this way and gave in to an impulse to do a minimal
> change.  I really need to resist that impulse more....

The presence of default_with_oids and the special-handling of the
oids option via interpretOidsOption() makes it hard to come up with
a solution which would qualify as "elegant".  Here's a rough cut at
an approach which seems best to me.  If this sits well with others
I'll add comments and think about that error message some more.
I'm not entirely sure I like accepting WITH (oids = false) but
throwing an error on WITH (oids = true), but it seems marginally
better than rejecting both.

Comments?

--
Kevin Grittner
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: pg_test_fsync crashes on systems with POSIX signal handling
Next
From: robins
Date:
Subject: Re: Add some regression tests for SEQUENCE