Certain pathological nested $SELECT() statements do not cause abnormal process termination
Final Release Note
Certain pathological cases of nested $SELECT() expressions do not cause process termination with GTMASSERT2 failures. Previously they did. This was discovered in the YottaDB development environment and was never reported by a user. [#546 (closed)]
Description
The following generates a compile-time GTMASSERT2:
$ cat z.m
set false=0
if (0'&($select((false?1A):0,(0'?1A):(false!0),$select(false:0,false:1,false:1,1:1):1)))
$ yottadb z.m
%%YDB-F-GTMASSERT2, YottaDB r999 Linux x86_64 - Assert failed sr_port/emit_code.c line 1602 for expression (FALSE && opr->oprclass)
The following similar code generates a run-time GTMASSERT2:
$ cat v.m
set false=0
if (null!($select(false:(1&0),false:($select(false:false,1:false)),1:1)))
$ yottadb -run v
%YDB-F-GTMASSERT2, YottaDB r999 Linux x86_64 - Assert failed sr_port/op_gvrectarg.c line 67 for expression (MV_IS_STRING(v))
Draft Release Note
Certain pathological cases of nested $SELECT() expressions no longer cause process termination with GTMASSERT2 failures. This was discovered in the YottaDB development environment and was not reported by a user. [#546 (closed)]