diff --git a/core/src/main/java/org/apache/calcite/sql/SqlDialect.java b/core/src/main/java/org/apache/calcite/sql/SqlDialect.java index 81f783db978c..cf7a100bf712 100644 --- a/core/src/main/java/org/apache/calcite/sql/SqlDialect.java +++ b/core/src/main/java/org/apache/calcite/sql/SqlDialect.java @@ -478,6 +478,11 @@ public void unparseDateTimeLiteral(SqlWriter writer, writer.literal(literal.toString()); } + public void unparseNumericLiteral(SqlWriter writer, + String value, int leftPrec, int rightPrec) { + writer.literal(value); + } + public void unparseSqlDatetimeArithmetic(SqlWriter writer, SqlCall call, SqlKind sqlKind, int leftPrec, int rightPrec) { final SqlWriter.Frame frame = writer.startList("(", ")"); diff --git a/core/src/main/java/org/apache/calcite/sql/SqlNumericLiteral.java b/core/src/main/java/org/apache/calcite/sql/SqlNumericLiteral.java index bcb5064a183b..29572c136079 100644 --- a/core/src/main/java/org/apache/calcite/sql/SqlNumericLiteral.java +++ b/core/src/main/java/org/apache/calcite/sql/SqlNumericLiteral.java @@ -84,7 +84,7 @@ public boolean isExact() { SqlWriter writer, int leftPrec, int rightPrec) { - writer.literal(toValue()); + writer.getDialect().unparseNumericLiteral(writer, toValue(), leftPrec, rightPrec); } @Override public String toValue() {