This & it's ilk have always been an "Undocumented Feature" in both PI & UV.
001: I
002: @1...@record<8>
If it ever stops working, The pitchforks are coming out.
Recent versions of the documentation have added a bit of a disclaimer,
rather than embracing the feature:
Note: If you use @ in the first expression of a compound expression, its
value is
indeterminate. Similarly, the value of @n is not defined if it is used
in expressions @1
through @n – 1 of a compound expression. For example, the value of @5 is
indeterminate if you use it in the fourth expression.
- UV 10.3 System Description pg, 5-33
Martin Phillips wrote:
I was quite surprised that this worked in UV. It makes an assumption
that the @1 variable persists beyond the life of the I-type. It also
makes an assumption that the query includes no other I-types that
would overwrite this value.
It has always struck me as odd that the query language doesn't have a
keyword to do this much like totals, averages, etc. At risk of being
told that I am shouting on the wrong list, QM does.
Martin,
I take it QM does not support this use of the @n buffers, then?
If I may change the subject slightly, how about nested compound
I-descriptors?
UV has this disclaimer on the same page as the previous one:
Note: You cannot refer to a compound I-type expression in another I-type
expression
because the dictionary compiler is unable to properly evaluate it. This
means that an
I-type expression cannot contain the name of an I-descriptor that
contains another
compound expression.
Does QM have the same restriction? I don't see why it should, especially
if these @n buffers are not common accross all I-descriptors as in UV.
Chuck Stevenson
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users