superdiaodiao commented on code in PR #34391:
URL: https://github.com/apache/doris/pull/34391#discussion_r1590292952
##########
be/src/vec/functions/round.h:
##########
@@ -696,49 +679,236 @@ class FunctionRounding : public IFunction {
return Status::OK();
}
- ColumnNumbers get_arguments_that_are_always_constant() const override {
return {1}; }
+ ColumnNumbers get_arguments_that_are_always_constant() const override {
return {}; }
+ // SELECT number, func(123.345, 1) FROM numbers("number"="10")
+ // should NOT behave like two column arguments, so we can not use const
column default implementation
+ bool use_default_implementation_for_constants() const override { return
false; }
Review Comment:
This part tries to keep the same with truncate's behavior from
[PR#32746.](https://github.com/apache/doris/pull/32746) Specifically, it said
that:
> Function truncate can use column as its scale argument. The precision
infer rule of truncate is same with mysql:
>
> When using literal as scale, result scale is dependent on the integer
literal;
> When using column as scale, result will always have same scale with input
decimal.
--
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]