Re: Bug in metadata.getColumns()/ORDINAL_POSITION - Mailing list pgsql-jdbc

From j.random.programmer
Subject Re: Bug in metadata.getColumns()/ORDINAL_POSITION
Date
Msg-id 616596.40210.qm@web32005.mail.mud.yahoo.com
Whole thread Raw
In response to Bug in metadata.getColumns()/ORDINAL_POSITION  ("j.random.programmer" <javadesigner@yahoo.com>)
Responses Re: Bug in metadata.getColumns()/ORDINAL_POSITION
List pgsql-jdbc
This is a quick followup to my earlier post. Upon
further
testing, this bug reliably and reproducably happens
when an "alter table" command is used on the database.

For for example:

test=# create table foo(x int, y varchar(5));

At this point, the jdbc metadata (md) method:

md.getColumns(
 catalogname, schemaname, tablename, "%");

returns the correct ORDINAL_POSITION for x and y.

x -- >1
y ---> 2

Now, let's do this:

test=# alter table foo add z text;
ALTER TABLE
test=# alter table foo drop z;
ALTER TABLE
test=# alter table foo drop y;
ALTER TABLE
test=# alter table foo add a varchar(10);


md.getColumns(
 catalogname, schemaname, tablename, "%");

now returns
x --> 1
a --> 4

and that's the bug right there.

Should be

a  ---> 2  (NOT 4)

since there are only 2 columsn in the database
at this point.


Maybe the database is not updating the system tables
properly when columns are altered/dropped ? Or is
this something in the driver ?

Either way, this totally breaks any O/R mapping tool.

Best regards,

-j





____________________________________________________________________________________
TV dinner still cooling?
Check out "Tonight's Picks" on Yahoo! TV.
http://tv.yahoo.com/

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Bug in metadata.getColumns()/ORDINAL_POSITION
Next
From: Tom Lane
Date:
Subject: Re: Bug in metadata.getColumns()/ORDINAL_POSITION