Re: DDL hanging when different connection is left open - Mailing list pgsql-jdbc

From Nathan McEachen
Subject Re: DDL hanging when different connection is left open
Date
Msg-id 43D5A0B9.6000800@mceachen.us
Whole thread Raw
In response to Re: DDL hanging when different connection is left open  (Oliver Jowett <oliver@opencloud.com>)
List 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



pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: DDL hanging when different connection is left open
Next
From: Antonio Rodriguez Anaya
Date:
Subject: Re: ERROR: The backend has broken the connection -- AND: FATAL: