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/