Details
-
Bug
-
Resolution: Done
-
Critical
-
7.6
-
None
Description
While opening a WS operation for editing after start-up, received the following:
java.lang.NullPointerException
at org.teiid.query.resolver.util.ResolverVisitor.findWithImplicitConversions(ResolverVisitor.java:574)
at org.teiid.query.resolver.util.ResolverVisitor.resolveFunction(ResolverVisitor.java:518)
at org.teiid.query.resolver.util.ResolverVisitor.visit(ResolverVisitor.java:352)
at org.teiid.query.sql.symbol.Function.acceptVisitor(Function.java:182)
at org.teiid.query.sql.navigator.AbstractNavigator.visitVisitor(AbstractNavigator.java:52)
at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.postVisitVisitor(PreOrPostOrderNavigator.java:140)
at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:276)
at org.teiid.query.sql.symbol.Function.acceptVisitor(Function.java:182)
at org.teiid.query.sql.navigator.PostOrderNavigator.doVisit(PostOrderNavigator.java:40)
at org.teiid.query.resolver.util.ResolverVisitor.resolveLanguageObject(ResolverVisitor.java:1012)
at org.teiid.query.resolver.command.UpdateProcedureResolver.resolveStatement(UpdateProcedureResolver.java:253)
at org.teiid.query.resolver.command.UpdateProcedureResolver.resolveBlock(UpdateProcedureResolver.java:164)
.....
Looks like the logic in UdfManager.getFunctionLibrary() needs some tweaking because the first time it's called, changed == FALSE
public synchronized FunctionLibrary getFunctionLibrary() {
//System.out.println("UdfManger.getFunctionLibrary()");
if( !changed )
change to:
public synchronized FunctionLibrary getFunctionLibrary() {
//System.out.println("UdfManger.getFunctionLibrary()");
if( !changed && this.cachedFunctionLibrary != null ) { return this.cachedFunctionLibrary; }