Hi, Yes, a trigger starts a automatic "BEGIN TRANSACTION" !! With SB+, this is a trouble I suffer too, I've already submited to IBM to request a ISOMODE enforcement of SB+ internals subroutines. The IBM's doc says **we recommend that you modify any transactions that do not follow this rule as soon as possible** ; but "The shoemaker is always the worst shod."
Yes, there is a uvconfig param to change it : ISOMODE ( UV docs, Basic ref - Isolation levels - ISOMODE ) If set to 0, you don't need to acquire the READU lock before WRITE/DELETE !! (be carefull with it)) Manu Using the ISOMODE Configurable Parameter The ISOMODE parameter controls the minimum locking requirements for each UniVerse system. By enforcing a minimum level of locking, the transaction management subsystem guarantees that no transaction suffers a lost update due to the actions of another transaction. Protection against lost updates is an important property of serializability. You can set ISOMODE to one of the following settings: ISOMODE Settings Setting Description 0 Provides backward compatibility. Transactions are not required to use well-formed writes. 1 Enforces well-formed writes in UniVerse BASIC transactions. This is the default. 2 Enforces well-formed writes in UniVerse BASIC programs, whether or not they are in a transaction. The default ISOMODE setting 1 ensures that BASIC transactions obey the locking rules for isolation level 1, as described in the following table. This means a record cannot be written or deleted in a transaction unless the record or file is locked for update. A write or delete of a locked record is known as a well-formed write. ISOMODE setting 0 provides compatibility with earlier UniVerse releases that did not enforce the requirement for well-formed writes in transactions. Since transactions should always use well-formed writes, we recommend that you modify any transactions that do not follow this rule as soon as possible, so that you can set ISOMODE to 1. Setting ISOMODE to 2 enforces all writes and deletes in UniVerse BASIC to be well-formed. This mode is available so that when converting an application to use transactions, you can determine whether any programs have not yet been converted. You should not use ISOMODE 2 permanently since many UniVerse system programs are not (and need not be) transactional. > -----Message d'origine----- > De : [EMAIL PROTECTED] [mailto:owner-u2- > [EMAIL PROTECTED] De la part de Susan Joslyn > Envoyi : mercredi 26 novembre 2008 11:26 > @ : [email protected] > Objet : RE: [U2] Universe triggers + SB+ > > Manu, > You are a life-saver! Thank you! I didn't know about $OPTIONS PICK > and > that truly solves the problem! > > Which took me to the next problem. The trigger program appears to be > much > more rigorous about record locks. That's fine for code that I can get > to, > but it announces that I don't have the record locked for stuff that's > happening inside SB+ that I can't get to. Is there a way loosen up > these > constrictions? > > > Program "UV.ED": pc = 73EC, Program "SB.GEN.DRIV.I": Line 793, FATAL: > The > locks > necessary for database operations at the current isolation level (0) > are not > held by this process. > > Susan > > > Date: Tue, 25 Nov 2008 19:43:20 +0100 > From: "Manu Fernandes" <[EMAIL PROTECTED]> > Subject: > Hi, > > Do you use the $OPTIONS PICK into the basic code before INCLUDE > DMSKELCODE > COMMON ? > > My two pence. > Manu > > > > -----Message d'origine----- > > De : [EMAIL PROTECTED] [mailto:owner-u2- > > [EMAIL PROTECTED] De la part de Susan Joslyn > > Envoyi : mardi 25 novembre 2008 18:10 > > @ : [email protected] > > Objet : [U2] Universe triggers + SB+ > > > > Has anyone successfully enabled Universe trigger programs that call > SB+ > > enabled programs? I'm getting COMMON mis-match and other errors. > > > > > > > > TIA, > > > > Susan Joslyn > > ------- > ------- > u2-users mailing list > [email protected] > To unsubscribe please visit http://listserver.u2ug.org/ ------- u2-users mailing list [email protected] To unsubscribe please visit http://listserver.u2ug.org/
