Hi all,
   So I started to make some changes with my code here and there
(nothing to do with the relevant lines) and suddenly currval and
rollback don't work.

              try{
                        db.setAutoCommit(false);
                        addLM.setInt(1, lm.getOrigin());
                           .......
                     addLM.executeUpdate();
                     sql = db.createStatement();
                      ResultSet result = sql.executeQuery("SELECT
currval('lm_id_seq');");
                        if (result. next()){
                                db.commit();
                                db.setAutoCommit(true);
                         else{
                                db.rollback(); //reverse all changes
                                db.setAutoCommit(true);
                       }
                catch(SQLException ex){
                        try {
                                db.rollback();
                                db.setAutoCommit(true);
                        } catch (SQLException e) {
                                throw e;
                       }
                        throw ex;
           }

What happens is that the it inserts a db, but cannot get a value back
using currval  (ERROR: ERROR: currval of sequence "lm_id_seq" is not
yet defined in this session 55000  ) , yet the db gets the addlm
inserted.


Shouldn't it rollback?
Furthermore, why would currval suddenly stop working?

Much thanks for your feedback in advance.

-assad

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to