Re: Fix for select sum(2+2)...
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
Import Notes
Reply to msg id not found: 34BCAC55.F039D153@sable.krasnoyarsk.su
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