Skip to content

Support Spark floating point semantics in bound comparisons #10064

Description

@gatesn

Vortex’s existing total ordering distinguishes -0.0 from +0.0 and compares NaNs by their bit patterns. Spark treats signed zeros as equal and all NaNs as equal. Spark currently pushes float and double predicates using Vortex’s existing comparison functions, so a pushed filter can return different rows than Spark evaluation.

Add an explicit comparison mode or separate bound scalar functions for Spark-compatible floating point equality and ordering. Preserve Vortex’s current behavior as the default. Until Spark-compatible operations exist, the Spark connector should decline affected pushdown.

Regression cases should cover =, !=, ranges, and IN with signed zeros and NaNs, including distinct NaN payloads.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA bug issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions