You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Stronchinskiy (JIRA)" <ji...@apache.org> on 2017/04/06 13:05:41 UTC
[jira] [Created] (IGNITE-4926) .NET: Join fails in LINQ when
subquery is using Select clause
Sergey Stronchinskiy created IGNITE-4926:
--------------------------------------------
Summary: .NET: Join fails in LINQ when subquery is using Select clause
Key: IGNITE-4926
URL: https://issues.apache.org/jira/browse/IGNITE-4926
Project: Ignite
Issue Type: Bug
Components: platforms
Reporter: Sergey Stronchinskiy
Priority: Minor
Using {{Join}} with subquery works when subquery does not contain {{Select}} clause:
{code}
var persons = GetPersonCache().AsCacheQueryable().Where(x => x.Key >= 0);
var orgs = GetOrgCache().AsCacheQueryable().Where(x => x.Key > 10);
var res = persons.Join(orgs,
p => p.Value.OrganizationId,
o => o.Value.Id, (p, o) => p)
.Where(x => x.Key >= 0)
.ToList();
{code}
And fails when subquery is using {{Select}}:
{code}
var res = persons
.Join(
orgs.Where(orgEntry => orgEntry.Value.Name == "Org_1")
.Select(orgEntry => orgEntry.Key),
e => e.Value.OrganizationId,
i => i,
(e, i) => e)
.ToList();
{code}
Exception:
{code}
Failed to parse SQL query: select _T0._key, _T0._val from "".Person as _T0 inner join (select _T1._key from "".Organization as _T1 where (_T1._key > ?) and (_T1.Name = ?) ) as _T2 on (_T2._key, _T2._val = _T0.OrganizationId) where (_T0._key >= ?)
Caused by: org.h2.jdbc.JdbcSQLException: Column "_T2._VAL" not found;
{code}
This can be reproduced in {{CacheLinqTest.TestSubqueryJoin}} by adding next:
{code}
var foo = persons
.Join(
orgs.Where(orgEntry => orgEntry.Value.Name == "Org_1")
.Select(orgEntry => orgEntry.Key),
e => e.Value.OrganizationId,
i => i,
(e, i) => e)
.ToArray();
{code}
or
{code}
var foo = orgs
.Where(orgEntry => orgEntry.Value.Name == "Org_1")
.Select(orgEntry => orgEntry.Key);
var bar = persons
.Join(foo, e => e.Value.OrganizationId, i => i, (e, i) => e)
.ToArray();
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)