Menu

Commit [r6323]  Maximize  Restore  History

Enhanced to support aggregates within atomic criteria. A query such as follows now can be built with the sample code below.

SELECT ITEMS.* FROM ITEMS,PARTS T1,CONDITIONS T2 WHERE (((((ITEMS.PART LIKE 'ZP1%') OR (ITEMS.SEGREGATION_CODE LIKE 'ZC1%')) AND T1.PART = ITEMS.PART AND (T1.CAGE LIKE 'Z-TESTNOUN%'))) OR ((((ITEMS.PART LIKE 'ZCP1%') OR (ITEMS.CAGE LIKE 'ZCC1%')) AND T2.CONDITION_CODE = ITEMS.CONDITION_CODE))) ORDER BY ITEMS.ITEM_ID ASC

Criteria c1 = new Criteria();
c1.setTable(PartMeta.getName());
c1.addInnerCriteria(PartMeta.PART, ItemMeta.PART);
c1.addCriteria(PartMeta.CAGE, Criteria.RELATIONAL_BEGINS_WITH, "Z-TESTNOUN");

AtomicCriteria ac2 = new AtomicCriteria();
ac2.addCriteria(ItemMeta.PART, Criteria.RELATIONAL_BEGINS_WITH, "ZP1");
ac2.addOrCriteria(ItemMeta.SEGREGATION_CODE, Criteria.RELATIONAL_BEGINS_WITH, "ZC1");
AtomicCriteria cac2 = new AtomicCriteria();
cac2.addAtomic(ac2);
cac2.addAggregate(c1);

AtomicCriteria mac2 = new AtomicCriteria();
mac2.addAtomic(cac2);

Criteria c2 = new Criteria();
c2.setTable(ConditionMeta.getName());
c2.addInnerCriteria(ConditionMeta.CONDITION_CODE, ItemMeta.CONDITION_CODE);

AtomicCriteria ac1 = new AtomicCriteria();
ac1.addCriteria(ItemMeta.PART, Criteria.RELATIONAL_BEGINS_WITH, "ZCP1");
ac1.addOrCriteria(ItemMeta.CAGE, Criteria.RELATIONAL_BEGINS_WITH, "ZCC1");
AtomicCriteria cac1 = new AtomicCriteria();
cac1.addAtomic(ac1);
cac1.addAggregate(c2);

AtomicCriteria mac1 = new AtomicCriteria();
mac1.addAtomic(cac1);

AtomicCriteria ac = new AtomicCriteria();
ac.addAtomic(mac2);
ac.addOrAtomic(mac1);

Criteria c = new Criteria();
c.setTable(ItemMeta.getName());
c.addAtomic(ac);
c.addOrderBy(ItemMeta.ITEM_ID, Criteria.ORDER_BY_ASC);

tutasrinivas 2012-08-26

changed /trunk/JaffaCore/source/java/org/jaffa/persistence/engines/jdbcengine/querygenerator/QueryStatementHelper.java
/trunk/JaffaCore/source/java/org/jaffa/persistence/engines/jdbcengine/querygenerator/QueryStatementHelper.java Diff Switch to side-by-side view
Loading...
MongoDB Logo MongoDB