gortiz commented on PR #19552:
URL: https://github.com/apache/pinot/pull/19552#issuecomment-6086855855

   @xiangfu0 I changed the design after your approval, so could you take 
another look?
   
   The PR no longer folds `generateArray` at the broker, in either engine. 
Folding put the whole sequence, up to 100,000 elements, into the plan that the 
broker sends to every server, while the servers only need the three arguments 
to generate it. The function now registers as not deterministic, but its 
volatility stays `IMMUTABLE`, so ingestion transforms still accept it. A 
consequence is that bad arguments fail at execution time again instead of at 
planning time, as on master.
   
   Since an MSE leaf stage evaluates the call through 
`GenerateArrayTransformFunction`, the transform now picks the widest argument 
type, the same rule as the scalar function. In SSE this means mixed and 
`BIG_DECIMAL` arguments now work instead of failing. `FLOAT` arguments now 
return a `REAL` array.
   
   I also went back to master's length formula for floating point sequences. 
The `floor` version dropped the end of `0.1..0.3 by 0.1`, which broke 
`ArrayTest` in CI. Master's formula still fails for some decimal steps, so I 
opened #19814 for that. I opened #19815 for the per-row evaluation that MSE now 
does when the call runs in an intermediate stage.
   
   The new changes are all in 7e7e5aee83, and the PR description is updated.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to