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 Saylor <[log in to unmask]>
Reply To:
John Saylor <[log in to unmask]>
Date:
Mon, 22 Nov 1999 14:30:26 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (126 lines)
I thought, I recalled an article written on this subject. MPE/iX Transaction
management by Paul Wang it can be located at:

http://www.interex.org/pubcontent/interact/sept95/08wang/wang.html

John Saylor
U.S. MPE Sales Manager
Quest Software, Inc.
"Ensuring Application and Information Availability"

Main        (949) 720-1434
Toll Free   (800) 306-9329 x8422
Direct      (949) 754-8422
Fax         (949) 754-8999
mailto:[log in to unmask]



-----Original Message-----
From: John Clogg [mailto:[log in to unmask]]
Sent: Monday, November 22, 1999 2:20 PM
To: 'John Saylor'
Subject: RE: DBBEGIN versus DBXBEGIN

Yeah, I saw your second reply - after I had sent mine.  One good thing about
the HP3000-L is I never have to worry much about sending incorrect or
misleading inormation, because someone will always correct me.  I knew you
knew what you were talking about, but I was concerned that the person who
asked the question might misunderstand.  Of course, the DBBEGIN-DBEND at the
beginning and end of a program is OK if it makes sense to consider the
program a single logical transaction.

Have a great Thanksgiving.
John
-----Original Message-----
From: John Saylor
Sent: Monday, November 22, 1999 2:15 PM
To: 'John Clogg'
Subject: RE: DBBEGIN versus DBXBEGIN


You are correct. Did you catch the second part of my reply, I sort of
corrected myself. I thought about it again after I sent my response. I will
think it through next time, I was thinking more about the 4MB issue and XM.

Oh well....

DBXBEGIN-DBXEND:

Is a controlling a transaction with transaction recovery, rollback. This
works with XM. Also, careful of some limits.

In IMAGE/SQL, the rollback capability is supported by enclosing every
transaction with a pair of DBXBEGIN and DBXEND calls. By doing this, the
user can roll back a transaction if needed. However, the problem with the
rollback capability is the limit placed on the rollback log buffer size. The
transaction manager limits the buffer size to 4 MB, so if a user wants to
commit a transaction that is greater than 4 MB, the transaction can't be
completed. In TurboIMAGE, the user can override the rollback capability by
not enclosing a transaction with a pair of DBXBEGIN and DBXEND calls; this
is not the case for gateway access through IMAGE/SQL.

-----Original Message-----
From: John Clogg [mailto:[log in to unmask]]
Sent: Monday, November 22, 1999 1:05 PM
To: 'John Saylor'
Subject: RE: DBBEGIN versus DBXBEGIN


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