Re: Bug in getIndexInfo() with 9.0 JDBC driver - Mailing list pgsql-jdbc

From Tom Lane
Subject Re: Bug in getIndexInfo() with 9.0 JDBC driver
Date
Msg-id 21088.1285441849@sss.pgh.pa.us
Whole thread Raw
In response to Re: Bug in getIndexInfo() with 9.0 JDBC driver  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: Bug in getIndexInfo() with 9.0 JDBC driver  (Thomas Kellerer <spam_eater@gmx.net>)
List pgsql-jdbc
Thomas Kellerer <spam_eater@gmx.net> writes:
> Thomas Kellerer wrote on 25.09.2010 11:38:
>> in my program I'm using DatabaseMetaData.getIndexInfo().
>>
>> This is working fine with the 8.4 driver on a 8.4 and 9.0 database.
>>
>> However when using the 9.0 driver (postgresql-9.0-801.jdbc4.jar) I'm getting the following exception when calling
getIndexInfo():
>>
>> ERROR: argument to pg_get_expr() must come from system catalogs [SQL State=42501]
>> org.postgresql.util.PSQLException: ERROR: argument to pg_get_expr() must come from system catalogs

> I had a look at AbstractJdbc2DatabaseMetaData, and I think the solution would be to push down the call pg_get_expr()
intothe derived table to avoid the error: 

Actually, I think we'd better fix this on the backend side, because it's
going to break for all branches not just 9.0 when the next set of minor
releases come out.  I think we can make the code that's checking the
argument of pg_get_expr() recurse into sub-selects to verify validity.

            regards, tom lane

pgsql-jdbc by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: Bug in getIndexInfo() with 9.0 JDBC driver
Next
From: Thomas Kellerer
Date:
Subject: Re: Bug in getIndexInfo() with 9.0 JDBC driver