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

Rick Hillegas updated DERBY-6496:
---------------------------------

    Attachment: derby-6496-01-aa-useClassFactoryContext.diff

Attaching derby-6496-01-aa-useClassFactoryContext.diff. This patch makes the 
optional tool loader get the ClassFactory out of the ClassFactoryContext rather 
than the CompilerContext. Hopefully, that is a more reliable source for class 
factories. I am running tests now.


Touches the following files:

----------

M       java/engine/org/apache/derby/catalog/Java5SystemProcedures.java

The fix.

----------

A       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/Test_6496.java
M       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/_Suite.java

A test case which fails without the fix but succeeds with it.


> Optional tool registration may fail because the CompilerContext is not always 
> available at execution time.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6496
>                 URL: https://issues.apache.org/jira/browse/DERBY-6496
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.11.0.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: derby-6496-01-aa-useClassFactoryContext.diff
>
>
> For reasons which elude me, the CompilerContext is sometimes available at 
> execution time and sometimes not. When the CompilerContext is not available 
> at execution time, optional tool loading fails on an NPE:
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.derby.catalog.Java5SystemProcedures.SYSCS_REGISTER_TOOL(Java5SystemProcedures.java:104)
>       at 
> org.apache.derby.exe.ac4d3680a5x0144x93adx0136xffffe1d7aa3e0.g0(Unknown 
> Source)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at 
> org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46)
>       at 
> org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:75)
>       at 
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:470)
>       at 
> org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:349)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1338)



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

Reply via email to