Skip to content

[MINOR][PYTHON] Fix wrong expected_type in DataFrame.sort ascending type error - #57522

Closed
nikolauspschuetz wants to merge 1 commit into
apache:masterfrom
nikolauspschuetz:minor-sort-ascending-expected-type
Closed

nikolauspschuetz wants to merge 1 commit into
apache:masterfrom
nikolauspschuetz:minor-sort-ascending-expected-type

Conversation

@nikolauspschuetz

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

DataFrame.sort / orderBy / sortWithinPartitions raise NOT_EXPECTED_TYPE for an invalid ascending argument with expected_type = "Column, int or str". But ascending accepts bool, int, or list — never Column or str. The literal was copied from the column-argument error a few lines above in _preapare_cols_for_sort. This corrects it to "bool, int or list".

Why are the changes needed?

The message names types ascending never accepts (Column, str) and omits the ones it does (bool, list), misleading users about how to fix the call. The ascending parameter is documented as bool or list.

Does this PR introduce any user-facing change?

Yes, the error message changes.

Before:

[NOT_EXPECTED_TYPE] Argument `ascending` should be Column, int or str, got str.

After:

[NOT_EXPECTED_TYPE] Argument `ascending` should be bool, int or list, got str.

How was this patch tested?

Added test_sort_ascending_invalid_type in python/pyspark/sql/tests/test_dataframe.py asserting the corrected expected_type. Verified against a released pyspark session: df.sort("age", ascending="asc") reports bool, int or list with the fix (previously Column, int or str); valid ascending values (False, [True]) are unaffected.

Was this patch authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.8)

@nikolauspschuetz
nikolauspschuetz marked this pull request as ready for review July 25, 2026 19:26
@uros-b

uros-b commented Jul 26, 2026

Copy link
Copy Markdown
Member

Thank you @nikolauspschuetz!

@uros-b uros-b closed this in 1222a59 Aug 2, 2026
@uros-b

uros-b commented Aug 2, 2026

Copy link
Copy Markdown
Member

Merge Summary:

Posted by merge_spark_pr.py

@cloud-fan

Copy link
Copy Markdown
Contributor

why this is master branch only?

uros-b pushed a commit that referenced this pull request Aug 13, 2026
…ype error

### What changes were proposed in this pull request?

`DataFrame.sort` / `orderBy` / `sortWithinPartitions` raise `NOT_EXPECTED_TYPE` for an invalid `ascending` argument with `expected_type` = `"Column, int or str"`. But `ascending` accepts `bool`, `int`, or `list` — never `Column` or `str`. The literal was copied from the column-argument error a few lines above in `_preapare_cols_for_sort`. This corrects it to `"bool, int or list"`.

### Why are the changes needed?

The message names types `ascending` never accepts (`Column`, `str`) and omits the ones it does (`bool`, `list`), misleading users about how to fix the call. The `ascending` parameter is documented as `bool or list`.

### Does this PR introduce _any_ user-facing change?

Yes, the error message changes.

Before:
```
[NOT_EXPECTED_TYPE] Argument `ascending` should be Column, int or str, got str.
```
After:
```
[NOT_EXPECTED_TYPE] Argument `ascending` should be bool, int or list, got str.
```

### How was this patch tested?

Added `test_sort_ascending_invalid_type` in `python/pyspark/sql/tests/test_dataframe.py` asserting the corrected `expected_type`. Verified against a released `pyspark` session: `df.sort("age", ascending="asc")` reports `bool, int or list` with the fix (previously `Column, int or str`); valid `ascending` values (`False`, `[True]`) are unaffected.

### Was this patch authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.8)

Closes #57522 from nikolauspschuetz/minor-sort-ascending-expected-type.

Authored-by: Nikolaus Schuetz <[email protected]>
Signed-off-by: Uros Bojanic <[email protected]>
(cherry picked from commit 1222a59)
Signed-off-by: Uros Bojanic <[email protected]>
@uros-b

uros-b commented Aug 13, 2026

Copy link
Copy Markdown
Member

Merge Summary:

Posted by merge_spark_pr.py

@uros-b

uros-b commented Aug 13, 2026

Copy link
Copy Markdown
Member

Backported to branch-4.x as well, according to #57519 (comment).

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants