[ 
http://issues.apache.org/jira/browse/DERBY-974?page=comments#action_12366259 ] 

Michael Hackett commented on DERBY-974:
---------------------------------------

I should also mention that it was Spring's DriverManagerDataSource class that 
exposed this issue, and I originally thought the problem was there. It makes a 
new Properties object from the original one using the Properties(Properties 
defaults) constructor, instead of clone(). I'm not sure whether one is 
preferred over another, but using the method I describe gives the correct 
results in any situation, and I believe it to be the more correct way to work 
with Properties objects.

> ClientDriver can lose some connection properties
> ------------------------------------------------
>
>          Key: DERBY-974
>          URL: http://issues.apache.org/jira/browse/DERBY-974
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Versions: 10.1.2.1, 10.1.2.2
>  Environment: Linux, Sun JRE 1.5
>     Reporter: Michael Hackett
>     Priority: Minor
>  Attachments: ClientDriver.java-diff, PropertiesTest.java
>
> Internally, the ClientDriver class's appendDatabaseAttributes() method uses 
> keys() on the connection properties to get a list of the property names. 
> However, this misses any properties in the default set. The correct method 
> for a Properties object is propertyNames(). This will return the same type of 
> object as keys(), but will include all properties.
> (It is unfortunate that Sun chose to make Properties a subclass of Hashtable, 
> instead of giving Properties a Hashtable, as the former exposes too much 
> implementation.)
> The fix is to simply replace calls to keys() on all Property objects to use 
> propertyNames(). A quick search revealed that this is not the only place in 
> the code base where this is done, so a more thorough scan should be made.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to