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

Knut Anders Hatlen updated DERBY-5682:
--------------------------------------

    Assignee: Kristian Waagan  (was: Knut Anders Hatlen)

Thanks for picking up this bug, Kristian. I hadn't started on it (except a 
little reading of the code), so I'm reassigning it to you.

I applied the patch and verified that it ran successfully.

The patch looks good to me. I'm not completely sure, though, if the second 
argument to writeEncodedLDString should be "UnicodeBigUnmarked" or "UTF-16BE". 
The argument ends up being passed to String.getBytes(String), whose javadoc 
says the encoding should be one supported by java.nio.charset.Charset, but 
java.nio.charset.Charset doesn't mention "UnicodeBigUnmarked".

On the other hand, 
http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html 
says "UnicodeBigUnmarked" is the canonical name for the java.lang APIs, so I 
suppose both names should be fairly portable. But this latter document is not 
part of the platform specification, I think, which is why I'm not sure it's 
guaranteed to work.
                
> ProtocolTest failures: Unsupported encoding MacGreek
> ----------------------------------------------------
>
>                 Key: DERBY-5682
>                 URL: https://issues.apache.org/jira/browse/DERBY-5682
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Kristian Waagan
>            Priority: Minor
>         Attachments: derby-5682-1a-use_supported_encoding.diff
>
>
> I saw two failures in ProtocolTest when running them on a JVM where support 
> for encodings not mandated by the Java platform specification had been 
> removed.
> There were 2 failures:
> 1) 
> protocol.tests_1150_1212(org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest)junit.framework.AssertionFailedError:
>  Unsupported encoding MacGreek
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.fail(BaseTestCase.java:879)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.writeEncodedLDString(ProtocolTest.java:781)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.processCommand(ProtocolTest.java:324)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.processCommands(ProtocolTest.java:230)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.testProtocolSequence(ProtocolTest.java:148)
>       at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
>       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:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
> Caused by: java.io.UnsupportedEncodingException: MacGreek
>       at java.lang.StringCoding.encode(StringCoding.java:340)
>       at java.lang.String.getBytes(String.java:955)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.writeEncodedLDString(ProtocolTest.java:774)
>       ... 41 more
> 2) 
> protocol.tests_1213_1243(org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest)junit.framework.AssertionFailedError:
>  Unsupported encoding MacGreek
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.fail(BaseTestCase.java:879)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.writeEncodedLDString(ProtocolTest.java:781)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.processCommand(ProtocolTest.java:324)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.processCommands(ProtocolTest.java:230)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.testProtocolSequence(ProtocolTest.java:148)
>       at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
>       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:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>       at junit.extensions.TestSetup.run(TestSetup.java:27)
> Caused by: java.io.UnsupportedEncodingException: MacGreek
>       at java.lang.StringCoding.encode(StringCoding.java:340)
>       at java.lang.String.getBytes(String.java:955)
>       at 
> org.apache.derbyTesting.functionTests.tests.derbynet.ProtocolTest.writeEncodedLDString(ProtocolTest.java:774)
>       ... 41 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to