db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sunitha Kambhampati (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-854) DatabaseMetaData methods fail on read-only database
Date Tue, 10 Oct 2006 14:15:23 GMT
    [ http://issues.apache.org/jira/browse/DERBY-854?page=comments#action_12441147 ] 
            
Sunitha Kambhampati commented on DERBY-854:
-------------------------------------------

I tried the repro against the BirtSample.jar and cannot reproduce this failure with 10.1.3
jars.   I can reproduce this failure with 10.1.2.1 jars.  So it looks like this issue got
solved somewhere in between 10.1.2.1 and 10.1.3.  

Gary and Joakim, can you try with the 10.1.3 (http://db.apache.org/derby/releases/release-10.1.3.1.cgi)
or the latest release 10.2.1.6 jars and confirm this fixes the issue for you.  Thanks. 


> DatabaseMetaData methods fail on read-only database
> ---------------------------------------------------
>
>                 Key: DERBY-854
>                 URL: http://issues.apache.org/jira/browse/DERBY-854
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.1.2.1
>         Environment: Win XP SP2 / Intel
>            Reporter: Alex Miller
>         Attachments: BirtSample.jar, TestGetDBMetaData.java
>
>
> I am using a read-only db in a zip file with Derby in embedded mode.  I ran an importer
against it which basically just harvests info from DatabaseMetaData and got an error on several
methods like this one.  The method in question here is DatabaseMetaData.getTableTypes(). 
The same thing seems to happen on other methods I've tried as well (getCatalogs, getProcedures,
etc).
> Program:
>         Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
>         Connection conn = DriverManager.getConnection("jdbc:derby:jar:(d:\\derby\\bqt\\zipped\\bqt-mini.zip)bqt");
>         DatabaseMetaData dbmd = conn.getMetaData();
>         ResultSet rs = dbmd.getTableTypes();
> ERROR 40XD1: Container was opened in read-only mode.  
>         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>         at org.apache.derby.impl.store.raw.data.BaseContainer.use(Unknown Source)
>         at org.apache.derby.impl.store.raw.data.BaseContainerHandle.useContainer(Unknown
Source)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Unknown
Source)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Unknown
Source)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Unknown Source)
>         at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init(Unknown
Source)
>         at org.apache.derby.impl.store.access.heap.Heap.open(Unknown Source)
>         at org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknown
Source)
>         at org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknown
Source)
>         at org.apache.derby.impl.sql.execute.RowChangerImpl.openForUpdate(Unknown Source)
>         at org.apache.derby.impl.sql.execute.RowChangerImpl.open(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.TabInfoImpl.deleteRows(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.TabInfoImpl.deleteRow(Unknown Source)
>         at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.dropDependentsStoredDependencies(Unknown
Source)
>         at org.apache.derby.impl.sql.depend.BasicDependencyManager.clearDependencies(Unknown
Source)
>         at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.compileStatement(Unknown
Source)
>         at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unknown
Source)
>         at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unknown
Source)
>         at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(Unknown
Source)
>         at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(Unknown
Source)
>         at org.apache.derby.impl.sql.compile.ExecSPSNode.generate(Unknown Source)
>         at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
>         at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
>         at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown
Source)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
>         at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.prepareMetaDataStatement(Unknown
Source)
>         at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.prepareSPS(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getPreparedQuery(Unknown
Source)
>         at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getSimpleQuery(Unknown Source)
>         at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTableTypes(Unknown Source)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message