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

Michael Hackett updated DERBY-974:
----------------------------------

    Attachment: PropertiesTest.java

Demonstrates the difference between the keys() and propertyNames() methods on 
Properties.

> 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: 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