Re: getIndexInfo() throws NullPointerException - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: getIndexInfo() throws NullPointerException
Date
Msg-id 002a01c1b8e9$dac7ea30$8201a8c0@inspiron
Whole thread Raw
In response to Re: getIndexInfo() throws NullPointerException  ("Cormac Twomey" <cormac@bpallen.com>)
List pgsql-jdbc
All this stuff is fairly new, so there are probably bugs in it, I will
have a look at it.

I suspect nobody ever tried multiple index's on a table

Dave

-----Original Message-----
From: pgsql-jdbc-owner@postgresql.org
[mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Cormac Twomey
Sent: Monday, February 18, 2002 8:51 PM
To: Dave@micro-automation.net; pgsql-jdbc@postgresql.org
Subject: Re: [JDBC] getIndexInfo() throws NullPointerException


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 the other 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
>


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster



pgsql-jdbc by date:

Previous
From: Doug Fields
Date:
Subject: Re: JDBC + PostgreSQL + LargeObjects
Next
From: "Chris Lo"
Date:
Subject: Question about updateXXX