| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | Thomas Kellerer <spam_eater(at)gmx(dot)net> | 
| Cc: | pgsql-jdbc(at)postgresql(dot)org | 
| Subject: | Re: Bug in getIndexInfo() with 9.0 JDBC driver | 
| Date: | 2010-09-25 19:10:49 | 
| Message-ID: | 21088.1285441849@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-jdbc | 
Thomas Kellerer <spam_eater(at)gmx(dot)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() 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.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Thomas Kellerer | 2010-09-25 20:46:44 | Re: Bug in getIndexInfo() with 9.0 JDBC driver | 
| Previous Message | Thomas Kellerer | 2010-09-25 10:01:29 | Re: Bug in getIndexInfo() with 9.0 JDBC driver |