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

Aaron Digulla commented on DERBY-3227:
--------------------------------------

I'm just proposing the most simple solution: Fix the bug at the source. Your 
proposal is surely possible but:

a) it's on my time,
b) I have to update it every time you change the API,
c) you have no idea about my dependency, so you will make my life miserable by 
ignorance with every change you make,
d) Not even commercial DB drivers make these methods final. I tried with DB2 
(which even obfuscates the code), Oracle and MySQL.
e) these methods are from the javax.sql.DataSource API which means they can't 
change anyway.
f) All other DataSource implementations in Derby aren't final, either.
g) I can no longer rely on the fact that my DataSource extends 
EmbeddedDataSource (instanceof will fail).

Okay, I can live without g).

PS: One of the biggest problems in Groovy is that String is final. We had to 
create our own GString class and we're doing insane stuff to make GString 
behave like String in every forseeable case (like when you call Java bytecode).

> Remove final from all getConnection() methods in EmbeddedDataSource
> -------------------------------------------------------------------
>
>                 Key: DERBY-3227
>                 URL: https://issues.apache.org/jira/browse/DERBY-3227
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>    Affects Versions: 10.3.1.4
>            Reporter: Aaron Digulla
>            Priority: Minor
>
> The final modifier makes it impossible to wrap Derby connections in P6Spy, 
> for example.
> The network ClientDataSource doesn't use final, either.
> Patch: Replace "public final Connection" with "public Connection" two times.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to