Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-21173

Fix not equal constraint on array property having a range element index on MarkLogic

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 8.10
    • Fix Version/s: 8.10
    • Component/s: Core MarkLogic

      Description

      Due to changes on MarkLogic connector to use range element index when it is available for a property, the NOT EQ constraint didn't work anymore on array property.

      This is due to the non propagation on NOT constraint on every items.
      For example:

      <array>
        <array__item xsi:type="xs:string">bob</array__item>
        <array__item xsi:type="xs:string">pete</array__item>
      </array>
      

      This document will match the following NXQL SELECT * FROM Document where array <> 'bob'.

      The produced MarkLogic query is currently (just past the array constraint part):

      cts:element-query(
        fn:QName("", "array"),
        cts:element-range-query(fn:QName("", "array__item"), "!=", xs:string("bob"))
      )
      

      But we expect to have for list:

      cts:not-query(
        cts:element-query(
          fn:QName("", "array"),
          cts:element-range-query(fn:QName("", "array__item"), "=", xs:string("bob"))
        )
      )
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: