Re: DDL hanging when different connection is left open
От | Nathan McEachen |
---|---|
Тема | Re: DDL hanging when different connection is left open |
Дата | |
Msg-id | 43D5A0B9.6000800@mceachen.us обсуждение исходный текст |
Ответ на | Re: DDL hanging when different connection is left open (Oliver Jowett <oliver@opencloud.com>) |
Список | 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 по дате отправления: