Yes, I agree that it is valid. I will file an issue and create a unit test to reproduce the issue. I'll use query strings like these: RETURN = foo AND RETURN = bar AND (foo = 'yes' OR bar = 'no') (foo = 'yes' OR bar = 'no') AND RETURN = foo AND RETURN = bar
I assume AND has precedence over OR, so the parentheses are necessary. (What does a RETURN triple evaluate to?) Theoretically, could we also do this?: RETURN = foo AND (foo = 'yes' OR bar = 'no') AND RETURN = bar -Ricky On Oct 13, 2011, at 8:55 AM, Sean Kelly wrote: >>> DIS-style query2: >>> prod?q=RETURN = mrn AND RETURN = birth_dt_tm AND loc_nurse_unit_cd_desc_1 = >>> 'PICU' OR loc_nurse_unit_cd_desc_1 = 'PICU2' >> >> This isn't a valid DIS-tyle query. Note that you can't do RETURN = a *AND* >> b. It's RETURN = a AND RETURN = b. > > I think it is valid. The constraint is "loc_nurse_unit_cd_desc_1 = 'PICU' OR > loc_nurse_unit_cd_desc_1 = 'PICU2'" and the range is "mrn" and "birth_dt_tm". > > We usually write all the RETURNs at the end: > > loc_nurse_unit_cd_desc_1 = 'PICU' OR loc_nurse_unit_cd_desc_1 = 'PICU2' > AND RETURN = mrn AND RETURN = birth_dt_tm > > But if I remember how the parser works, it doesn't matter where the RETURNs > appear, or what conjunctive is used to attach them in. Or, at least, it > shouldn't. (We have a bug?) > > --k --------------------------------------------------------------------- CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential or legally privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of this original message. ---------------------------------------------------------------------
