Skip to content

Fail analysis if window function uses partitioning on non orderable column#28355

Open
losipiuk wants to merge 1 commit intotrinodb:masterfrom
losipiuk:lukaszos/fail-analysis-if-window-function-1232a4
Open

Fail analysis if window function uses partitioning on non orderable column#28355
losipiuk wants to merge 1 commit intotrinodb:masterfrom
losipiuk:lukaszos/fail-analysis-if-window-function-1232a4

Conversation

@losipiuk
Copy link
Member

Currently execution requires symbols used for window function partitioning to be orderable (not just comparable). We use PagesIndex and iterating over it in order to determine partition boundaries.

This commit fixes logic of determining invalid queries.

Regarding release notes: I do not think those are required - given the queries failed also previously and we just improve user experience making failure more understandable.

Release notes

(x) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
( ) Release notes are required, with the following suggested text:

@cla-bot cla-bot bot added the cla-signed label Feb 18, 2026
@losipiuk losipiuk requested review from findepi and kasiafi February 18, 2026 13:21
Comment on lines +286 to +288
assertFails("SELECT row_number() OVER (PARTITION BY t.x) FROM (VALUES(MAP(ARRAY['key1', 'key2', 'key3' ], ARRAY[2373, 3463, 45837])) )AS t(x)")
.hasErrorCode(TYPE_MISMATCH)
.hasMessage("line 1:40: map(varchar(4), integer) is not orderable, and therefore cannot be used in window function PARTITION BY");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was the failure before the fix?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no failure in alaysis. We got com.google.common.util.concurrent.UncheckedExecutionException: java.lang.UnsupportedOperationException: map(varchar, varchar) is not orderable code: 65536, name: GENERIC_INTERNAL_ERROR at runtime

…olumn

Currently execution requires symbols used for window function
partitioning to be orderable (not just comparable). We use PagesIndex
and iterating over it in order to determine partition boundaries.

This commit fixes logic of determining invalid queries.
@losipiuk losipiuk force-pushed the lukaszos/fail-analysis-if-window-function-1232a4 branch from 839491b to 7d11364 Compare February 18, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants

Comments