Repository navigation
[MINOR][PYTHON] Fix wrong expected_type in DataFrame.sort ascending type error - #57522
Closed
nikolauspschuetz wants to merge 1 commit into
Closed
nikolauspschuetz wants to merge 1 commit into
nikolauspschuetz wants to merge 1 commit into
Conversation
nikolauspschuetz
marked this pull request as ready for review
July 25, 2026 19:26
uros-b
approved these changes
Jul 26, 2026
Member
|
Thank you @nikolauspschuetz! |
HyukjinKwon
approved these changes
Jul 26, 2026
Member
|
Merge Summary:
Posted by |
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]>
Member
|
Merge Summary:
Posted by |
Member
|
Backported to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
DataFrame.sort/orderBy/sortWithinPartitionsraiseNOT_EXPECTED_TYPEfor an invalidascendingargument withexpected_type="Column, int or str". Butascendingacceptsbool,int, orlist— neverColumnorstr. 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
ascendingnever accepts (Column,str) and omits the ones it does (bool,list), misleading users about how to fix the call. Theascendingparameter is documented asbool or list.Does this PR introduce any user-facing change?
Yes, the error message changes.
Before:
After:
How was this patch tested?
Added
test_sort_ascending_invalid_typeinpython/pyspark/sql/tests/test_dataframe.pyasserting the correctedexpected_type. Verified against a releasedpysparksession:df.sort("age", ascending="asc")reportsbool, int or listwith the fix (previouslyColumn, int or str); validascendingvalues (False,[True]) are unaffected.Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 4.8)