On Wed, Sep 30, 2009 at 5:23 AM, ajay labade <ajaylab...@gmail.com> wrote: >> I am trying to port my application from Oracle to PostGREs. I have a >> problem while doing so. In my application i need to update record if the >> delete on the respective record is failed due to Constraint Violation. But >> SQL Error: 0, SQLState: 25P02 ERROR [JDBCExceptionReporter] ERROR: current >> transaction is aborted, commands ignored until end of transaction block is >> being generated while updating the record. But with Oracle i am able to do >> this. >> >> I have tried with latest Jar [postgresql-8.3-604.jdbc3.jar] too, but >> problem still exists. >> >> Here is the code that i worked on: >> >> try{ >> session = sessionManager.getSession(); >> transaction = session.beginTransaction(); >> session.delete(objects[i]); >> session.flush(); >> }catch(ConstraintViolationException e){ >> objects[i].setDeleted(Integer.valueOf(1)); >> session.saveOrUpdate(object[i]); >> session.flush(); >> } >> transaction.commit(); >> sessionManager.closeSession(session);
This is not a bug. When an exception occurs in PostgreSQL, any further commands are ignored until the transaction is rolled back. In this case, you seem to be catching a ConstraintViolationException and then attempting to performing further database actions, which is bound to fail. You may want to ROLLBACK within your exception handler and then BEGIN again. ...Robert -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs