Skip to content

Commit d773a6e

Browse files
nokiaMSgithubgxll
authored andcommitted
[feat][calcite] Decimal pushdown - fix scale.
1 parent d1b0eeb commit d773a6e

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

core/src/main/java/org/apache/calcite/sql/type/SqlReturnTypeInferenceChain.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.calcite.sql.type;
1818

1919
import org.apache.calcite.rel.type.RelDataType;
20+
import org.apache.calcite.sql.SqlKind;
2021
import org.apache.calcite.sql.SqlOperatorBinding;
2122

2223
import com.google.common.base.Preconditions;
@@ -54,6 +55,14 @@ public class SqlReturnTypeInferenceChain implements SqlReturnTypeInference {
5455
for (SqlReturnTypeInference rule : rules) {
5556
RelDataType ret = rule.inferReturnType(opBinding);
5657
if (ret != null) {
58+
if (opBinding.getOperator().getKind() == SqlKind.DIVIDE &&
59+
SqlTypeName.DECIMAL.equals(ret.getSqlTypeName())) {
60+
return opBinding.getTypeFactory().
61+
createSqlType(
62+
SqlTypeName.DECIMAL,
63+
ret.getPrecision(),
64+
8);
65+
}
5766
return ret;
5867
}
5968
}

0 commit comments

Comments
 (0)