Re: DDL hanging when different connection is left open

From: Nathan McEachen <nathan(at)mceachen(dot)us>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: DDL hanging when different connection is left open
Date: 2006-01-24 03:36:25
Message-ID: 43D5A0B9.6000800@mceachen.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Oliver Jowett wrote:

> Nathan McEachen wrote:
>
>> connection1 performes query: "SELECT * FROM my_table";
>> connection 2 performs DDL: "ALTER TABLE my_table ADD COLUMN my_col
>> INTEGER";
>>
>>
>> connection 2 seems to hang unless connection1 is closed (i.e.
>> conneciton1.close() ).
>
>
> Most likely, connection 1 has autocommit off and you have forgotten to
> commit or rollback the transaction that your SELECT opened.
>
Thanks, I *thought* I had checked that, being the thorough and diligent
person that I am. :) However, I am using AspectJ on this project. I
just figured out that I had a faulty pointcut definition. So this was
not a JDBC issue, rather a "Nathan better pay closer attention to how he
defines his pointcut advice" issue. Basically some aspect advice was
preventing the connection from committing, hence connection 2 was hanging.

Sorry for the faulty post.

For all of you AOP people:

public abstract pointcut dumbNathanPosts();

Object around() : dumbNathanPosts()
{
// just ignore what Nathan says. Do not call proceed();
}

-Nathan

--
In theory, there is no difference between theory and practice. But, in practice, there is.

--Jan L.A. van de Snepscheut

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Antonio Rodriguez Anaya 2006-01-24 11:11:16 Re: ERROR: The backend has broken the connection -- AND: FATAL:
Previous Message Oliver Jowett 2006-01-24 03:02:33 Re: DDL hanging when different connection is left open