db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jørgen Løland (JIRA) <j...@apache.org>
Subject [jira] Commented: (DERBY-974) ClientDriver can lose some connection properties
Date Tue, 16 Oct 2007 08:50:50 GMT

    [ https://issues.apache.org/jira/browse/DERBY-974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535204
] 

Jørgen Løland commented on DERBY-974:
-------------------------------------

I figured a way to test this. Without the patch, the code below results in 

"java.sql.SQLException: The connection was refused because the database test1 was not found."


whereas it correctly creates a database named 'test1' with the patch applied.

<code>
Properties props1 = new Properties();
props1.put("create", "true");
Properties props2 = new Properties(props1);
...
con = DriverManager.getConnection("jdbc:derby://localhost:1527/test1;", props2);
</code>

> ClientDriver can lose some connection properties
> ------------------------------------------------
>
>                 Key: DERBY-974
>                 URL: https://issues.apache.org/jira/browse/DERBY-974
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.1.2.1, 10.1.3.1, 10.4.0.0
>         Environment: Linux, Sun JRE 1.5
>            Reporter: Michael Hackett
>            Assignee: Jørgen Løland
>            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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message