Thread
-
Re: Fix for select sum(2+2)...
Bruce Momjian <maillist@candle.pha.pa.us> — 1998-01-14T19:58:17Z
> > 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
-
Re: Fix for select sum(2+2)...
Vadim B. Mikheev <vadim@sable.krasnoyarsk.su> — 1998-01-15T03:57:21Z
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