Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: Query
    • Labels:
      None

      Description

      I was about to answer this question https://jazz.net/forum/questions/227587/how-to-use-rm-apioslc-where-clause-using-not-equal-null-conditions with the link to the OSLC Query spec but then I saw !="*" on the linked docs in https://www.ibm.com/support/knowledgecenter/SSZRHJ/com.ibm.mif.doc/gp_intfrmwk/oslc/r_oslc_query_params.html.

      That made me read BNF extra carefully and from the shortened subset below you can see my concern:

      oslc_where ::= "oslc.where=" compound_term
      compound_term ::= simple_term (space? boolean_op space? simple_term)*
      simple_term ::= term | scoped_term
      space ::= " " /* a space character */
      boolean_op ::= "and"
      term ::= identifier_wc comparison_op value | identifier_wc space in_op space? in_val
      scoped_term ::= identifier_wc "

      {" compound_term "}

      "
      identifier_wc ::= identifier | wildcard

      This query is valid:

      oslc.where=* > 10

      While this one is invalid:

      oslc.where=name=*

      Now that I look at my examples, this actually makes sense (leaving aside a question why would you filter by any property being greater than a certain number), while IBM manual's "The parent!="*" query is semantically equivalent to the parent="NULL" query." does not!

      Do you have any automatic BNF validators to check the sanity of the BNF further?

        Attachments

          Activity

            People

            • Assignee:
              jamsden James Amsden
              Reporter:
              berezovskyi Andrii Berezovskyi
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: