Return-Path: Delivered-To: apmail-db-derby-user-archive@www.apache.org Received: (qmail 16506 invoked from network); 19 Jan 2006 20:10:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 19 Jan 2006 20:10:36 -0000 Received: (qmail 72291 invoked by uid 500); 19 Jan 2006 20:10:33 -0000 Delivered-To: apmail-db-derby-user-archive@db.apache.org Received: (qmail 72229 invoked by uid 500); 19 Jan 2006 20:10:31 -0000 Mailing-List: contact derby-user-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Discussion" Delivered-To: mailing list derby-user@db.apache.org Received: (qmail 72210 invoked by uid 99); 19 Jan 2006 20:10:31 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Jan 2006 12:10:31 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [208.254.149.2] (HELO SLNTEXG.metamatrix.com) (208.254.149.2) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Jan 2006 12:10:30 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C61D34.9F3FC756" Subject: Question on DatabaseMetaData with read-only Derby db Date: Thu, 19 Jan 2006 14:12:07 -0600 Message-ID: <5F3EBBC316C84F49A35B29023D459932E90D4C@SLNTEXG.quadrian.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Question on DatabaseMetaData with read-only Derby db thread-index: AcYdNIgwelq8RNJ0RFibes0uRIN5jA== From: "Alex Miller" To: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. ------_=_NextPart_001_01C61D34.9F3FC756 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable I am using a read-only db in a zip file. 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(). I think the same thing happened on other methods too, such as DBMD.getProcedures(). I'm using 10.1.2.1. =20 Is this a bug? If not, can someone explain why I can't get metadata from a read-only db? =20 Thanks, Alex Program: Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); Connection conn =3D DriverManager.getConnection("jdbc:derby:jar:(d:\\derby\\bqt\\zipped\\bqt -mini.zip)bqt"); DatabaseMetaData dbmd =3D conn.getMetaData(); ResultSet rs =3D dbmd.getTableTypes(); ERROR 40XD1: Container was opened in read-only mode. =20 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(Un known Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(U nknown Source) at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(U nknown Source) at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Unknown Source) at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init(Un known Source) at org.apache.derby.impl.store.access.heap.Heap.open(Unknown Source) at org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unkno wn Source) at org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unkno wn 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.dropDependentsStore dDependencies(Unknown Source) at org.apache.derby.impl.sql.depend.BasicDependencyManager.clearDependencie s(Unknown Source) at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.compileStatement(Unkn own Source) at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unk nown Source) at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unk nown 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.prepareI nternalStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.(Unknown Source) at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.prepareMetaDataStatement(Unkn own Source) at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.prepareSPS(Unknown Source) at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getPreparedQuery(Unknow n Source) at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getSimpleQuery(Unknown Source) at org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTableTypes(Unknown Source) ------_=_NextPart_001_01C61D34.9F3FC756 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Question on DatabaseMetaData with read-only Derby db

I am using a read-only db in a zip = file.  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().  I think the same thing happened = on other methods too, such as DBMD.getProcedures().  I'm using = 10.1.2.1. 

Is this a bug?  If not, can = someone explain why I can't get metadata from a read-only db?  =

Thanks,
Alex


Program:
        = Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        Connection = conn =3D = DriverManager.getConnection("jdbc:derby:jar:(d:\\derby\\bqt\\zipped\= \bqt-mini.zip)bqt");
        = DatabaseMetaData dbmd =3D conn.getMetaData();
        ResultSet rs = =3D 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(Unk= nown Source)
        at = org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Un= known Source)
        at = org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Un= known Source)
        at = org.apache.derby.impl.store.raw.xact.Xact.openContainer(Unknown = Source)
        at = org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init(Unk= nown Source)
        at = org.apache.derby.impl.store.access.heap.Heap.open(Unknown Source)
        at = org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknow= n Source)
        at = org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknow= n 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.dropDependentsStored= Dependencies(Unknown Source)
        at = org.apache.derby.impl.sql.depend.BasicDependencyManager.clearDependencies= (Unknown Source)
        at = org.apache.derby.iapi.sql.dictionary.SPSDescriptor.compileStatement(Unkno= wn Source)
        at = org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unkn= own Source)
        at = org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(Unkn= own Source)
        at = org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(U= nknown Source)
        at = org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(U= nknown 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.prepareIn= ternalStatement(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(Unkno= wn 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)

------_=_NextPart_001_01C61D34.9F3FC756--