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

Rick Hillegas updated DERBY-1030:
---------------------------------

    Attachment: derby-1030-01-aa-disableOptimization.diff

Attaching derby-1030-01-aa-disableOptimization.diff. This removes the 
over-eager optimization of switching between language domains when the outer 
Function is NULL ON NULL INPUT.

Touches the following files:

M      java/engine/org/apache/derby/impl/sql/compile/StaticMethodCallNode.java

Removes the optimization.


M      
java/testing/org/apache/derbyTesting/functionTests/tests/lang/RoutineTest.java

As part of DERBY-479, a test case was added for DERBY-1030, enshrining the 
wrong behavior described by this bug. The test case is changed to enshrine the 
correct behavior.


The regression tests passed cleanly for me except for an error in 
GeneratedColumnsTest which was recently introduced into the trunk by other work:

There was 1 failure:
1) 
test_031_derby_4413(org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsTest)junit.framework.ComparisonFailure:
 expected:<[1]> but was:<[2]>
        at 
org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsHelper.assertResults(GeneratedColumnsHelper.java:346)
        at 
org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsHelper.assertResults(GeneratedColumnsHelper.java:310)
        at 
org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsTest.test_031_derby_4413(GeneratedColumnsTest.java:5442)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at 
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.extensions.TestSetup.run(TestSetup.java:25)
        at 
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.extensions.TestSetup.run(TestSetup.java:25)

FAILURES!!!
Tests run: 34,  Failures: 1,  Errors: 0


> In some situations a RETURNS NULL ON NULL function is called when one ot its 
> parameters is NULL
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1030
>                 URL: https://issues.apache.org/jira/browse/DERBY-1030
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.2.1
>            Reporter: Daniel John Debrunner
>            Assignee: Rick Hillegas
>         Attachments: derby-1030-01-aa-disableOptimization.diff, 
> derby479.java, derby479.sql
>
>
> The NULL argument to the function has to come from another function and that 
> function's Java method has to return a Java object type corresponding to a 
> fixed length SQL type, such as DATE, TIME and TIMESTAMP.
> Will attach repro scripts.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to