> > On Wed, Sep 19, 2012 at 11:15 PM, David Johnston <polobo@xxxxxxxxx> > wrote: > > I could maybe see something like the following having some value: > > > > SELECT inverse > > FROM data > > WHERE x<>0 AND inverse > .5 > > MACRO inverse (1/x) > > > > WITH macros AS (SELECT *,1/x AS inverse FROM data) SELECT inverse FROM > macros WHERE x<>0 AND inverse > .5 > In your example the "macro" has to either be attached directly to the FROM or be used as part of a sub-select; it is not a text substitution macro at all. The pre-processor upon encountering a macro, would simply replace all identifiers (at the same level in the query) with "(expression)". David J. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general