Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-9114

Or query doen't work correctly when another table needs to be joined

    XMLWordPrintable

    Details

      Description

      Testing ATs
      This bug fix can be tested via Tasklist:

      1. Go to Tasklist
      2. Make sure to have...
        • a task foo with assignee demo
        • a task bar with candidate user demo
      3. Create a filter via search pills that matches any of the criteria Assignee=demo and Candidate User=demo
      4. You should see two tasks

      Steps to reproduce:
      Execute the following OR query

      • Scenario 1
        taskService.createTaskQuery()
              .or()
                .taskAssignee("demo")
                .taskCandidateUser("demo")
              .endOr()
              .list()
        
      • Scenario 2
        taskService.createTaskQuery().active()
            .or()
                .caseInstanceBusinessKey(businessKey)
                .processInstanceBusinessKey(businessKey)
            .endOr()
            .list();
        

      More failing scenarios exist, please check joins in the query, the inner joins is better to be left ones. This leads to incorrect behavior of the queries.

      Current behavior:
      Returns intersection

      Expected behavior:
      Returns union

      AT:

      • the or queries work properly no matter of the filter criteria and combinations.
      • add tests for the scenarios when another table is joined in the query

        Attachments

          Activity

            People

            Assignee:
            akif.hazarvi Akif Hazarvi
            Reporter:
            yana.vasileva Yana Vasileva
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: