Re: MAINTAIN privilege -- what do we need to un-revert it?

From: Yugo NAGATA <nagata(at)sraoss(dot)co(dot)jp>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Noah Misch <noah(at)leadboat(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Nathan Bossart <nathandbossart(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Joe Conway <mail(at)joeconway(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: MAINTAIN privilege -- what do we need to un-revert it?
Date: 2024-08-02 07:13:01
Message-ID: 20240802161301.d975daca9ba7a706fa05ecd7@sraoss.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 01 Aug 2024 11:31:53 -0700
Jeff Davis <pgsql(at)j-davis(dot)com> wrote:

> On Wed, 2024-07-31 at 18:20 +0900, Yugo NAGATA wrote:
> > I agree that it might not be important, but I think adding the flag
> > would be
> > also helpful for improving code-readability because it clarify the
> > function
> > is used in the two cases. I attached patch for this fix (patch 0003).
>
> Committed with one minor modification: I moved the boolean flag to be
> near the other booleans rather than at the end. Thank you.
>
> > Sure. I fixed the patch to remove 'param' from both functions. (patch
> > 0002)
>
> Committed, thank you.

Thank you for committing them.
Should not they be backported to REL_17_STABLE?

>
> > I also add the small refactoring around ExecCreateTableAs(). (patch
> > 0001)
> >
> > - Remove matview-related codes from intorel_startup.
> >   Materialized views are no longer handled in this function.
> >
> > - RefreshMatViewByOid is moved to just after create_ctas_nodata
> >   call to improve code readability.
> >
>
> I'm not sure the changes in intorel_startup() are correct. I tried
> adding an Assert(into->viewQuery == NULL), and it fails because there's
> another path I did not consider: "EXPLAIN ANALYZE CREATE MATERIALIZED
> VIEW ...", which does not go through ExecCreateTableAs() but does go
> through CreateIntoRelDestReceiver().
>
> See:
>
> https://postgr.es/m/20444c382e6cb5e21e93c94d679d0198b0dba4dd.camel@j-davis.com
>
> Should we refactor a bit and try to make EXPLAIN use the same code
> paths?

I overlooked that CreateIntoRelDestReceiver() is used from EXPLAIN. I saw the
thread above and I agree that we should refactor it to make EXPLAIN consistent
CREATE MATERIALIZED VIEW, but I suppose this should be discussed the other thread.

I attached a updated patch removed the intorel_startup() part from.

Regards,
Yugo Nagata

--
Yugo NAGATA <nagata(at)sraoss(dot)co(dot)jp>

Attachment Content-Type Size
v3-0001-Small-refactoring-around-ExecCreateTableAs.patch text/x-diff 2.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2024-08-02 07:25:07 Re: Adding OLD/NEW support to RETURNING
Previous Message Stefan Fercot 2024-08-02 06:47:02 Re: Recovery of .partial WAL segments