Powered by Zoomin Software. For more details please contactZoomin

DataDirect OpenAccess SDK Help

Reporting join conditions

  • Last Updated: May 12, 2026
  • 1 minute read
    • OpenAccess SDK
    • Version 8.1
    • Documentation

When executing queries on inner tables so that join conditions are expanded to match the block of outer table records, the following OpenAccess SDK SQL engine API behavior occurs:

  • dam_getRestrictionList

    This function returns a condition list with conditions on a single column. The condition list should be interpreted as having a list of OR conditions. When the condition on the column is a join condition (emp.deptno=dept.deptno), dam_getRestrictionList("deptno") returns the condition list that contains conditions for each outer table BlockJoinRowList (the list that has unique outer table rows).

    (deptno=1 OR deptno=2 OR deptno=5 OR deptno=8)

    To navigate all of the conditions, the IP should use dam_getFirstCond() and dam_getNextCond().

  • dam_getOptimalIndexAndConditions

    This function returns condition lists where each list has conditions on the different columns in the index: (CONDA1 AND CONDB1) OR (CONDA2 AND CONDB2). When a condition on one or more of the index columns is a join condition, the condition lists are expanded to contain a condition for each outer table BlockJoinRowList (the list that has unique outer table rows).

    order.orderno = 1 AND order.customerno=CUSTOMER.customerno

    When the IP is processing a query on an order table that has multiple column index on customerno, orderno, the dam_getOptimalIndexAndConditions() returns:

    orderno=1 AND customerno=1) OR

    orderno=1 AND customerno=2) OR

    orderno=1 AND customerno=5) OR

    orderno=1 AND customerno=8)

    Note: The IP should use dam_getFirstCondList(), dam_getNextCondList() to navigate all of the condition lists.

  • dam_getSetOfConditionLists, dam_getSetOfConditionListsEx

    These functions expand the condition lists reported to contain the condition for each of the outer table BlockJoinRowList. To navigate all of the condition lists, the IP should use dam_getFirstCondList() and dam_getNextCondList().

TitleResults for “How to create a CRG?”Also Available inAlert