Question
· Mar 17, 2023

A confusing experience

During my last migration to IRIS I met this Compatibility parameter

  • NullSubscripts    true
0 - Throw error when referencing a null subscript.
1 - Null subscript references do not throw an error.

The consequences are shocking. This was allowed:

USER>zw ^rcc
^rcc=0
^rcc("")="***"
^rcc("",1)="*,1"
^rcc(1,"")="1,*"
^rcc(1,2)="1,2"
^rcc(1,2,"")="1,2,*"

But SMP had no idea what is going on. 

And after switching off that flag this was still partialy visible, but read-only

USER>zw ^rcc
^rcc=0
^rcc(1,"")="1,*"
^rcc(1,2)="1,2"
^rcc(1,2,"")="1,2,*"

I just don't understand.

Product version: IRIS 2022.3
$ZV: IRIS for Windows (x86-64) 2022.3 (Build 606) Mon Jan 30 2023 09:20:17 EST
Discussion (5)3
Log in or sign up to continue

I remember working on a system like that written in something called MaxiMumps. When doing their equivalent of $Order the second time you found null was the end of the subscript range.

They also had an post-conditional character ";" which behaved like "if not". These two lines were effectively the same.

S:A'=B C=D

S;A=B C=D

...to save a character!