Product Documentation

c-treeACE V10.0 Release Notes

Previous Topic

Next Topic

Query with Left Outer Join Returns Wrong Rows

A query had returned unexpected and incorrect results.

SELECT ip.INSTANCE_ID, ip.PROP_ID, p.PROP_NAME, v.VAL_NAME, v.prop_val_id, ip.STRING_VAL, p.PROP_TYPE
FROM IN_INSTANCE i
LEFT OUTER JOIN IN_INSTANCE_PROP ip ON ip.INSTANCE_ID = i.INSTANCE_ID
LEFT OUTER JOIN IN_CLASS_PROP cp ON i.CLASS_ID = cp.CLASS_ID AND ip.PROP_ID = cp.PROP_ID
INNER JOIN IN_PROP p ON p.PROP_ID = cp.PROP_ID
LEFT OUTER JOIN IN_PROP_VAL v ON v.prop_val_id = ip.STRING_VAL AND p.PROP_TYPE = 5
LEFT OUTER JOIN IN_USR u ON ip.STRING_VAL = u.USR_ID AND p.PROP_TYPE IN (6,7)
WHERE ip.INSTANCE_ID = '2000002CKX_0004FV4NX2EM'
ORDER BY cp.CLASS_ID, cp.SEQ_NUM;

Changes have been made to the query optimizer to prevent this behavior. Specifically, an internal condition was not properly detected and additional checks are now made to ensure a correct logic path is followed.

TOCIndex