Re: getIndexInfo() throws NullPointerException - Mailing list pgsql-jdbc
From | Cormac Twomey |
---|---|
Subject | Re: getIndexInfo() throws NullPointerException |
Date | |
Msg-id | 00b401c1b8e7$ee89d0d0$6501a8c0@firbolg Whole thread Raw |
In response to | Re: getIndexInfo() throws NullPointerException ("Dave Cramer" <Dave@micro-automation.net>) |
Responses |
Re: getIndexInfo() throws NullPointerException
Re: getIndexInfo() throws NullPointerException Patch applied |
List | pgsql-jdbc |
Ok, I have one further issue, which I'm much less certain of - some of the indexes that I'm trying to obtain info about are multi-column indexes, but the resultset for getIndexInfo is only returning the column name of one of those columns. For theother columns, it's returning an empty string. So, for example, given the following index: create index foo_abc_idx on foo (a, b, c) calling getIndexInfo on table foo, will return 3 results (as I expected) but with the following columns: ORDINAL_POSITION | COLUMN_NAME ------------------------------ 1 | c 2 | 3 | The documentation for this call is sparse enough, so I'm not sure I'm not doing something wrong.... ideas? Thanks, --Cormac ----- Original Message ----- From: "Dave Cramer" <Dave@micro-automation.net> To: "'Cormac Twomey'" <cormac@bpallen.com>; <pgsql-jdbc@postgresql.org>; <Dave@micro-automation.net> Sent: Monday, February 18, 2002 4:54 PM Subject: Re: [JDBC] getIndexInfo() throws NullPointerException > I'd have to agree with your bet, thanks a lot > > Dave > > -----Original Message----- > From: Cormac Twomey [mailto:cormac@bpallen.com] > Sent: Monday, February 18, 2002 7:40 PM > To: pgsql-jdbc@postgresql.org; Dave@micro-automation.net > Subject: [JDBC] getIndexInfo() throws NullPointerException > > > Calling getIndexInfo against a postgresql-7.1 db with the 7.2 jdbc > driver (or with 7.3dev built 2002-02-09 ), I get the following > exception: > > Exception in thread "main" java.lang.NullPointerException > at org.postgresql.jdbc2.ResultSet.getBytes(Unknown source) > at org.postgresql.jdbc2.DatabaseMetaData.getIndexInfo(Unknown > source) > at foo.bar(foo.java:253) > at foo.baz(foo.java:167) > at foo.main(foo.java:46) > > I decided to poke around in the source code and found the following > piece of questionable-looking code in > org/postgresql/jdbc2/DatabaseMetaData.jar: > > ... > if (columnNameRS.next()) > tuple[8] = columnNameRS.getBytes(1); > else > tuple[8] = "".getBytes(); > tuple[8] = columnNameRS.getBytes(1); > ... > > Now, being willing to bet that that last line shouldn't be there, I > commented it out and tried it again - and bingo! it worked fine. > > I see Dave Cramer's uid at the top of DatabaseMetaData.jar, so cc'ing > him. > > Thanks, > --Cormac Twomey > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster >
pgsql-jdbc by date: