yashmayya opened a new pull request, #15610:
URL: https://github.com/apache/pinot/pull/15610

   - https://github.com/apache/pinot/pull/14614 updated the return type of 
`NOW()` from `LONG` / `BIGINT` to `TIMESTAMP`. This was done in order to allow 
usage of `NOW()` with functions that expect timestamps as operands like 
`TIMESTAMPADD` (since the multi-stage engine is strongly typed and doesn't 
allow these types to be used interchangeably unlike the single-stage engine). 
Also, Postgres' `NOW()` function returns a timestamp type as well and we've 
been aiming to align the MSE behavior with Postgres.
   - However, this was backward incompatible and can break usages that treat 
`NOW()` as a `LONG` like `WHERE longCol >= NOW()` or `SELECT NOW() - 86400000` 
for instance. These can be easily remediated by adding explicit casts, but the 
change is backward incompatible nonetheless.
   - In order to allow for smoother transitions in such scenarios, this patch 
introduces a mechanism wherein we can configure the `PinotOperatorTable` via 
cluster configs without requiring any component restarts. 
   - The `MultiStageBrokerRequestHandler` will react to cluster config changes 
and cache configs that are prefixed with 
`pinot.multistage.engine.operator.table`. These configs will be passed into 
`QueryEnvironment` (instantiated per query) which will use them while 
instantiating `PinotOperatorTable` (we will cache these instances keyed by the 
configuration). `PinotOperatorTable` can then optionally add / remove / change 
Pinot function signatures.
   - This mechanism can be utilized in the future for other similar backward 
incompatible changes that we wish to make.


-- 
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: commits-unsubscr...@pinot.apache.org

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


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

Reply via email to