Hi All,
I am using Apache Ignite DotNet client Server application v2.7.6.
I have two caches And each having separate model
class(SECURITYGROUPS,TASKS_TASKS) and separate cache group name.
here is the both cache name
1."F2DEDF6E-393E-42BC-9BB3-E835A1063B30_6EFB69B0-269F-4F92-98CF-24BC0D34BA98_TASKS"
2."F2DEDF6E-393E-42BC-9BB3-E835A1063B30_862C7264-8C8A-4217-AFA4-30CD49AC050F_SECURITY"


*SQLField cross cache Join query*

SELECT * from (SELECT DISTINCT nestedunderid as
parententityid,tasks_tasks.entityid as uuid, wbs as
wbs,tasks_tasks.entityname as entityname,duration as duration,_start as
start, _finish as finish,percentagecomplete as
percentagecomplete,nestedunderwbs as nestedunderwbs,nestedunderid as
nestedunderid FROM tasks_tasks  INNER JOIN
"F2DEDF6E-393E-42BC-9BB3-E835A1063B30_862C7264-8C8A-4217-AFA4-30CD49AC050F_SECURITY".SecurityGroups
ON tasks_tasks.entityid = SecurityGroups.SGEntityId  WHERE securityGroupId
in
('bbe5df6a-e6be-4943-be4f-d2eafeb7ecb6','5076c7f6-da01-412d-a23f-7d44a17a0c2d','c01cb194-81d7-479f-9dec-5269ecd7bafa','25c8eff1-1607-4a57-bd88-b4be9a1c3b73')
and  tasks_tasks.Project = 'Test' ) as A where A.nestedunderwbs not in
(Select wbs from (SELECT DISTINCT nestedunderid as
parententityid,tasks_tasks.entityid as uuid, wbs as
wbs,tasks_tasks.entityname as entityname,duration as duration,_start as
start, _finish as finish,percentagecomplete as
percentagecomplete,nestedunderwbs as nestedunderwbs,nestedunderid as
nestedunderid FROM tasks_tasks  INNER JOIN
"F2DEDF6E-393E-42BC-9BB3-E835A1063B30_862C7264-8C8A-4217-AFA4-30CD49AC050F_SECURITY".SecurityGroups
ON tasks_tasks.entityid = SecurityGroups.SGEntityId  WHERE securityGroupId
in
('bbe5df6a-e6be-4943-be4f-d2eafeb7ecb6','5076c7f6-da01-412d-a23f-7d44a17a0c2d','c01cb194-81d7-479f-9dec-5269ecd7bafa','25c8eff1-1607-4a57-bd88-b4be9a1c3b73')
and  tasks_tasks.Project = 'Test' ) as B) or A.nestedunderwbs is null


*DotNet Client query request code:*
using (IIgniteClient client =
Ignition.StartClient(this._igniteClientConfiguration))
 {
                    var cache = client.GetCache<object,
IConstructionCacheStore>("F2DEDF6E-393E-42BC-9BB3-E835A1063B30_6EFB69B0-269F-4F92-98CF-24BC0D34BA98_TASKS");

                    SqlFieldsQuery sqlQuery = new SqlFieldsQuery(query);

                    var queryCursor = cache.Query(sqlQuery);//Error
                    
                    foreach (var rcursor in queryCursor)
                    {
                    }
}

*Exception*
Failed to generate REDUCE query. Data table found:
"F2DEDF6E-393E-42BC-9BB3-E835A1063B30_6EFB69B0-269F-4F92-98CF-24BC0D34BA98_TASKS".TASKS_TASKS
 
SELECT
A__Z2.PARENTENTITYID,
A__Z2.UUID,
A__Z2.WBS,
A__Z2.ENTITYNAME,
A__Z2.DURATION,
A__Z2.START,
A__Z2.FINISH,
A__Z2.PERCENTAGECOMPLETE,
A__Z2.NESTEDUNDERWBS,
A__Z2.NESTEDUNDERID
FROM (SELECT DISTINCT
__C0_0 PARENTENTITYID,
__C0_1 UUID,
__C0_2 WBS,
__C0_3 ENTITYNAME,
__C0_4 DURATION,
__C0_5 START,
__C0_6 FINISH,
__C0_7 PERCENTAGECOMPLETE,
__C0_8 NESTEDUNDERWBS,
__C0_9 NESTEDUNDERID
FROM PUBLIC.__T0) A__Z2
WHERE (A__Z2.NESTEDUNDERWBS IS NULL) OR (NOT (A__Z2.NESTEDUNDERWBS IN(
SELECT
B__Z5.WBS
FROM (SELECT DISTINCT
__Z3.NESTEDUNDERID AS PARENTENTITYID,
__Z3.ENTITYID AS UUID,
__Z3.WBS AS WBS,
__Z3.ENTITYNAME AS ENTITYNAME,
__Z3.DURATION AS DURATION,
__Z3._START AS START,
__Z3._FINISH AS FINISH,
__Z3.PERCENTAGECOMPLETE AS PERCENTAGECOMPLETE,
__Z3.NESTEDUNDERWBS AS NESTEDUNDERWBS,
__Z3.NESTEDUNDERID AS NESTEDUNDERID
FROM
"F2DEDF6E-393E-42BC-9BB3-E835A1063B30_6EFB69B0-269F-4F92-98CF-24BC0D34BA98_TASKS".TASKS_TASKS
__Z3 
 INNER JOIN
"F2DEDF6E-393E-42BC-9BB3-E835A1063B30_862C7264-8C8A-4217-AFA4-30CD49AC050F_SECURITY".SECURITYGROUPS
__Z4 
 ON TRUE
WHERE ((__Z4.SECURITYGROUPID IN('bbe5df6a-e6be-4943-be4f-d2eafeb7ecb6',
'5076c7f6-da01-412d-a23f-7d44a17a0c2d',
'c01cb194-81d7-479f-9dec-5269ecd7bafa',
'25c8eff1-1607-4a57-bd88-b4be9a1c3b73')) AND (__Z3.PROJECT = 'MR GAT')) AND
(__Z3.ENTITYID = __Z4.SGENTITYID)) B__Z5 )))

How to solve above error and to perform cross cache join query.

Thanks.




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to