Bug 114201
| Summary: | Compound filters allow naming conflicts between paramers of component filters | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Web Application Framework | Reporter: | Rafael H. Schloming <rafaels> |
| Component: | persistence | Assignee: | ccm-bugs-list |
| Status: | CLOSED WONTFIX | QA Contact: | Jon Orris <jorris> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | nightly | CC: | mbooth, tross |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2005-09-28 21:32:26 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
*** Bug 115106 has been marked as a duplicate of this bug. *** |
If two filters each containing a bind variable named ":foo" are added to a compound filter, then ":foo" is assigned only the value specified in the second filter. When this happens, warnings like the one below are generated. In this case the error is not fatal since partyID is mapped to the same value in both cases, but in the general case this would lead to incorrect filtering. This problem was partially addressed by making all the filter methods choose unique variable names, but this is still a problem for manually specified bind variables as is the case now with many of the permissions filters in the CMS ui. 2004-01-22 08:16:08,845 [004-4] WARN persistence.CompoundFilterImpl - When the filter was added, there was a naming confli\ct with the variables. Filter 1: (Filter: Conditions: taskType = :taskType24955 Values: {taskType24955=Edit} and Filter: Conditions: exists ( com.arsdigita.kernel.permissions.PartyPermissionFilterQuery and RAW[dogc.pd_object_id] = itemID and \ RAW[pd_priv_11 = 1 ]) Values: {partyID=4001}) Filter 2: ((Filter: Conditions: taskType = :taskType24954 Values: {taskType24954=Author} and Filter: Conditions: exists ( com.arsdigita.kernel.permissions.PartyPermissionFilterQuery and RAW[dogc.pd_object_id] = itemID and \ RAW[pd_priv_11 = 1 ]) Values: {partyID=4001}))