This is an automated email from the ASF dual-hosted git repository.

changchen pushed a commit to branch feature/ansi-ci-baseline
in repository https://gitbox.apache.org/repos/asf/gluten.git

commit 41e8943c35800f9193e9f75b66ac0af4300aaf45
Author: Chang chen <[email protected]>
AuthorDate: Mon Apr 13 07:01:41 2026 +0000

    [GLUTEN-10134][VL] Re-enable 7 TryCastSuite excludes verified passing in 
both ANSI on/off modes
    
    Remove 7 TryCastSuite excludes that are now passing:
    - ANSI cast out-of-range: byte, short, int (TRY mode correctly returns NULL)
    - Process Infinity case insensitive (+inf now supported in folly)
    - cast from invalid string to numeric (TRY mode returns NULL)
    - SPARK-26218 float to Integer corner case (boundary handling fixed)
    - SPARK-39749 cast Decimal to string (velox#14910 merged)
    
    Remaining exclude: long out-of-range (float→int64 boundary returns null 
instead of Long.MaxValue)
    Updated CastWithAnsiOffSuite SPARK-39749 comment to reflect actual root 
cause.
    
    Co-Authored-By: Claude Opus 4 <[email protected]>
---
 .../org/apache/gluten/utils/velox/VeloxTestSettings.scala   | 13 ++-----------
 .../org/apache/gluten/utils/velox/VeloxTestSettings.scala   | 13 ++-----------
 2 files changed, 4 insertions(+), 22 deletions(-)

diff --git 
a/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
 
b/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
index d5ce4c8f22..7f734b5820 100644
--- 
a/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
+++ 
b/gluten-ut/spark40/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
@@ -105,25 +105,16 @@ class VeloxTestSettings extends BackendTestSettings {
     .exclude("data type casting") // Rewrite for Gluten: sync session timezone 
with per-expression
     .exclude("cast string to timestamp") // Rewrite for Gluten: sync session 
timezone
     .exclude("cast from timestamp II") // Rewrite: skip Long.MinValue (collect 
rebase overflow)
-    // TODO: fix after https://github.com/facebookincubator/velox/pull/14910
+    // Velox returns plain string "0.000000123" while LEGACY mode expects 
scientific notation "1.23E-7"
     .exclude("SPARK-39749: cast Decimal to string")
   enableSuite[GlutenTryCastSuite]
-    .exclude(
-      "Process Infinity, -Infinity, NaN in case insensitive manner" // +inf 
not supported in folly.
-    )
     .exclude("cast from timestamp II") // Rewrite test for Gluten not 
supported with ANSI mode
-    .exclude("ANSI mode: Throw exception on casting out-of-range value to byte 
type")
-    .exclude("ANSI mode: Throw exception on casting out-of-range value to 
short type")
-    .exclude("ANSI mode: Throw exception on casting out-of-range value to int 
type")
+    // Velox try_cast(float→long) returns null for boundary values near 
Long.MaxValue/MinValue
     .exclude("ANSI mode: Throw exception on casting out-of-range value to long 
type")
-    .exclude("cast from invalid string to numeric should throw 
NumberFormatException")
-    .exclude("SPARK-26218: Fix the corner case of codegen when casting float 
to Integer")
     // Set timezone through config.
     .exclude("data type casting")
     // Revised by setting timezone through config and commented unsupported 
cases.
     .exclude("cast string to timestamp")
-    // TODO: fix after https://github.com/facebookincubator/velox/pull/14910
-    .exclude("SPARK-39749: cast Decimal to string")
   enableSuite[GlutenCollectionExpressionsSuite]
     // Rewrite in Gluten to replace Seq with Array
     .exclude("Shuffle")
diff --git 
a/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
 
b/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
index 78cade04bf..312263f9f1 100644
--- 
a/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
+++ 
b/gluten-ut/spark41/src/test/scala/org/apache/gluten/utils/velox/VeloxTestSettings.scala
@@ -110,25 +110,16 @@ class VeloxTestSettings extends BackendTestSettings {
     .exclude("data type casting") // Rewrite for Gluten: sync session timezone 
with per-expression
     .exclude("cast string to timestamp") // Rewrite for Gluten: sync session 
timezone
     .exclude("cast from timestamp II") // Rewrite: skip Long.MinValue (collect 
rebase overflow)
-    // TODO: fix after https://github.com/facebookincubator/velox/pull/14910
+    // Velox returns plain string "0.000000123" while LEGACY mode expects 
scientific notation "1.23E-7"
     .exclude("SPARK-39749: cast Decimal to string")
   enableSuite[GlutenTryCastSuite]
-    .exclude(
-      "Process Infinity, -Infinity, NaN in case insensitive manner" // +inf 
not supported in folly.
-    )
     .exclude("cast from timestamp II") // Rewrite test for Gluten not 
supported with ANSI mode
-    .exclude("ANSI mode: Throw exception on casting out-of-range value to byte 
type")
-    .exclude("ANSI mode: Throw exception on casting out-of-range value to 
short type")
-    .exclude("ANSI mode: Throw exception on casting out-of-range value to int 
type")
+    // Velox try_cast(float→long) returns null for boundary values near 
Long.MaxValue/MinValue
     .exclude("ANSI mode: Throw exception on casting out-of-range value to long 
type")
-    .exclude("cast from invalid string to numeric should throw 
NumberFormatException")
-    .exclude("SPARK-26218: Fix the corner case of codegen when casting float 
to Integer")
     // Set timezone through config.
     .exclude("data type casting")
     // Revised by setting timezone through config and commented unsupported 
cases.
     .exclude("cast string to timestamp")
-    // TODO: fix after https://github.com/facebookincubator/velox/pull/14910
-    .exclude("SPARK-39749: cast Decimal to string")
   enableSuite[GlutenCollectionExpressionsSuite]
     // Rewrite in Gluten to replace Seq with Array
     .exclude("Shuffle")


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to