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

Reply via email to