Release 3.4-3 of the QM Multivalue Database is now available!
What’s in this release?
This release extends the data encryption features of QM to allow encryption of records in directory files and encryption of indices on hashed files that use record level encryption. Also, encryption keys can be password protected.
The I-type compiler now allows references to dictionary items with hyphens in their names.
The CREATE.INDEX and MAKE.INDEX commands have a DELETING option to delete any previously existing index of the same name as the one being created.
The DELETE.COMMON command has been extended to allow deletion of all except a given list of common blocks.
The IF IN construct in a paragraph now has a NO.CASE option for case insensitivity.
The LISTU command now marks phantom processes that are grouped with their parent.
The COMMAND.LEVEL.LOCKS mode of the OPTION command associates record and file locks with the command processor level at which they were acquired, releasing locks automatically on return to the command processor at that level.
The QUERY.FOOTER.PAUSE mode of the OPTION command causes a query processor report with a footer to pause for user input. This gives greater compatibility with other multivalue systems.
QMBasic expressions can use the ~= operator to force a case insensitive string comparison.
The QMBasic OPENTEMP statement creates and opens a temporary file that will be deleted automatically when it is closed. The FILEINFO() function FL$TEMP key allows an application to detect whether an open file is temporary.
The QMBasic OSPATH() function with key value 20 (OS$INFO) returns a dynamic array of file information similar to that returned by the STATUS statement.
Key value 1073 (SYS$GROUPED.CHILDREN) to the SYSTEM() function is similar to key value 1058 (SYS$CHILDREN) but includes only phantom processes that are grouped to terminate with their parent.