[ 
https://issues.apache.org/jira/browse/DBCP-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Steitz closed DBCP-358.
----------------------------


> Equals implementations in DelegatingXxx classes are not symmetric
> -----------------------------------------------------------------
>
>                 Key: DBCP-358
>                 URL: https://issues.apache.org/jira/browse/DBCP-358
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.2, 1.2.2, 1.3, 1.4
>            Reporter: Phil Steitz
>             Fix For: 2.0
>
>
> For reasons unclear to me, DelegatingConnection, DelegatingStatement, 
> PoolGuardConnectionWrappers and other DBCP classes implement equals so that 
> the wrapping class is considered equal to its innermost delegate JDBC object. 
>  This makes equals asymmetric when applied to a wrapper and its wrapped JDBC 
> object - wrapper.equals(delegate) returns true, but delegate.equals(wrapper) 
> will in general return false.
> I am pretty sure that DBCP itself does not rely on this bugged behavior, so I 
> am inclined to fix it, making equals an equivalence relation on wrapper 
> instances, with two considered equal iff their innermost delegates are equal. 
>  I can't imagine use cases where the bugged behavior is required.  Can anyone 
> else?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to