db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2703) calling DatabaseMetaData.getColumns() with % for matching column character in a territory based collated db does not work in 1.4.2 jvms
Date Sun, 27 May 2007 04:01:16 GMT

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


Mime
View raw message