On using advanced task filters tasks are duplicated in the task grid

XMLWordPrintable

      problem

      When using the advanced filters, a join to the taskUserAssoc table is done.

      That results in wrong results for the task grid in the sense of wrong counts.

      The problem is the join itself, after joining for example with a role = reviewer filter for example. Assume that Task A and B have two reviewers assigned. This results in the following resultset due the join:

      Task A; reviewer Alice
      Task A; reviewer Bob

      Task B; reviewer Alice
      Task B; reviewer XYZ
      Task B; reviewer ABC

      The reason is the that the results are produced as cross products of the both joined tables.

      The effect for the user is not as grave, since ExtJS filters out automatically doubled Task. Nevermind the whole paging is defect since the totalCount, the delivered amount of records differs completlty from the content in the GUI.

      Also the sorting is messed up. See Screenshot wrongSort.png.

      This problem is doubled by being a non PM user with the newly implemented TRANSLATE-1977, since here is also done a join the the assoc table, previously returning one task since a user can only be assigned once to a task, and now multiple times.

      solution

      The correct fix would be, that instead of joining the assoc table directly, a "select distinct FK FROM ASSOC WHERE filter conditions " should be done. Also such a column can not be filterable, since the user wants to filter tasks, but when setting a filter the assoc table is filtered instead.

            Assignee:
            Thomas Lauria
            Reporter:
            Thomas Lauria
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: