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

Myrna van Lunteren updated DERBY-3057:
--------------------------------------

    Attachment: DERBY-3057.diff_try1

I'm attaching a patch, which 
1. implements the same functionality as JDBC.matches() for JSR169
    I verified this works by having the elaborate if be the code executed for 
jdk14 and running the test TableFuncionTest; that worked. 
2. placing an if (JDBC.vmsupportJDBC3()) around a ResultSet.getBigDecimal() in 
TableFunctionTest - this would give a method not found with JSR169
3. attempting to implement BinaryDecimal.setValueFromResultSet.

I have most doubts about item 3 - I implemented the method as:
+       data2c = resultSet.getBytes(colNumber);
+       sqlScale=0;
But although this seems to work for J2ME/JSR169, I have strong doubts. 
Basically, I have little understanding of what this method should do, and I'm 
not sure that it's enough to just get the bytes. Is it necessary to do some of 
the manipulations found in this class to compress the bytearray obtained?

I'm also not clear on why this method wasn't implemented, and I've not done 
much investigation in identifying where the j9/j2ME jvm chooses a different 
code path than e.g. jdk142.

Feedback on this patch is appreciated.

> with weme 6.1 
> testTableFunctions(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)
>  failed: java.lang.NoSuchMethodError: 
> java/lang/String.matches(Ljava/lang/String;)Z
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3057
>                 URL: https://issues.apache.org/jira/browse/DERBY-3057
>             Project: Derby
>          Issue Type: Bug
>          Components: Regression Test Failure
>    Affects Versions: 10.4.0.0
>            Reporter: Kathey Marsden
>         Attachments: DERBY-3057.diff_try1
>
>
> testTableFunctions(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)
>  failed:
> java.lang.NoSuchMethodError: java/lang/String.matches(Ljava/lang/String;)Z
>       at org.apache.derbyTesting.junit.JDBC$GeneratedId.equals(JDBC.java:49)
>       at 
> org.apache.derbyTesting.junit.JDBC.assertRowInResultSet(JDBC.java:871)
>       at org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java:779)
>       at org.apache.derbyTesting.junit.JDBC.assertFullResultSet(JDBC.java:717)
>       at 
> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertFunctionDBMD(TableFunctionTest.java:1154)
>       at 
> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.simpleDDL(TableFunctionTest.java:888)
>       at 
> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.testTableFunctions(TableFunctionTest.java:782)
>       at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:205)
>       at java.lang.reflect.Method.invoke(Method.java:253)
>       at junit.framework.TestCase.runTest(TestCase.java:154)
>       at junit.framework.TestCase.runBare(TestCase.java:127)
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:95)
>       at junit.framework.TestResult$1.protect(TestResult.java:106)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.framework.TestResult.run(TestResult.java:109)
>       at junit.framework.TestCase.run(TestCase.java:118)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       at TimeRunner.main(TimeRunner.java:31)
> 47    
> testTableFunctions(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)

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