[
https://issues.apache.org/jira/browse/DERBY-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Matrigali updated DERBY-2703:
----------------------------------
I believe this underlying problem is also what is causing the
CollationTest2.java unit test to fail on 142 jvms with the following
error:
http://dbtg.thresher.com/derby/test/Daily/jvm1.4/testing/testlog/lin/541699-suitesAll_diff.txt
Although the error is table does not exist, it is actually not the case. This
error is coming from a call to the
import procedure. Both the import and export procedures use the getColumns
call to get information about
all the columns, basically the exact query as above. The import/export code is
interpreting getting no columns
back from a % as a table does not exist. A very misleading errror, but can't
think of a non-bug case where
this would happen, but it did baffle me for awhile trying to figure out where a
table went that was just valid on
the previous statement.
Here is an example of one of the stacks:
testNorwayCollation(org.apache.derbyTesting.functionTests.tests.lang.CollationTest2)java.sql.SQLException:
Table 'APP.CUSTOMER' does not exist.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown
Source)
at
org.apache.derbyTesting.functionTests.tests.lang.CollationTest2.doImportTable(CollationTest2.java:277)
at
org.apache.derbyTesting.functionTests.tests.lang.CollationTest2.runBulkInsert(CollationTest2.java:820)
at
org.apache.derbyTesting.functionTests.tests.lang.CollationTest2.runTestIter(CollationTest2.java:948)
at
org.apache.derbyTesting.functionTests.tests.lang.CollationTest2.testNorwayCollation(CollationTest2.java:979)
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:88)
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 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)
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)
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)
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)
Caused by: ERROR XIE0M: Table 'APP.CUSTOMER' does not exist.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at org.apache.derby.impl.load.LoadError.tableNotFound(Unknown Source)
at org.apache.derby.impl.load.ColumnInfo.<init>(Unknown Source)
at org.apache.derby.impl.load.Import.performImport(Unknown Source)
at org.apache.derby.impl.load.Import.importTable(Unknown Source)
at org.apache.derby.catalog.SystemProcedures.SYSCS_IMPORT_TABLE(Unknown
Source)
at
org.apache.derby.exe.ac0f3928ccx0112xc696xa01dx000062ebfce91f5.g0(Unknown
Source)
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.derby.impl.services.reflect.ReflectMethod.invoke(Unknown
Source)
at
org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
... 69 more
> calling DatabaseMetaData.getColumns() with % for matching column character in
> a territory based collated db does not work in 1.4.2 jvms
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2703
> URL: https://issues.apache.org/jira/browse/DERBY-2703
> Project: Derby
> Issue Type: Sub-task
> Components: SQL
> Affects Versions: 10.3.0.0
> Environment: have reproduced on ibm142 and sun142 jvms
> Reporter: Mike Matrigali
>
> calling DatabaseMetaData.getColumns(null, "APP", "CUSTOMER", "%") returns no
> rows for a valid APP.CUSTOMER table
> in ibm142 and sun142 jvms, for databases created with territory based
> collation, fails in all 3 cases we test in the
> CollationTest2.java junit test.
> Since this is a system catalog query I am surprised the result is affected at
> all by collation, so there may be a derby bug
> in the metadata routines, or elsewhere. Mamta, could you comment if you
> believe this should work already - or if there
> is more work to do in this area.
> I will soon checkin a test case into the CollationTest2.java unit test that
> shows this. For now I will either comment out the
> entire test, or if I can figure out how to not run it on 142 I will do that.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.