Re: Identifying no-op length coercions
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Noah Misch <noah@leadboat.com>
Cc: pgsql-hackers@postgresql.org, Robert Haas <robertmhaas@gmail.com>, Alexey Klyukin <alexk@commandprompt.com>
Date: 2011-06-11T19:03:18Z
Lists: pgsql-hackers
Noah Misch <noah@leadboat.com> writes: > Good points. I'm thinking, then, add an Expr argument to simplify_function() > and have the CoerceViaIO branch of eval_const_expressions_mutator() pass NULL > for both its simplify_function() calls. If simplify_function() gets a NULL Expr > for a function that has a protransform, synthesize a FuncExpr based on its other > arguments before calling the transform function. Seem reasonable? Granted, > that would be dead code until someone applies a transform function to a type I/O > function, which could easily never happen. Perhaps just ignore the transform > function when we started with a CoerceViaIO node? Until we actually have a use-case for simplifying I/O functions like this, I can't see going out of our way for it ... regards, tom lane