db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Matrigali <mikem_...@sbcglobal.net>
Subject Re: [jira] Updated: (DERBY-3616) TableFunctionTest fails under Ubuntu 7.10
Date Tue, 15 Apr 2008 23:34:12 GMT
Rick Hillegas wrote:
> Thanks, Mike. I don't think I understand what the upgrade issues are. 
> Could you explain?
> 
> Regards,
> -Rick
> 
I may just have jumped in too soon, as I don't really understand what 
the encoding that was a problem is actually doing.  I was just working 
off the info in the bug and saw the word's encoding which felt like 
something that was going to encode something that went to disk and then 
would be read from
disk later on subsequent database boots.  Anything like that would seem 
like it might present problems if we have to change the encoding in a 
new version of the software - so it would be easier to get it "right" 
now rather than have multiple versions of it.

Maybe you could explain what is being encoded and if it is actually ever
making it to disk.  From description I was assuming it was in some 
catalog that held the info about the table function.


> Mike Matrigali wrote:
>> Knut's suggestions seems good.  Also whatever we decide it would be 
>> nice to get this right in the 10.4 release to avoid any upgrade issues 
>> with
>> changing the format in the future.
>>
>> /mikem
>>
>> Knut Anders Hatlen (JIRA) wrote:
>>>      [ 
>>> https://issues.apache.org/jira/browse/DERBY-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

>>> ]
>>>
>>> Knut Anders Hatlen updated DERBY-3616:
>>> --------------------------------------
>>>
>>>     Attachment: enc.diff
>>>
>>> I think the patch works, but I don't think we need to write our own 
>>> code to perform encoding/decoding. Instead, we could use the 
>>> constructor and getBytes() method that take the encoding parameter, 
>>> and specify a well-known 8-bit encoding (for instance ISO-8859-1). 
>>> See the attached patch for an example (this patch makes 
>>> TableFunctionTest pass, but a real patch should probably create 
>>> friendly helper methods around new String() and getBytes()). Another 
>>> benefit with this approach, is that we waste less space (one byte 
>>> maps to one char, whereas derby-3616-01-improvedEncoding.diff maps 
>>> one byte to two chars).
>>>
>>>> TableFunctionTest fails under Ubuntu 7.10
>>>> -----------------------------------------
>>>>
>>>>                 Key: DERBY-3616
>>>>                 URL: https://issues.apache.org/jira/browse/DERBY-3616
>>>>             Project: Derby
>>>>          Issue Type: Bug
>>>>          Components: Regression Test Failure
>>>>    Affects Versions: 10.5.0.0
>>>>         Environment: Operating System: Ubuntu 7.10
>>>> JVMs tested: 1.4 and 1.6
>>>>            Reporter: Tiago R. Espinha
>>>>            Priority: Minor
>>>>         Attachments: derby-3616-01-improvedEncoding.diff, enc.diff
>>>>
>>>>
>>>> When running the test 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest, 
>>>> it fails with the output shown below. This test blocks the proper 
>>>> execution of suites.All and it was tested under Ubuntu 7.10 (also 
>>>> tested on Windows Vista and it doesn't throw an error there).
>>>> There were 2 errors:
>>>> 1) 
>>>> noSpecialCollation(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)java.sql.SQLException:

>>>> The exception 'java.lang.ClassNotFoundException: ERROR XBM0U: No 
>>>> class was registered for identifier 495.' was thrown while 
>>>> evaluating an expression.
>>>>         at 
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
>>>>         at 
>>>> org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
>>>>         at 
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4320)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:463)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:367)
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1935)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1776)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1762)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.simpleVTIResults(TableFunctionTest.java:1079)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.tableFunctionTest(TableFunctionTest.java:920)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.noSpecialCollation(TableFunctionTest.java:897)

>>>>
>>>>         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:103)

>>>>
>>>> Caused by: java.sql.SQLException: Java exception: 'ERROR XBM0U: No 
>>>> class was registered for identifier 495.: 
>>>> java.lang.ClassNotFoundException'.
>>>>         at 
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
>>>>         at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
>>>>         at 
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)

>>>>
>>>>         ... 29 more
>>>> Caused by: java.lang.ClassNotFoundException: ERROR XBM0U: No class 
>>>> was registered for identifier 495.
>>>>         at 
>>>> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:129)

>>>>
>>>>         at 
>>>> org.apache.derby.catalog.types.TypeDescriptorImpl.readExternal(TypeDescriptorImpl.java:491)

>>>>
>>>>         at 
>>>> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:126)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.thawReturnType(VTIResultSet.java:696)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.getReturnColumnTypes(VTIResultSet.java:670)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.populateFromResultSet(VTIResultSet.java:559)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.getNextRowCore(VTIResultSet.java:347)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:460)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:423)

>>>>
>>>>         ... 23 more
>>>> 2) 
>>>> specialCollation(org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest)java.sql.SQLException:

>>>> The exception 'java.lang.ClassNotFoundException: ERROR XBM0U: No 
>>>> class was registered for identifier 495.' was thrown while 
>>>> evaluating an expression.
>>>>         at 
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
>>>>         at 
>>>> org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
>>>>         at 
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2125)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4320)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:463)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:367)
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1935)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1776)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.assertResults(TableFunctionTest.java:1762)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.simpleVTIResults(TableFunctionTest.java:1079)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.tableFunctionTest(TableFunctionTest.java:920)

>>>>
>>>>         at 
>>>> org.apache.derbyTesting.functionTests.tests.lang.TableFunctionTest.specialCollation(TableFunctionTest.java:907)

>>>>
>>>>         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:103)

>>>>
>>>>         at 
>>>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>>>>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>>>>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>>>>         at 
>>>> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>>>>         at 
>>>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>>>>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>>>>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>>>>         at 
>>>> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>>>>         at 
>>>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>>>>         at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>>>>         at junit.extensions.TestSetup.run(TestSetup.java:23)
>>>> Caused by: java.sql.SQLException: Java exception: 'ERROR XBM0U: No 
>>>> class was registered for identifier 495.: 
>>>> java.lang.ClassNotFoundException'.
>>>>         at 
>>>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
>>>>         at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
>>>>         at 
>>>> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)

>>>>
>>>>         ... 45 more
>>>> Caused by: java.lang.ClassNotFoundException: ERROR XBM0U: No class 
>>>> was registered for identifier 495.
>>>>         at 
>>>> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:129)

>>>>
>>>>         at 
>>>> org.apache.derby.catalog.types.TypeDescriptorImpl.readExternal(TypeDescriptorImpl.java:491)

>>>>
>>>>         at 
>>>> org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(FormatIdInputStream.java:126)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.thawReturnType(VTIResultSet.java:696)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.getReturnColumnTypes(VTIResultSet.java:670)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.populateFromResultSet(VTIResultSet.java:559)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.VTIResultSet.getNextRowCore(VTIResultSet.java:347)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:460)

>>>>
>>>>         at 
>>>> org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:423)

>>>>
>>>>         ... 39 more
>>>> FAILURES!!!
>>>> Tests run: 2,  Failures: 0,  Errors: 2
>>>
>>
> 
> 


Mime
View raw message