Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function
Date: 2012-03-23 16:52:31
Message-ID: 15020.1332521551@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Noah Misch <noah(at)leadboat(dot)com> writes:
> On Fri, Mar 23, 2012 at 11:31:54AM -0400, Tom Lane wrote:
>> ... I've not looked
>> yet at the existing transform functions, but why would they want to know
>> about the original node at all?

> You suggested[1] passing an Expr instead of an argument list, and your reasons
> still seem good to me. That said, perhaps we should send both the original
> Expr and the simplified argument list. That will help if we ever want to
> fully simplify x - y * 0. (Then again, the feature is undocumented and we
> could change it when that day comes.)

I believe what I had in mind back then was that we'd build a new FuncExpr
containing the simplified argument list. On reflection that's probably
the most future-proof way to do it, since otherwise anytime we change
the contents of FuncExpr, we'll be faced with possibly having to change
the signature of protransform functions.

Will go see what I can do with that.

regards, tom lane

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2012-03-23 21:30:19 pgsql: Code review for protransform patches.
Previous Message Tom Lane 2012-03-23 16:27:37 Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2012-03-23 17:03:48 Re: query cache
Previous Message Robert Haas 2012-03-23 16:49:38 Re: Reporting WAL file containing checkpoint's REDO record in pg_controldata's result