Re: ResultSet.getInt problem

From: Kris Jurka <books(at)ejurka(dot)com>
To: "Tomás A(dot) Rossi" <tomas(at)mecon(dot)gov(dot)ar>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: ResultSet.getInt problem
Date: 2006-02-17 19:55:09
Message-ID: Pine.BSO.4.63.0602171450550.13726@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tom Lane 2006-02-17 19:55:20 Re: 7.4 JDBC driver with 8.1 server?
Previous Message Tomás A. Rossi 2006-02-17 19:40:14 Re: ResultSet.getInt problem