TonyG
May 22, 2025, 2:38am
1
Gramps 6.01
Fedora 42 Gnome
I have created two filters and then created a third that is made up of people matching filter one and people matching filter two, with “At least one rule must apply”, but the result doesn’t include all of the output from each of the first two filters. I have been able to repeat this with the example database. I am sure this has worked in the past. If this is a known bug in 6.01 (I saw some postings that may relate) is there a solution developed yet, and if so how do I apply it?
Regards
Tony
I have seen the same behavior.
Exploring 6.0.1 on Win10 and have been testing the filters.
Tried using the custom filters carried over from 5.2 and was seeing strange results so scrapped that custom_filter file and started from scratch.
After creating a new set of filters, I wanted to create one final filter that combined people from the 4 other filters. There are a lot of overlap between these filters.
Filter 1 returns 34K people
Filter 2 returns 42K
Filter 3 returns 110K
Filter 4 returns 58K
The combined filter is
P…
I have filed Bug 13799
@SteveY and @dsblank have solved much of the issues but I just reported the Return values that do not match the filter rules is now broken.
maintenance/gramps60
← stevenyoungs:filter-optimizer-logical_op
opened 05:31PM - 25 Apr 25 UTC
When the filter optimizer combines the result of two or more sub-filters, it is … currently using the logical_op of the right hand sub-filter. Fix this so that the optimizer uses the parent filter logical_op
Fixes #13799 https://gramps-project.org/bugs/view.php?id=13799
Related forum discussion: https://gramps.discourse.group/t/strange-filter-behavior-in-6-0-1/7505/16
To reproduce using the example Gramps tree
1. create a new filter called "Ancestors of" with a single rule, "Ancestors of <person>"
set ID to I0044, Inclusive ticked
leave the Options set to "all rules must apply"
2. create a new filter called "Siblings of Ancestors" with a single rule, "Siblings of <filter> match"
set the filter to "Ancestors of"
leave the Options set to "all rules must apply"
3. Create a new filter called "The Family and their Spouces" with two rules
a. rule 1: People matching the <filter> and set the filter to "Ancestors of"
b. rule 2: People matching the <filter> and set the filter to "Siblings of Ancestors"
set the Options to "At least one rule must apply"
Filter the people view using the filter "Siblings of Ancestors". 25 people are expected. 0 are shown
The filter "Ancestors of" returns 7 people
The filter "Siblings of Ancestors" returns 18 people
So the union of these two results must, at a minimum, return 18 people. Therefore a result of 0 people cannot be correct.