getPrimaryKeys() bug in JDBC driver (fix)

From: Jens Glaser <jens(at)helena(dot)jens(dot)de>
To: peter(at)retep(dot)org(dot)uk
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: getPrimaryKeys() bug in JDBC driver (fix)
Date: 1999-08-02 03:20:53
Message-ID: Pine.LNX.4.05.9908020315360.20222-100000@helena.jens.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hi,

as it looks the getPrimaryKeys function in the postgresql
jdbc driver is broken. With psql 6.5.1, it returns "garbage" because of a
wrong SQL query in DatabaseMetaData.getPrimaryKeys().

With my limited knowledge of the postgresql internas I think this is the
right query to get all the primary key columns of a table (here: 'test'):

select
'' as TABLE_CAT,
'' AS TABLE_SCHEM,
bc.relname AS TABLE_NAME,
a.attname AS COLUMN_NAME,
a.attnum as KEY_SEQ,
ic.relname as PK_NAME
from
pg_class bc, pg_class ic, pg_index i, pg_attribute a, pg_type t
where
bc.relkind = 'r'
and upper(bc.relname) = upper('test')
and i.indrelid = bc.oid
and i.indexrelid = ic.oid and a.attrelid = ic.oid
and i.indisprimary='t'
order by table_name, pk_name,key_seq;

Could you check that please?

Regards,

--
Jens Glaser Am Holderstrauch 13, 36041 Fulda, 0661/9429507 jens(at)jens(dot)de

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Oliver Elphick 1999-08-02 04:31:08 Re: [INTERFACES] Opening database with PGACCESS
Previous Message rodneyr 1999-08-02 00:41:33 Opening database with PGACCESS