[
https://issues.apache.org/jira/browse/IGNITE-24699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konstantin Orlov updated IGNITE-24699:
--------------------------------------
Fix Version/s: 3.1
> Sql. Query with ORDER BY returns unsorted result
> ------------------------------------------------
>
> Key: IGNITE-24699
> URL: https://issues.apache.org/jira/browse/IGNITE-24699
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Konstantin Orlov
> Assignee: Konstantin Orlov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.1
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Run this test:
> {code:java}
> // org.apache.ignite.internal.sql.engine.ItSecondaryIndexTest
> @Test
> void ensurePartitionStreamsAreMergedCorrectlyWithRegardToProjection() {
> assertQuery("SELECT /*+ FORCE_INDEX(" + NAME_CITY_IDX + ") */ name FROM
> Developer WHERE id % 2 = 0 ORDER BY name DESC")
> .matches(containsIndexScan("PUBLIC", "DEVELOPER", NAME_CITY_IDX))
> .matches(not(containsSubPlan("Sort")))
> .returns("Zimmer")
> .returns("Stravinsky")
> .returns("Strauss")
> .returns("Shubert")
> .returns("Rihter")
> .returns("Prokofiev")
> .returns("O'Halloran")
> .returns("Einaudi")
> .returns("Chaikovsky")
> .returns("Beethoven")
> .returns("Arnalds")
> .ordered()
> .check();
> } {code}
> It fails with
> {code}
> org.opentest4j.AssertionFailedError: Collections are not equal (position 0):
> Expected: Stravinsky <class java.lang.String>
> Actual: Rihter <class java.lang.String>
> {code}
> The reason is that comparator created to join streams of partition is created
> based on collation returned by relation node, which in turn may be adjusted
> with regard to projection merged into the real, but merge of partition is
> happening before the projection, therefore must account only for
> {{requiredColumns}} bitset.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)