This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 7eaf30f77 [common] Fix overflow problem of NumericToBooleanCastRule
(#4519)
7eaf30f77 is described below
commit 7eaf30f776b9d1573d86a274ac53633d267262af
Author: yuzelin <[email protected]>
AuthorDate: Wed Nov 13 17:02:55 2024 +0800
[common] Fix overflow problem of NumericToBooleanCastRule (#4519)
---
.../main/java/org/apache/paimon/casting/NumericToBooleanCastRule.java | 2 +-
.../src/test/java/org/apache/paimon/flink/SchemaChangeITCase.java | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git
a/paimon-common/src/main/java/org/apache/paimon/casting/NumericToBooleanCastRule.java
b/paimon-common/src/main/java/org/apache/paimon/casting/NumericToBooleanCastRule.java
index 06fa89fe3..5b47741e6 100644
---
a/paimon-common/src/main/java/org/apache/paimon/casting/NumericToBooleanCastRule.java
+++
b/paimon-common/src/main/java/org/apache/paimon/casting/NumericToBooleanCastRule.java
@@ -37,6 +37,6 @@ class NumericToBooleanCastRule extends
AbstractCastRule<Number, Boolean> {
@Override
public CastExecutor<Number, Boolean> create(DataType inputType, DataType
targetType) {
- return value -> value.intValue() != 0;
+ return value -> value.longValue() != 0;
}
}
diff --git
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/SchemaChangeITCase.java
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/SchemaChangeITCase.java
index ba161fe84..a2ef1d5c8 100644
---
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/SchemaChangeITCase.java
+++
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/SchemaChangeITCase.java
@@ -251,7 +251,8 @@ public class SchemaChangeITCase extends CatalogITCaseBase {
public void testModifyColumnTypeBooleanAndNumeric() {
// boolean To numeric and numeric To boolean
sql("CREATE TABLE T (a BOOLEAN, b BOOLEAN, c TINYINT, d INT, e BIGINT,
f DOUBLE)");
- sql("INSERT INTO T VALUES(true, false, cast(0 as TINYINT), 1 , 123,
3.14)");
+ sql(
+ "INSERT INTO T VALUES(true, false, cast(0 as TINYINT), 1 ,
-9223372036854775808, 3.14)");
sql("ALTER TABLE T MODIFY (a TINYINT, b INT, c BOOLEAN, d BOOLEAN, e
BOOLEAN)");
List<Row> result = sql("SHOW CREATE TABLE T");