Hi,

I was wondering if my understanding about UDFs' annotations in
Calcite is correct. For instance, I notice there is a `@Deterministic`
label to specify a deterministic UDF. Then, relevant query rewrite rules
(e.g., ReduceExpressionsRule) need to check the existence of this label
(e.g., isDeterministic()) in order to decide whether the rule is applicable
(without changing the query semantics).
I do see that is a way to leverage annotations when optimizing queries that
contain UDFs, and it seems to require adding such annotation checks in
almost every query rewrite rules.

Thanks and Regards,
Xinyu

Reply via email to