Hi,


While evaluating jOOQ 3.9.1 I have trouble to call functions with BOOLEAN 
as parameter type.

 

I use an Oracle 12c database:

 

CREATE OR REPLACE FUNCTION TestFunction3(Flag IN BOOLEAN) RETURN NUMBER IS

BEGIN

    IF(Flag=TRUE) THEN 

        RETURN 1;

    ELSE

        RETURN 0;

    END IF;

END;                                                                   

/

 

My test looks like:

 

@Test
*public void *test3() *throws *Exception {
    Number result = Routines.*testfunction3*(*create*.configuration(),  
Boolean.*TRUE*);
    *assertEquals*(1, result.intValue());
}

                                      

DEBUG org.jooq.tools.LoggerListener - Calling routine          : declare b2 
boolean := case ? when 0 then false when 1 then true else null end; begin ? 
:= "TESTFUNCTION3"("FLAG" => b2); end;

DEBUG org.jooq.tools.LoggerListener - -> with bind values      : declare b2 
boolean := case 1 when 0 then false when 1 then true else null end; begin ? 
:= "TESTFUNCTION3"("FLAG" => b2); end;

DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC 
Connection from DataSource

DEBUG org.jooq.tools.LoggerListener - Exception                

java.lang.NullPointerException

                    at org.jooq_3.9.1.ORACLE.debug(Unknown Source)

                    at 
org.jooq.impl.AbstractRoutine.registerOutParameter(AbstractRoutine.java:1020)

                    at 
org.jooq.impl.AbstractRoutine.registerOutParameters(AbstractRoutine.java:1010)

                    at 
org.jooq.impl.AbstractRoutine.executeCallableStatement(AbstractRoutine.java:434)

                    at 
org.jooq.impl.AbstractRoutine.execute(AbstractRoutine.java:347)

                    at 
org.jooq.impl.AbstractRoutine.execute(AbstractRoutine.java:281)

                    at 
com.lstelcom.spplus.db.Routines.testfunction3(Routines.java:10287)

                    at 
com.lstelcom.spplus.jooq.JooqTests.test3(JooqTests.java:114)

                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)

                    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

                    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                    at java.lang.reflect.Method.invoke(Method.java:498)

                    at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)

                    at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

                    at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)

                    at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

                    at 
org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)

                    at 
org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

                    at 
org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

                    at 
org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

                    at 
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)

                    at 
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)

                    at 
org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

                    at 
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

                    at 
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

                    at 
org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

                    at 
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

                    at 
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

                    at 
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

                    at 
org.junit.runners.ParentRunner.run(ParentRunner.java:363)

                    at 
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)

                    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)

                    at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)

                    at 
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)

                    at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)

                    at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

 

Is this a known issue or do I miss anything?


Thank you,

Marcus

-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to