我们在SUP Object API项目中使用SUPQuery函数时遇到问题。 这两个查询由他们自己执行正常。他们甚至使用union / unionAll函数工作。但是当试图与两者相交时,会发生异常:
SUPPersistenceException: -131 (ERROR) %1:intersect
查看错误常量SYNTAX_ERROR,查询格式错误(即使它们在一个接一个的工作正常工作......)。
以下是我要做的事情:
SUPQuery * query1 = [SUPQuery getInstance];
query1 = [query1 select:@"t.*"];
query1 = [query1 from:@"X_MBO":@"t"];
SUPCompositeTest * innerCompTest1 = [SUPCompositeTest getInstance];
[innerCompTest1 add:[SUPAttributeTest contains:@"t.CUSTOMER":@"C1"]];
[query1 setTestCriteria:(SUPTestCriteria *)innerCompTest1];
SUPQueryResultSet * oList1 = [myDB executeQuery:query1];
NSLog(@"oList1: %@",oList1);
SUPQuery * query2 = [SUPQuery getInstance];
query2 = [query2 select:@"QT.*"];
query2 = [query2 from:@"Y_MBO":@"QT"];
SUPCompositeTest * innerCompTest2 = [SUPCompositeTest getInstance];
[innerCompTest2 add:[SUPAttributeTest contains:@"QT.CUSTOMER":@"C1"]];
[query2 setTestCriteria:(SUPTestCriteria *)innerCompTest2];
SUPQueryResultSet * oList2 = [myDB executeQuery:query2];
NSLog(@"oList2: %@",oList2);
//Query1 & Query2 both are returning a record each
SUPQuery *query3;
if (!oList1 && oList2) {
query3 = query2;
}
else if (oList1 && !oList2) {
query3 = query1;
}
else {
query3 = (SUPQuery*)[query2 intersect:query1];
}
执行下面的行时,会发生错误131。
SUPQueryResultSet * oList3 = [myDB executeQuery:query3];