Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

TSTART

1995 Version of ANSI (Equivalent to Current ISO Version) of Standard

8.2.22 TStart

TS[TART] postcond


[ SP ]
SP tstartargument
SP @ expratom V L tstartargument



    tstartargument::= [ restartargument ] [ : transparameters ]
    restartargument::=



lname
( L lname )
*
( )




    transparameters::=

tsparam
( tsparam [ : tsparam ] ... )


    tsparam::= tstartkeyword [ = expr ]

tstartkeywords that differ only in the use of corresponding upper and lower-case letters are equivalent. The standard defines the following keywords:
   S[ERIAL]
   T[RANSACTIONID] = expr
   Z[unspecified] [ = expr ]

Unused keywords other than those starting with the letter "Z" are reserved for future enhancement of the standard.

After evaluation of postcond, if any, and tstartargument, if any, TStart adds one to $TLevel. If, as a result, $TLevel is one, then TStart initiates a TRANSACTION that is restartable if a restartargument is present, or non-restartable if restartargument is absent; and serializable independently of Locks if transparameters are present and contain the keywords SERIAL or S, or dependent on Locks for serialization if those keywords are absent.

The tsparam, TRANSACTIONID, provides a means for identifying arbitrary classes of TRANSACTIONs.

The following discussion uses terms defined in the Variable Handling (see 7.1.2.2) and Process-Stack (see 7.1.2.3) models and, like those subclauses, does not imply a required implementation technique. TStart creates a REstart CONTEXT-STRUCTURE containing the execution location of the TStart command, values for $Test and the naked indicator, a copy of the process Lock-LIST, a REstart NAME-TABLE and an exclusive indicator. TStart attaches the CONTEXT-STRUCTURE to a linked list of such REstart CONTEXT-STRUCTUREs for the current TRANSACTION and also to a linked list of CONTEXT-STRUCTUREs associated with the current PROCESS-STACK frame. TStart copies from the currently active NAME-TABLE to the REstart NAME-TABLE all entries corresponding to the local variable names specified by the restartargument. TStart also points the entries in the REstart NAME-TABLE to copies of VALUE-TABLE tuples containing values that persist unchanged from the point that the TStart command created the NAME-TABLE. When the restartargument is an asterisk (*), it specifies all current names and causes the CONTEXT-STRUCTURE to be marked as exclusive.

Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.

This page most recently updated on 15-Nov-2023, 18:56:29.

For comments, contact Ed de Moel (demoel@jacquardsystems.com)