[
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)