This release introduces support for data collections, arbitrarily multi-dimensional data managed as name/value pairs. See the Data Collections section of the QM Reference Manual for details.
The data collections development has required addition of a Boolean data type in QM. This has been supported since release 3.2-2 but the @TRUE and @FALSE symbolic constants have continued to be evaluated as 1 and 0 respectively. From release 3.3-0, these constants will evaluate as the new Boolean data type. A NUMERIC.BOOLEAN option for the $MODE compiler directive has been included for use where programs compiled on release 3.3-0 or later must be able to run on releases prior to 3.2-2, however, use of this mode may cause data type issues in JSON strings constructed from data collections. Boolean values continue to be interpreted as 1 and 0 when used in situations that require a numeric value.
The MAXRLOCK private configuration parameter can be used to set a limit on the number of record locks that may be held by a single QM process.
See section 2.2 of the readme file regarding an automated update to QM files applied during an upgrade installation.
The GET.LIST and QSELECT commands now honour the CHAINED.SELECT OPTION setting.
When using a multivalued pattern in the MATCHES operator or the MATCHFIELD(), MATCHESS() or PARSE() functions, the value that matched can be determined by use of the INMAT() function.