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

Re: Bug in metadata.getColumns()/ORDINAL_POSITION

From: "j(dot)random(dot)programmer" <javadesigner(at)yahoo(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Bug in metadata.getColumns()/ORDINAL_POSITION
Date: 2007-02-17 19:17:41
Message-ID: 616596.40210.qm@web32005.mail.mud.yahoo.com (view raw or flat)
Thread:
Lists: 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/

Responses

pgsql-jdbc by date

Next:From: Tom LaneDate: 2007-02-17 20:01:45
Subject: Re: Bug in metadata.getColumns()/ORDINAL_POSITION
Previous:From: Kris JurkaDate: 2007-02-17 19:09:25
Subject: Re: Bug in metadata.getColumns()/ORDINAL_POSITION

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