Re: Fix for select sum(2+2)...
От | Bruce Momjian |
---|---|
Тема | Re: Fix for select sum(2+2)... |
Дата | |
Msg-id | 199801141958.OAA04562@candle.pha.pa.us обсуждение исходный текст |
Список | pgsql-hackers |
> > 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
В списке pgsql-hackers по дате отправления: