Re: [HACKERS] JDBC pg_description update needed for CVS tip

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [HACKERS] JDBC pg_description update needed for CVS tip
Date: 2001-09-07 04:30:24
Message-ID: 200109070430.f874UO125982@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-jdbc pgsql-patches


Can someone tackles this and supply a patch?

> Would some JDBC hacker develop a patch for the following issue? The
> change is just barely large enough that I don't want to commit untested
> code for it --- but not having a Java development environment at hand,
> I can't test the updated code.
>
> The problem is in DatabaseMetaData.java (same code in both jdbc1 and
> jdbc2, looks like). It does direct access to pg_description that isn't
> right anymore. In getTables, instead of
>
> java.sql.ResultSet dr = connection.ExecSQL("select description from pg_description where objoid="+r.getInt(2));
>
> it should be
>
> java.sql.ResultSet dr = connection.ExecSQL("select obj_description("+r.getInt(2)+",'pg_class')");
>
> In getColumns, the change is a little more involved, because
> pg_attribute doesn't have an OID column anymore. The initial query
> can't fetch a.oid, but should fetch a.attrelid instead, and then the
> pg_description query should become
>
> java.sql.ResultSet dr = connection.ExecSQL("select col_description("+r.getInt(1)+","+r.getInt(5)+")");
>
> (col_description takes the table OID and the column's attnum).
>
> The reason this is more than a 3-line change is that it should be done
> either the old way or the new way depending on whether server version >=
> 7.2 or not, for backwards-compatibility of the driver.
>
> It's possible there are other similar changes needed that I missed in a
> quick lookover.
>
> So, would some enterprising person fix the JDBC code to work with CVS
> tip, and submit a patch?
>
> thanks, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-09-07 04:30:44 Re: Conditional NOTIFY is not implemented
Previous Message Bruce Momjian 2001-09-07 04:24:14 Re: byteain bug(?)

Browse pgsql-jdbc by date

  From Date Subject
Next Message Barry Lind 2001-09-07 05:06:28 Re: JDBC patch procedures (Re: [PATCHES] Patch for jdbc2 ResultSet.java)
Previous Message Tom Lane 2001-09-07 02:43:47 Re: [Fwd: Re: Using char fields with 7.1.3 driver]

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2001-09-07 04:35:15 Re: Support building in a different directory on Solaris
Previous Message Bruce Momjian 2001-09-07 01:40:51 Re: encoding names