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