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: persistenceAssignee: ccm-bugs-list
Status: CLOSED WONTFIX QA Contact: Jon Orris <jorris>
Severity: medium Docs Contact:
Priority: medium    
Version: nightlyCC: 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:

Description Rafael H. Schloming 2004-01-23 22:57:33 UTC
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}))

Comment 1 Richard Li 2004-02-06 18:46:46 UTC
*** Bug 115106 has been marked as a duplicate of this bug. ***