Re: mat views stats

Jim Mlodgenski <jimmy76@gmail.com>

From: Jim Mlodgenski <jimmy76@gmail.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Jim Nasby <Jim.Nasby@bluetreble.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, PgHacker <pgsql-hackers@postgresql.org>
Date: 2017-03-05T02:05:58Z
Lists: pgsql-hackers

Attachments

On Wed, Mar 1, 2017 at 8:39 PM, Michael Paquier <michael.paquier@gmail.com>
wrote:

> On Thu, Mar 2, 2017 at 7:20 AM, Jim Mlodgenski <jimmy76@gmail.com> wrote:
> >
> >
> > On Sun, Feb 26, 2017 at 11:49 AM, Robert Haas <robertmhaas@gmail.com>
> wrote:
> >>
> >> On Wed, Feb 22, 2017 at 11:13 AM, Jim Nasby <Jim.Nasby@bluetreble.com>
> >> wrote:
> >> > Certainly easier, but I don't think it'd be better. Matviews really
> >> > aren't
> >> > the same thing as tables. Off-hand (without reviewing the patch),
> update
> >> > and
> >> > delete counts certainly wouldn't make any sense. "Insert" counts
> might,
> >> > in
> >> > as much as it's how many rows have been added by refreshes. You'd
> want a
> >> > refresh count too.
> >>
> >> Regular REFRESH truncates the view and repopulates it, but REFRESH
> >> CONCURRENTLY does inserts, updates, and deletes as needed to adjust
> >> the contrs that make sense for
> >> regular tables are also sensible here.
> >>
> >
> > After digging into things further, just making refresh report the stats
> for
> > what is it basically doing simplifies and solves it and it is something
> we
> > can back patch if that the consensus. See the attached patch.
>
> This is unhappy:
> $ git diff master --check
> src/backend/commands/matview.c:155: indent with spaces.
> +        uint64          processed = 0;
>
> +                /*
> +                 * Send the stats to mimic what we are essentially doing.
> +                 * A truncate and insert
> +                 */
> This sentence is unfinished.
>
> There is also no need to report the number of inserts if WITH NO DATA is
> used.
>


Here is the cleaned up patch

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix REFRESH MATERIALIZED VIEW to report activity to the stats collector.