Re: Bug? Reading items of array of composite a type

From: Daniel Dekany <ddekany(at)freemail(dot)hu>
To: Daniel Dekany <pgsql-jdbc(at)postgresql(dot)org>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Bug? Reading items of array of composite a type
Date: 2010-09-20 18:23:48
Message-ID: 1359540791.20100920202348@freemail.hu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Nope... no bug here. Array items has two "columns": an index and the
value, and the index happened to be the same as the first value which
led to the misunderstanding here.

Monday, September 20, 2010, 12:55:55 PM, Daniel Dekany wrote:

> (Sorry for this is a duplicate of
> http://pgfoundry.org/tracker/index.php?func=detail&aid=1010898&group_id=1000224&atid=854
> but now I guess it's unused and you expect reports here?)
>
> The items of an array of composite items are returned so that the
> composite values will only have their first field returned correctly,
> the second field will be a PGObject that represents the whole
> composite value, and there will not be more fields.
>
> Example:
>
> ResultSet rs = con.createStatement().executeQuery(
> "SELECT ARRAY[ROW(1,2,3)::some_composite_type]");
> while (rs.next()) {
> ResultSet arrayRs = rs.getArray(1).getResultSet();
> while (arrayRs.next()) {
> assert(arrayRs.getObject(1), 1); // Passes
> assert(arrayRs.getObject(2), 2); // Fails, it's PGObject "(1,2,3)"
> assert(arrayRs.getObject(3), 3); // Exception: there's only 2 columns
> }
> }
>
> This same issue doesn't appear if the composite value is not an item of an array.
>
> Versions:
> postgresql-8.4-702.jdbc4.jar and postgresql-9.0dev-800.jdbc4.jar
> PostgreSQL 8.3.11 (Win32)
> Java 1.6.0_20-b02
>
> Working demonstration code:
>
> http://pgfoundry.org/tracker/download.php/1000224/854/1010898/547/PgJDBCBugDemo.java
>
> --
> Best regards,
> Daniel Dekany
>
>

--
Best regards,
Daniel Dekany

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2010-09-20 21:46:34 Re: 9.0 JDBC drivers
Previous Message Lukas Eder 2010-09-20 16:58:40 Re: java.sql.ResultSet.getTime() returns wrong time