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

Knut Anders Hatlen commented on DERBY-6496:
-------------------------------------------

{quote}
1) Yes, I found it was necessary to open the connection as TEST_DBO. The bug 
was not popped when I used the default connection.

2) And I found it was also necessary to separate the two tool-loadings into 
distinct test-cases. When combined into a single test case, the bug did not pop.
{quote}

How odd. It seems to reproduce in a single test case in my environment. Also 
with the default user:

{code}
    public  void    test_001()
        throws Exception
    {
        Connection c1 = openDefaultConnection();
        goodStatement( c1, LOAD_TOOL );
        goodStatement( c1, UNLOAD_TOOL );

        Connection c2 = openDefaultConnection();
        goodStatement( c2, LOAD_TOOL );
    }
{code}

> 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, 
> derby-6496-01-ab-useClassFactoryContext.diff, 
> derby-6496-02-aa-optimizerTracer.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