Default value for $ZGBLDIR is the empty string
Final Release Note
If $ydb_gbldir and $gtmgbldir are both unset, or set to the empty string (""), YottaDB defaults the value of $ZGBLDIR to the empty string. Previously, it defaulted to "$PWD/$ydb_gbldir.gld" if they were both unset, or "$PWD/*.gld" if set to the empty string, which could result in undesirable side effects if GDE were run inadvertently. DSE FIND REGION '*' prints the complete path to the global directory. Previously, it just printed an empty string. [#999 (closed)]
Description
If $ydb_gbldir and $gtmgbldir are both unset, YottaDB forces a value to $ZGBLDIR that is a legal file name:
$ unset ydb_gbldir gtmgbldir ; yottadb -run %XCMD 'w $zg,!'
/home/ydbuser/$ydb_gbldir.gld
$
The potential issue with this is that if GDE is run inadvertently, it will actually create a global directory, and subsequent code might even use it to create a database and set global variables. It would be better to have the global directory default to the empty string, or /dev/null to avoid this. The workaround is ugly:
$ unset ydb_gbldir gtmgbldir ; ydb_gbldir=${ydb_gbldir:-"/dev/null"} yottadb -run %XCMD 'w $zg,!'
/dev/null.gld
$
Also, inside M, it would be desirable to allow $ZGBLDIR to be set to the empty string or /dev/null. The empty string is preferred, but if /dev/null` is acceptable.
Draft Release Note
If $ydb_gbldir and $gtmgbldir are both unset, YottaDB defaults the value of $ZGBLDIR to the empty string (""). Previously, it defaulted to $PWD/$ydb_gbldir.gld which could result in undesirable side effects if GDE were run inadvertently. The enhancement also allows $ZGBLDIR to be set inside YottaDB to the empty string. [#999 (closed)]