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

MERGE

Draft MDC Standard

8.2.23 Merge

M[ERGE] postcond SP L mergeargument

    mergeargument::=

glvn1 = glvn2
@ expratom V L mergeargument


Merge provides a facility to copy a glvn2 into a glvn1 and all descendants of glvn2 into descendants of glvn1 according to the scheme described below.

Merge does not Kill any nodes in glvn1, or any of its descendants.

Assume that glvn1 is represented as A(i1 , i2 , ... , ix ) (x '< 0) and that glvn2 is represented as B(j1 , j2 , ... , jy ) (y'<0). Then:

  1. If $Data( B(j1 , j2 , ... , jy ) ) has a value of 1 or 11, then the value of glvn2 is given to glvn1.
  2. The value for every occurrence of z, such that z > 0 and $Data( B(j1 , j2 , ... , j y + z ) ) has a value of 1 or 11, the value of B(j1 , j2 , ... , j y + z ) is given to A(i1 , i2 , ... , ix , j y + 1 , j y + 2 , ... , j y + z ).

The state of the naked indicator will be modified as if $Data( glvn2 ) # 10 = 1 and the command Set glvn1 = glvn2 would have been executed.

If glvn1 is a descendant of glvn2 or if glvn2 is a descendant of glvn1 an error condition occurs with ecode = "M19".

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.

Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.

This page most recently updated on 15-Nov-2023, 14:46:00.

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