Subject Re: [Firebird-Java] reuse of connection after failure.
Author Roman Rokytskyy
> I'm having a lot of trouble remembering why we won't let anyone close
> a connection with an active transaction. At the moment it seems to
> me that if the tx has not been prepared we should roll it back and
> close the connection, otherwise just close it and the tx will be in
> limbo.
>
> Can anyone remember why we made the decision we did? I think it made
> sense at the time :-)

Look at the stack trace:

Caused by: org.firebirdsql.gds.GDSException: cannot disconnect database
with open transactions (1 active)
at
org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.readStatusVector(AbstractJavaGDSImpl.java:2124)
at
org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.receiveResponse(AbstractJavaGDSImpl.java:2074)
at
org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscDetachDatabase(AbstractJavaGDSImpl.java:621)

We had such code before, but I have eliminated it long time ago. So now,
it looks like it is Firebird who complains.

The question is - should we close socket anyway?

Roman