Re: ResultSet.getInt problem - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: ResultSet.getInt problem
Date
Msg-id Pine.BSO.4.63.0602171450550.13726@leary.csoft.net
Whole thread Raw
In response to Re: ResultSet.getInt problem  ("Tomás A. Rossi" <tomas@mecon.gov.ar>)
Responses Re: ResultSet.getInt problem  ("Tomás A. Rossi" <tomas@mecon.gov.ar>)
List pgsql-jdbc

On Fri, 17 Feb 2006, "Tomás A. Rossi" wrote:

> "SELECT * FROM sso.organismos o LEFT OUTER JOIN motivos_bloqueos m ON(
> o.id_motivo_ultimo_bloqueo=m.id) WHERE no(o.baja_fisica) AND nombre ~* 'a'
> AND activo ORDER BY nombre"
>
> Your debug code printed:
> "[id] [nombre] [dominio] [activo] [fecha_ultima_baja] [bloqueado]
> [cant_bloqueos_heredados] [fecha_ultimo_bloqueo] [detalle_ultimo_bloqueo]
> [id_motivo_ultimo_bloqueo] [baja_fisica] [descripcion] [id] [motivo]
> [baja_fisica]"
>
> Seems that two columns has the same name (id) or something like that? How to
> workaround this?
> This didn't happen when using postgres 7.3 with driver 7.3.
>

Previous driver was retrieving the first id, but the newer one is
retrieving the second id.  The behavior of duplicate names is undefined
and this change was part of a performance enhancement put in to speed up
searches by name.  You need to alias one of the columns to a different
name.

SELECT o.id AS oid, m.id AS mid, ... FROM ...

Then you may safely say getInt("oid").

Kris Jurka

pgsql-jdbc by date:

Previous
From: "Tomás A. Rossi"
Date:
Subject: Re: ResultSet.getInt problem
Next
From: Tom Lane
Date:
Subject: Re: 7.4 JDBC driver with 8.1 server?