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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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/
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-02-17 20:01:45 | Re: Bug in metadata.getColumns()/ORDINAL_POSITION |
Previous Message | Kris Jurka | 2007-02-17 19:09:25 | Re: Bug in metadata.getColumns()/ORDINAL_POSITION |