Re: Bug in getIndexInfo() with 9.0 JDBC driver

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Bug in getIndexInfo() with 9.0 JDBC driver
Date: 2010-09-25 20:46:44
Message-ID: i7ln38$16t$1@dough.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Tom Lane wrote on 25.09.2010 21:10:
>>> 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() into the
>> 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.
>

I assume putting out a new driver build is a lot quicker than releasing 9.0.1 and as this problem affects any JDBC based query tool (as they usually display table & index information), it's probably worthwhile fixing it in the driver first.

What I find a bit confusing is that the JUnit test works fine and it *is* testing getIndexInfo(). So there must be a bit more than what I can reproduce.

Regards
Thomas

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kevin Grittner 2010-09-27 14:32:37 Re: [BUGS] Mapping Hibernate boolean to smallint(Postgresql)
Previous Message Tom Lane 2010-09-25 19:10:49 Re: Bug in getIndexInfo() with 9.0 JDBC driver