Re: PSQLException: The column name was not found in this ResultSet. - Mailing list pgsql-jdbc

was not found in this ResultSet.was not found in this ResultSet.  (Michael Fork <mfork00@yahoo.com>)was not found in this ResultSet.  (Samuel Gendler <sgendler@ideasculptor.com>)
Re: PSQLException: The column name was not found in this ResultSet.  (Michael Fork <mfork00@yahoo.com>)
From Kris Jurka
Subject Re: PSQLException: The column name
Date
Msg-id alpine.BSO.2.00.1011091909160.7107@leary.csoft.net
Whole thread Raw
In response to PSQLException: The column name
Responses Re: PSQLException: The column name
List pgsql-jdbc

On Mon, 8 Nov 2010, Michael Fork wrote:

> Caused by: org.postgresql.util.PSQLException: The column name mdn was not found
> in this ResultSet.
>
> I receive the above error message when accessing the JDBC resultset from
> multiple threads.  It does not occur consistently, but roughly every 20
> or 30 runs and almost immediately upon invocation.  Looking at
> org/postgresql/jdbc2/AbstractJdbc2ResultSet.java it appears there is a
> race condition around building columnNameIndexMap
>
> I cannot confirm this, but I would guess that on thread enters, has the
> NULL map and creates the new HashMap.  The second thread enters, sees
> the non-NULL columnNameIndexMap, and gets to the HashMap.get call prior
> to the first thread fully populating the map.  If this is the problem,
> would wrapping the IF block in a synchronized(this) block fix it?
>

That looks like the correct diagnosis and fix to me.

Kris Jurka


pgsql-jdbc by date:

Previous
From: "Nathan Sullins"
Date:
Subject: JDBC4 and JDK 1.6
Next
From: Kris Jurka
Date:
Subject: Re: JDBC4 and JDK 1.6