Re: PoC/WIP: Extended statistics on expressions

From: Noah Misch <noah(at)leadboat(dot)com>
To: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
Cc: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PoC/WIP: Extended statistics on expressions
Date: 2021-06-11 04:55:46
Message-ID: 20210611045546.GA573364@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jun 06, 2021 at 09:13:17PM +0200, Tomas Vondra wrote:
>
> On 6/6/21 7:37 AM, Noah Misch wrote:
> > On Sat, Mar 27, 2021 at 01:17:14AM +0100, Tomas Vondra wrote:
> >> OK, pushed after a bit more polishing and testing.
> >
> > This added a "transformed" field to CreateStatsStmt, but it didn't mention
> > that field in src/backend/nodes. Should those functions handle the field?
> >
>
> Yup, that's a mistake - it should do whatever CREATE INDEX is doing. Not
> sure if it can result in error/failure or just inefficiency (due to
> transforming the expressions repeatedly), but it should do whatever
> CREATE INDEX is doing.
>
> Thanks for noticing! Fixed by d57ecebd12.

Great. For future reference, this didn't need a catversion bump. readfuncs.c
changes need a catversion bump, since the catalogs might contain input for
each read function. Other src/backend/nodes functions don't face that. Also,
src/backend/nodes generally process fields in the order that they appear in
the struct. The order you used in d57ecebd12 is nicer, being more like
IndexStmt, so I'm pushing an order change to the struct.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2021-06-11 05:00:20 Re: libpq debug log
Previous Message Amit Kapila 2021-06-11 04:43:07 Re: Question about StartLogicalReplication() error path