For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
For requests specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
For users of YottaDB using the Go API, r1.28 is a major release because it is required for production grade access to YottaDB from Go. For others, it is a minor release with a small set of enhancements anf fixes as detailed in the complete release notes.
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported. Supported means that we have the platform in our development environment and test each release on that platform. Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it. All others are Unsupported.
Supported OS Version(s)
Ubuntu 18.04 LTS; Red Hat Enterprise Linux 7.6; Debian GNU/Linux 10 (Buster)
There are separate binary distributions for each OS version, owing to differences in library versions of those distributions.
64-bit ARM (Raspberry Pi 3 Model B)
Ubuntu 18.04 LTS
While YottaDB is Supportable on other ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact firstname.lastname@example.org if you want a specific combination of OS and CPU microarchitecture to be Supported.
32-bit ARM (Raspberry Pi 3 Model B)
Raspbian GNU/Linux 10 (Buster)
While YottaDB is Supportable on other ARMv7-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact email@example.com if you want a specific combination of OS and CPU microarchitecture to be Supported.
32-bit ARM (Raspberry Pi Zero)
Raspbian GNU/Linux 9.1
While YottaDB is Supportable on other ARMv6 CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact firstname.lastname@example.org if you want a specific combination of OS and CPU microarchitecture to be Supported.
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
On Ubuntu releases after 18.04 LTS, YottaDB needs the libtinfo5 package to be installed.
On Arch Linux and other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions significantly newer than those used in building the distribution.
We strongly recommend that you install YottaDB r1.28 in a newly created directory, different from those of YottaDB r1.26 and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist points to the directory where YottaDB is installed:
Cleanly shut down all application processes using that release.
Execute mupip rundown && mupip rundown -relinkctl
Ensure that there are no gtcm* or gtmsecshr processes active.
Use sudo lsof | grep $ydb_dist to ensure there are no open files.
Delete the directory with sudo rm -rf $ydb_dist
Upgrading to YottaDB r1.28
As YottaDB r1.28 is upward compatible from YottaDB r1.26, GT.M V6.3-006 and GT.M V6.3-007, the minimal upgrade steps are:
Install YottaDB r1.28.
Install plugins you use.
Recompile object code, and recreate shared libraries where appropriate.
If you are using encryption, compile and install the reference implementation plugin or your customized plugin.
Cleanly shut down the application and ensure that the database files are shut down using mupip rundown from the prior release.
Switch journal files with the new YottaDB release.
Start using the new YottaDB release.
If the database has triggers defined with non-canonical numbers, or numbers specified as strings with any version prior to r1.26, or if you are unsure, extract the trigger definitions, delete existing triggers, and reload the trigger definitions. Issue [#430] from r1.26 has a series of steps you can copy and execute.
To upgrade from older GT.M releases, first upgrade to GT.M V6.0-000 or later and follow the steps above, or contact your YottaDB support channel for assistance and guidance.
A more sophisticated upgrade technique is:
Install YottaDB r1.28.
Create a new replicated instance of your application (on the same system or a different system).
Assuming the existing instance is A, and the new instance is B, upgrade B to r1.28 and start replicating from A to B.
Once B catches up, switchover so that B is in a primary role replicating to A.
Once you are satisfied with B, remove (or upgrade) A.
When ydb_data_s() or ydb_data_st() get an error, the return value in *ret_value is set to YDB_DATA_ERROR. Previously the return value was zero which is a valid return value. [#472]
ydb_lock_incr_s(), ydb_lock_decr_s(), and ydb_lock_s() validate that the number of subscripts provided does not exceed the maximum. Previously specifying too many subscripts resulted in uninformative assert failures and buffer overflows. [#475]
The NEW command accepts $TEST as an argument. Previously, it did not. YottaDB would like to thank SP.ARM for contributing this enhancement. [#477]
Using $INCREMENT(), ydb_incr_s(), or ydb_incr_st() to increment a variable whose initial value is zero or undefined with an increment of seven digits or more returns the correct string value. Previously, while the numeric value of the result was correct, the string value was the empty string (""). Depending on how the result was used, it could have been wrong. [#480]
With the %YDBENV program (invoked while sourcing the ydb_env_set and ydb_env_unset files), the error output includes the output of ZSHOW "*" in addition to the single line error message. Previously, it was only the single line error message, which provided less information when troubleshooting. [#471]
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.
YottaDB® and Octo® are registered trademarks of YottaDB LLC.
GT.M™ is a trademark of Fidelity National Information Services, Inc.
Other trademarks belong to their respective owners.
This document contains a description of YottaDB and the operating instructions pertaining to the various functions that comprise the software. This document does not contain any commitment of YottaDB LLC. YottaDB LLC believes the information in this publication is accurate as of its publication date; such information is subject to change without notice. YottaDB LLC is not responsible for any errors or defects.