Release 3.4-5 of the QM Multivalue Database is now available!
The latest release of OpenQM is now available for download. QpenQM is a high-performance, self-tuning database supporting MultiValue applications on Linux, Windows Server and IBM AIX. At less than half the price of comparable databases, OpenQM comes bundled with AccuTerm and provides incredible features including auto-sizing of database files, object-oriented programming and now, Python support. Download Now
What’s in this release?
This release introduces the ability to log every command executed on the system together with its origin. This may be useful for diagnostic purposes but has been added primarily to meet audit rules applicable to some applications.
The DIR.SEL.OMIT.HIDDEN mode of the OPTION command causes select operations against directory files to omit hidden items.
The ED, MODIFY and SED editors now all support automatic sequential record id generation.
The SCAN command provides a simpler and more logical semantics for the DISPLAY mode of the SEARCH command.
The AS clause of the SETPTR command has been extended to allow use of an alternative hold file name.
The SHOW.LIST command displays an active numbered select list, allowing the user to remove items from the list using keystrokes based on those of the SHOW command.
The SP.VIEW command has been extended to allow hold file items to be deleted.
Two new QMBasic functions, BOOL() and NUMERIC() have been added as an efficient way to transform data to Boolean or numeric form. The STR() function with the second set to one or omitted provides the most efficient way to force a value to be stored as a string.
The QMBasic FCONTROL() function has a new mode, FC$CRLF, to allow a program to override the default operating system dependent selection of directory file line terminator.
The QMBasic JBUILD() function has been modified to encode any mark characters in a JSON string element as hex Unicode values. The effect of this is that a JSON string can always be stored as an element of a dynamic array such as a database record.
The QMBasic MATBUILD and MATWRITE statements have been enhanced to return the last used matrix element index via the INMAT() function in a manner similar to MATPARSE and MATREAD.
The QMBasic SET.ESC.MAP.NAME() function can be used to change the ECS character map within an application program.
The sort system now allows data or keys over 32k characters.
The QMClient API has been extended to allow use in multi-threaded applications on all platforms (previously Windows only).
This release introduces the Python wrapper for the QMClient API. See the qmclient.py item in the SYSCOM file for details.
A new tool catalogued as *FIXDIR has been added to provide a simple way to correct the line terminator in a directory file item that has been moved between Windows and Linux in binary mode.