[PATCH] NPE in meta data getPrimaryKeys() - Mailing list pgsql-jdbc

From Anders Hermansen
Subject [PATCH] NPE in meta data getPrimaryKeys()
Date
Msg-id 20021217163516.GA17309@online.no
Whole thread Raw
Responses Re: [PATCH] NPE in meta data getPrimaryKeys()
Re: [PATCH] NPE in meta data getPrimaryKeys()
List pgsql-jdbc
Hello,

I'm trying to use jakarta ojb for database access in a web application.
For this I have to generate a object-relational mapping. There is a
tool, reversedb, that will generate this for a live database.

When I run this against my postgresql database I get the following
exception:

java.lang.NullPointerException
    at
org.postgresql.jdbc1.AbstractJdbc1DatabaseMetaData.escapeQuotes(AbstractJdbc1DatabaseMetaData.java:1666)
    at
org.postgresql.jdbc1.AbstractJdbc1DatabaseMetaData.getPrimaryKeys(AbstractJdbc1DatabaseMetaData.java:2899)
    at
org.apache.ojb.tools.mapping.reversedb.DBMeta.read(Unknown Source)
    at
org.apache.ojb.tools.mapping.reversedb.gui.JFrmMainFrame.analyzeSchema(Unknown
Source)
(...)

It fails with a npe because table was set to null. Is setting table to
null for the getPrimaryKeys illegall according to jdbc specification?

As it seems ojb is requesting primary keys for all tables when table is
set to null, and is assuming this will be legal

From line 279 i in DBMeta.read() in ojb source:
rs = this.dbMeta.getPrimaryKeys(null, null, null);

Attached is a patch which makes the getPrimaryKeys method accept the
value of null for the table parameter.

Is this the correct solution?


Anders

--
Anders Hermansen
YoYo Mobile as

Attachment

pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: DatabaseMetaData oddities
Next
From: Dave Cramer
Date:
Subject: Re: [PATCH] NPE in meta data getPrimaryKeys()