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><span class="hljs-keyword">zw</span> <span class="hljs-symbol">^rcc</span>
<span class="hljs-symbol">^rcc</span>=<span class="hljs-number">0</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-string">""</span>)=<span class="hljs-string">"***"</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-string">""</span>,<span class="hljs-number">1</span>)=<span class="hljs-string">"*,1"</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-number">1</span>,<span class="hljs-string">""</span>)=<span class="hljs-string">"1,*"</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>)=<span class="hljs-string">"1,2"</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-string">""</span>)=<span class="hljs-string">"1,2,*"</span>
But SMP had no idea what is going on.
And after switching off that flag this was still partialy visible, but read-only
USER><span class="hljs-keyword">zw</span> <span class="hljs-symbol">^rcc</span>
<span class="hljs-symbol">^rcc</span>=<span class="hljs-number">0</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-number">1</span>,<span class="hljs-string">""</span>)=<span class="hljs-string">"1,*"</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>)=<span class="hljs-string">"1,2"</span>
<span class="hljs-symbol">^rcc</span>(<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-string">""</span>)=<span class="hljs-string">"1,2,*"</span>
I just don't understand.