alamb commented on issue #15524:
URL: https://github.com/apache/datafusion/issues/15524#issuecomment-2779054513

   So in my opinion before we get too fancy we should figure out what 
optimizaton we are really trying to do
   
   I understand it may be possible to do a more general rewrite such as 
@berkaysynnada  suggests above 
https://github.com/apache/datafusion/issues/15524#issuecomment-2771901348
   
   However, I think it would help to have an actual usecase / real query.
   
   The only usecase I know of is the click bench query
   ```sql
   SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 
2), SUM(ResolutionWidth + 3), SUM(ResolutionWidth + 4), SUM(ResolutionWidth + 
5), SUM(ResolutionWidth + 6), SUM(ResolutionWidth + 7), SUM(ResolutionWidth + 
8), SUM(ResolutionWidth + 9), SUM(ResolutionWidth + 10), SUM(ResolutionWidth + 
11), SUM(ResolutionWidth + 12), SUM(ResolutionWidth + 13), SUM(ResolutionWidth 
+ 14), SUM(ResolutionWidth + 15), SUM(ResolutionWidth + 16), 
SUM(ResolutionWidth + 17), SUM(ResolutionWidth + 18), SUM(ResolutionWidth + 
19), SUM(ResolutionWidth + 20), SUM(ResolutionWidth + 21), SUM(ResolutionWidth 
+ 22), SUM(ResolutionWidth + 23), SUM(ResolutionWidth + 24), 
SUM(ResolutionWidth + 25), SUM(ResolutionWidth + 26), SUM(ResolutionWidth + 
27), SUM(ResolutionWidth + 28), SUM(ResolutionWidth + 29), SUM(ResolutionWidth 
+ 30), SUM(ResolutionWidth + 31), SUM(ResolutionWidth + 32), 
SUM(ResolutionWidth + 33), SUM(ResolutionWidth + 34), SUM(ResolutionWidth + 
35), SUM(ResolutionWidth + 36), SUM
 (ResolutionWidth + 37), SUM(ResolutionWidth + 38), SUM(ResolutionWidth + 39), 
SUM(ResolutionWidth + 40), SUM(ResolutionWidth + 41), SUM(ResolutionWidth + 
42), SUM(ResolutionWidth + 43), SUM(ResolutionWidth + 44), SUM(ResolutionWidth 
+ 45), SUM(ResolutionWidth + 46), SUM(ResolutionWidth + 47), 
SUM(ResolutionWidth + 48), SUM(ResolutionWidth + 49), SUM(ResolutionWidth + 
50), SUM(ResolutionWidth + 51), SUM(ResolutionWidth + 52), SUM(ResolutionWidth 
+ 53), SUM(ResolutionWidth + 54), SUM(ResolutionWidth + 55), 
SUM(ResolutionWidth + 56), SUM(ResolutionWidth + 57), SUM(ResolutionWidth + 
58), SUM(ResolutionWidth + 59), SUM(ResolutionWidth + 60), SUM(ResolutionWidth 
+ 61), SUM(ResolutionWidth + 62), SUM(ResolutionWidth + 63), 
SUM(ResolutionWidth + 64), SUM(ResolutionWidth + 65), SUM(ResolutionWidth + 
66), SUM(ResolutionWidth + 67), SUM(ResolutionWidth + 68), SUM(ResolutionWidth 
+ 69), SUM(ResolutionWidth + 70), SUM(ResolutionWidth + 71), 
SUM(ResolutionWidth + 72), SUM(ResolutionWidth + 73), S
 UM(ResolutionWidth + 74), SUM(ResolutionWidth + 75), SUM(ResolutionWidth + 
76), SUM(ResolutionWidth + 77), SUM(ResolutionWidth + 78), SUM(ResolutionWidth 
+ 79), SUM(ResolutionWidth + 80), SUM(ResolutionWidth + 81), 
SUM(ResolutionWidth + 82), SUM(ResolutionWidth + 83), SUM(ResolutionWidth + 
84), SUM(ResolutionWidth + 85), SUM(ResolutionWidth + 86), SUM(ResolutionWidth 
+ 87), SUM(ResolutionWidth + 88), SUM(ResolutionWidth + 89) FROM hits;
   ```
   
   I have never seen such a query elsewhere and I would struggle to explain to 
someone in human language what that was calculating and why it was written that 
way
   
   Thus for this one, I would personally suggest either:
   1. just following the Duck and make a benchmark specific optimization (and 
don't try to handle any other cases)
   2. take the high road and say we aren't going to benchmaxx 
   
   Alternately we can spend some time trying to do something more general, but 
I probably don't have much time to help here as I don't think it will be widely 
applicable


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to