Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
The AggregateJoinTransposeRule rule often calls the SqlSplittableAggFunction#topSplit method to split the workload of a agg call.
This may involve generating a multiply operator (e.g. see https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/SqlSplittableAggFunction.java#L302)
The problem is that the operands of the multiply can be different. For example, if the original agg call is a sum on double values, here we would multiply a double with a big integer.
This is undesirable, as the SqlStdOperatorTable#MULTIPLY uses InferTypes.FIRST_KNOWN to infer operand types. That is, it assumes all parameters have the same type, and it uses the first known type to infer other operand types.
In our system, it causes the sql processing to crash.
Attachments
Attachments
Issue Links
- links to