On Fri, Oct 18, 2024 at 12:44 PM jian he <jian.universality@gmail.com> wrote:
> 1. root->parse->resultRelation > 0
> just be 100% sure we are only dealing with SELECT, or we can add
> Assert at the end of setup_eager_aggregation.
Can GROUP BY clauses be used in INSERT/UPDATE/DELETE/MERGE statements?
If not, I think there is no need to check 'resultRelation > 0', as
setup_eager_aggregation already checks for GROUP BY clauses.
> 2. join type is FULL JOIN, (i am not sure about other Semijoins and
> anti-semijoins types).
The presence of a FULL JOIN does not preclude the use of eager
aggregation. We still can push a partial aggregation down to a level
that is above the FULL JOIN.
> 3. root->parse->windowClause != NIL
Why does the presence of windowClause prevent the use of eager
aggregation?
> lack doc entry in doc/src/sgml/config.sgml
> we can put after varlistentry enable_bitmapscan
> we can at least mention that
> enable_eager_aggregate, The default value is <literal>off</literal>.
Yeah, that's what I need to do.
Thanks
Richard