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

From Noah Misch
Subject Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function
Date
Msg-id 20120323153147.GA1803@tornado.leadboat.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, Mar 23, 2012 at 10:55:52AM -0400, Tom Lane wrote:
> Robert Haas <rhaas@postgresql.org> writes:
> > Add notion of a "transform function" that can simplify function calls.
> 
> Why exactly was this thought to be a good idea:
> 
> > * A NULL original expression disables use of transform functions while
> > * retaining all other behaviors.

We last spoke of that idea here, albeit in minimal detail:
http://archives.postgresql.org/pgsql-hackers/2011-06/msg00918.php

> AFAICT that buys nothing except to greatly complicate the API
> specification for simplify_function, something that is now proving
> problematic for Marti's requested refactoring [1].  If it's
> inappropriate for a transform function to modify a CoerceViaIO call,
> surely the transform function can be expected to know that.

I did it that way because it looked wrong to pass the same CoerceViaIO node to
transforms of both the input and output functions.  Thinking about it again
now, doing so imposes no fundamental problems.  Feel welcome to change it.


pgsql-hackers by date:

Previous
From: Billy Earney
Date:
Subject: query cache
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Add notion of a "transform function" that can simplify function