[
https://issues.apache.org/jira/browse/IGNITE-11839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Kondakov updated IGNITE-11839:
------------------------------------
Description:
Under some circumstances table join order changes may lead to incorrect result.
For example if one of joining tables is {{REPLICATED}} and another has
{{queryparallelism > 1}}.
This problem can be reproduced in test
{{IgniteSqlSegmentedIndexSelfTest#testSegmentedPartitionedWithReplicated}} if
swap tables {{Person}} and {{Organization}} in the method
{{IgniteSqlSegmentedIndexSelfTest#checkLocalQueryWithSegmentedIndex}} and set
{{enforceJoinOrder}} flag to {{true}}:
{code:java}
String select0 = "select o.name n1, p.name n2 from \"org\".Organization o,
\"pers\".Person p where p.orgId = o._key";
List<List<?>> res = c1.query(new
SqlFieldsQuery(select0).setLocal(true).setEnforceJoinOrder(true)).getAll();
{code}
was:
Under some circumstances table join order changes may lead to incorrect result.
For example if one of joining tables is {{REPLICATED}} and another has
{{queryparallelism > 1}}.
This problem can be reproduced in test
{{IgniteSqlSegmentedIndexSelfTest#testSegmentedPartitionedWithReplicated}} if
swap tables {{Person}} and {{Organization}} in the method
{{IgniteSqlSegmentedIndexSelfTest#checkLocalQueryWithSegmentedIndex}} and set
{{enforceJoinOrder}} flag to {{true}}.
> SQL: table join order changes may lead to incorrect result
> ----------------------------------------------------------
>
> Key: IGNITE-11839
> URL: https://issues.apache.org/jira/browse/IGNITE-11839
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Affects Versions: 2.7
> Reporter: Roman Kondakov
> Priority: Major
> Fix For: 2.8
>
>
> Under some circumstances table join order changes may lead to incorrect
> result. For example if one of joining tables is {{REPLICATED}} and another
> has {{queryparallelism > 1}}.
> This problem can be reproduced in test
> {{IgniteSqlSegmentedIndexSelfTest#testSegmentedPartitionedWithReplicated}} if
> swap tables {{Person}} and {{Organization}} in the method
> {{IgniteSqlSegmentedIndexSelfTest#checkLocalQueryWithSegmentedIndex}} and set
> {{enforceJoinOrder}} flag to {{true}}:
> {code:java}
> String select0 = "select o.name n1, p.name n2 from \"org\".Organization o,
> \"pers\".Person p where p.orgId = o._key";
> List<List<?>> res = c1.query(new
> SqlFieldsQuery(select0).setLocal(true).setEnforceJoinOrder(true)).getAll();
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)