if (tr.getState() != isc_tr_handle.TRANSACTIONSTARTED && tr.getState() != isc_tr_handle.TRANSACTIONPREPARED) { throw new GDSException(isc_tra_state); }
    public void isc_commit_transaction(isc_tr_handle tr_handle) throws GDSException {        if (tr_handle == null) {            throw new GDSException(isc_bad_trans_handle);        }        isc_tr_handle_impl tr = (isc_tr_handle_impl) tr_handle;        isc_db_handle_impl db = (isc_db_handle_impl)tr.getDbHandle();        synchronized (db) {            tr.setState(isc_tr_handle.TRANSACTIONCOMMITTING);            try {                if (log != null) log.debug("op_commit ");                if (log != null) log.debug("tr.rtr_id: " + tr.getTransactionId());                db.out.writeInt(op_commit);                db.out.writeInt(tr.getTransactionId());                db.out.flush();                            if (log != null) log.debug("sent");                receiveResponse(db);            } catch (IOException ex) {                throw new GDSException(isc_net_read_err);            }            tr.setState(isc_tr_handle.NOTRANSACTION);            //tr.rtr_rdb = null;            //db.rdb_transactions.removeElement(tr);            tr.unsetDbHandle();        }    }