Hyukjin Kwon created SPARK-61121:
------------------------------------

             Summary: Take a float frame bound past its threshold as unbounded 
in rowsBetween and rangeBetween, in the Python client as PySpark does
                 Key: SPARK-61121
                 URL: https://issues.apache.org/jira/browse/SPARK-61121
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: Hyukjin Kwon


PySpark's {{WindowSpec.rowsBetween}} and {{rangeBetween}} compare their bounds 
with {{Window._PRECEDING_THRESHOLD}} and {{Window._FOLLOWING_THRESHOLD}} before 
{{WindowFrame}} asserts an int. A start at or below the first is unbounded 
preceding, and an end at or above the second is unbounded following, also for a 
float. So {{w.rowsBetween(float("-inf"), float("inf"))}} is a frame of 
unbounded bounds, as Apache Spark's {{test_window_functions}} uses it.

The Python client raises {{AssertionError}} for any float bound, also an 
infinite one.

The fix is to take a float bound past its threshold as unbounded, as PySpark 
does, and to raise {{AssertionError}} for other floats.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to