> 
> Hi, Bruce!
> 
> vac=> \d t
> 
> Table    = t
> +----------------------------------+----------------------------------+-------+
> |              Field               |              Type                | Length|
> +----------------------------------+----------------------------------+-------+
> | v                                | varchar()                        |    80 |
> | i                                | int4                             |     4 |
> +----------------------------------+----------------------------------+-------+
> vac=> explain select sum(2+i) from t where 1 > 0;
> ERROR:  replace_result_clause: Can not handle this tlist!
> 
> "where 1 > 0" is also handled by Result node -> something still unfixed here
> (in optimizer). Will you fix this ?
> 
> Vadim
> 

I have decided the whole qry_aggs is bad.  It is bad becuase it makes
multiple copies of Aggreg, and both copies must be processed by any
changes by rewrite and optimizer.  I am removing the field
Query->qry_aggs, and replacing it with a function that will called when
creating the Agg which spins through the Plan target list and returns a
linked list of Agg*.  Much cleaner, and I can remove much of the special
qry_aggs handling I added to get other Agg stuff to work.

Also, this relates to the SubLink change.  I am now going to recommend
not having a separate Sublink pointer list field in Query, but adding a
function that will return a list of valid Sublink entries in from
qry->qual, or maybe even qry->targetlist.




-- 
Bruce Momjian
maillist@candle.pha.pa.us

Wed, 14 Jan 1998 14:58:17 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: Fix for select sum(2+2)...
Bruce Momjian wrote:
> 
> I have decided the whole qry_aggs is bad.  It is bad becuase it makes
> multiple copies of Aggreg, and both copies must be processed by any
> changes by rewrite and optimizer.  I am removing the field
> Query->qry_aggs, and replacing it with a function that will called when
> creating the Agg which spins through the Plan target list and returns a
> linked list of Agg*.  Much cleaner, and I can remove much of the special
> qry_aggs handling I added to get other Agg stuff to work.
> 
> Also, this relates to the SubLink change.  I am now going to recommend
> not having a separate Sublink pointer list field in Query, but adding a
> function that will return a list of valid Sublink entries in from
> qry->qual, or maybe even qry->targetlist.

Agreed. This will also simplify readfuncs.c

Vadim

Thu, 15 Jan 1998 10:57:21 +0700
"Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
Re: Fix for select sum(2+2)...