HP3000-L Archives

November 1999, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
John Clogg <[log in to unmask]>
Reply To:
John Clogg <[log in to unmask]>
Date:
Mon, 22 Nov 1999 13:05:51 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (57 lines)
I must respectfully disagree with Mr. Saylor.  DBBEGIN and DBEND are not
reserved for the beginning and end of a program, and using them in this way
sort of defeats their purpose.  The idea is to be able to group several
database calls into one logical transaction.  That way, if a logical
transaction fails to complete, roll-forward recovery will not apply any of
it.  DBXBEGIN and DBXEND are similar, except that they delimit a "dynamic"
transaction.  Incomplete dynamic transactions are backed out by the
transaction manager (XM) upon system startup after a crash.  Using DBXBEGIN
and DBXEND with dynaic roll-back recovery allows databases to have their
logical integrity insured by the XM without having to use transaction
logging.

-----Original Message-----
From: John Saylor [mailto:[log in to unmask]]
Sent: Monday, November 22, 1999 11:28 AM
To: [log in to unmask]
Subject: Re: DBBEGIN versus DBXBEGIN


DBBEGIN-DBEND are reserved for the start and end of a program and it treats
the whole program operation as a single transaction, so if you were to roll
that transaction back it would remove it as one single transaction. Usually
used to roll-out a batch program changes.

DBXBEGIN-DBXEND are reserved for the grouping of specific transaction in a
program such as a Order header and Order detail. If one is rolled out so is
the other due to the logical relationship. Other transactions in the program
may not be logically related and therefor e default to the normal individual
intrinsics being treated as a single transaction.

John Saylor

-----Original Message-----
From: Boris Kortiak [mailto:[log in to unmask]]
Sent: Monday, November 22, 1999 11:12 AM
To: [log in to unmask]
Subject: DBBEGIN versus DBXBEGIN


I understand the basics of transaction controls on a database:

DBLOCK
DBBEGIN
DBGET
DBUPDATE
DBEND
DBUNLOCK

But I don't understand the difference between the DBBEGIN...DBEND pair
versus the DBXBEGIN...DBXEND pair.  The explanation and examples in the
TurboIMAGE/XL manual aren't really helping (probably just me).

Could anyone shed some light on when to and when not to use each of these
pairs?

TIA

ATOM RSS1 RSS2