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.
In response to
pgsql-jdbc by date
|Next:||From: Kevin Grittner||Date: 2010-09-27 14:32:37|
|Subject: Re: [BUGS] Mapping Hibernate boolean to smallint(Postgresql)|
|Previous:||From: Tom Lane||Date: 2010-09-25 19:10:49|
|Subject: Re: Bug in getIndexInfo() with 9.0 JDBC driver |