Hein is in the house :-) (was Re: Recommended HP COBOL way to exit a paragraph or perform early?)



Hi Hein,

Thanks for the reply.

It couldn't. RMS journalling simply keeps all records touched until
commit or rollback. Safe but expensive. Much like manual locking.

Sounds great! Transparency is mostly good.

So COBOL programmers like Paul now need to know (I think Paul said he was
already doing this) that they have to do something like: -

perform with test after until not hard_lock and not soft_lock
cobol i/o verb
maybe stick a lib$wait or retry_count check here (or do it globally in
the Declaratives section)
end-perform

Speaking in terms of the Rdb Rosetta Stone, what Isolation Level does RMS
achieve for its transactions? I normally would assume the basic Read
Committed but RMS just keeps getting better and better so is Repeatable Read
obtainable? Or even Serializable, where if I've previously touched index
nodes for (all records where key(2) Surname starting with "SM") does RMS
lock out all other processes/streams from inserting/writing another "SMITH"?

Does it then fire up a recovery process on another node in the cluster
if your node died?

Yes, On finding an ACE on the file on subsequent file access.

Ok, this is all sounding really sexy! I can understand that (on a single
node) the RMS Exec Mode Rundown handler will Rollback any outstanding
transactions that a process may have if/when that particular process gets
zapped. I can also understand that when faced with complete node failure a
subsequent Open of the file from another node would be able to trigger a
Rollback of the failed process' transaction. What I can't see happening is
RMS preventing other processes on other nodes (who had previously opened the
file before the dodgy node died) from seeing the "partial" updates of the
now dead process and *incorrectly* acting on their contents.

In other words "How has RMS implemented the "freeze" lock to stop other
processes on other nodes bypassing the Isolation level that (presumably
through beautiful VMS and inner-mode code) is available with single node con
figurations?

Hold on! Let's just go to pli$examples and see one Tom prepared earlier :-)

Cheers Richard Maher

"Hein RMS van den Heuvel" <heinvandenheuvel@xxxxxxxxx> wrote in message
news:1188875406.236763.181130@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Sep 3, 6:57 pm, "Richard Maher" <maher...@xxxxxxxxxxxxxxxxxx>
wrote:
Hi Paul,


For example, (if you were not using manual locking) if you updated
stock-on-hand in a record in file_1 from 20 to 18 and then went on to do
other work/updates but before you committed your transaction, another
process subtracted 5 from the same stock-on-hand and committed its txn,
then

It couldn't. RMS journalling simply keeps all records touched until
commit or rollback. Safe but expensive. Much like manual locking.


you ROLLBACKed *your* txn, what's the stock-on-hand say?

20

Does it then fire up a recovery process on another node in the cluster
if your node died?

Yes, On finding an ACE on the file on subsequent file access.

Hein.




.



Relevant Pages

  • Re: SP execution on rollback tran?
    ... A rollback without any saved name will rollback ALL transactions for that ... You should commit the inner transactions as soon as you are ...
    (microsoft.public.sqlserver.programming)
  • Transactions between schema changes
    ... I am running an application that makes multiple schema changes to a database ... and I want to be able to rollback all changes if any failed. ... tried using the ADO execute function and the ADO.Net transactions with no ... commit the prior one although I am not executing a Commit until the end of ...
    (microsoft.public.sqlserver.tools)
  • Transactions between schema changes
    ... I am running an application that makes multiple schema changes to a database ... and I want to be able to rollback all changes if any failed. ... tried using the ADO execute function and the ADO.Net transactions with no ... commit the prior one although I am not executing a Commit until the end of ...
    (microsoft.public.vb.database)
  • Re: is it possible to undo one of the last transactions?
    ... and I have read that rollback is supported by Oracle DB, ... transactions should be reversed. ... what the data was before the commit, then figure out if later transactions ...
    (comp.databases.oracle.server)
  • Re: transaction demarction
    ... do they mark something? ... a banking transaction that moves money from one bank account ... that involves database access and ends when you either COMMIT or ROLLBACK. ...
    (comp.lang.java.programmer)