Skip to content

panic: nth_value window function negates i64::MIN #22222

@Dandandan

Description

@Dandandan

Describe the bug

nth_value panics during execution when given i64::MIN as the n argument. The evaluator negates negative n values for reverse indexing.

To Reproduce

SELECT nth_value(x, -9223372036854775808) OVER (ORDER BY x)
FROM (VALUES (1)) AS t(x);

Actual behavior

thread 'main' panicked at datafusion/functions-window/src/nth_value.rs:417:45:
attempt to negate with overflow

Expected behavior

Return an execution error for an invalid n value, not a panic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions