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

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce