Skip site navigation (1) Skip section navigation (2)

Patch for broken JDBC's getColumn()

From: Jeroen van Vianen <jeroen(at)vanvianen(dot)nl>
To: pgsql-patches(at)postgresql(dot)org
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Patch for broken JDBC's getColumn()
Date: 2001-08-28 21:20:19
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-jdbcpgsql-patches

Attached is a patch for JDBC's getColumn() function that was broken / 
flawed in the following ways:

1. Only returned columns that had a default value defined, rather than all 
columns in a table
2. Used 2 * N + 1 queries to find out attributes, comments and typenames 
for N columns.

By using some outer join syntax it is possible to retrieve all necessary 
information in just one SQL statement. This means this version is only 
suitable for PostgreSQL >= 7.1. Don't know whether that's a problem.

I've tested this function with current sources and 7.1.3 and patched both 
jdbc1 and jdbc2. I haven't compiled nor tested the jdbc1 version though, as 
I have no JDK 1.1 available.

Note the discussion in 
regarding differences in obtaining comments on database object in 7.1 and 
7.2. I was unable to use the following syntax (or similar ones):

     left outer join col_description(a.attrelid, a.attnum) description
order by
     c.relname, a.attnum;

(the error was parse error at or near '(') so I had to paste the actual 
code for the col_description function into the left outer join. Maybe 
someone who is more knowledgable about outer joins might provide me with a 
better SQL statement.

Please review.



Attachment: DatabaseMetaData.diff.gz
Description: application/octet-stream (3.7 KB)


pgsql-patches by date

Next:From: Jeroen van VianenDate: 2001-08-28 21:32:43
Subject: Patch for broken JDBC's getColumn()
Previous:From: Dominic J. EidsonDate: 2001-08-28 20:58:27
Subject: Re: PAM Authentication Patch, take one...

pgsql-jdbc by date

Next:From: Rene PijlmanDate: 2001-08-28 21:32:01
Subject: Re: JDBC version
Previous:From: Ricardo PardiniDate: 2001-08-28 20:46:05
Subject: JDBC version

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group