Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-3013

SQL2 query with union, limit and offset can return invalid results

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.17, 1.2.3, 1.3.2, 1.4
    • Component/s: query
    • Labels:
      None

      Description

      when using order, limit and offset and a SQL2 query that contains an union of two subqueries that have common results can return invalid results

      Example: assuming content tree /test/a/b/c/d/e exists

      SELECT [jcr:path] FROM [nt:base] AS a WHERE ISDESCENDANTNODE(a, '/test') UNION SELECT [jcr:path] FROM [nt:base] AS a WHERE ISDESCENDANTNODE(a, '/test')" ORDER BY [jcr:path]
      

      with limit=3 and offset 2 returns only one row ( instead of 3 )

      the correct result set is

      /test/a/b/c
      /test/a/b/c/d
      /test/a/b/c/d/e
      

        Attachments

        1. OAK-3013-test.patch
          4 kB
          Teodor Rosu
        2. OAK-3013-fix.patch
          0.9 kB
          Teodor Rosu

          Activity

            People

            • Assignee:
              amitjain Amit Jain
              Reporter:
              rosu Teodor Rosu
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: