YottaDB r1.28
Binary Distributions
sha256sum | file |
---|---|
3f1968f882e6f54f89a12b3eb8a4bbf6d769e5fe46c69272fcddc93cb0e102d3 |
yottadb_r128_debian10_x8664_pro.tgz |
6a44f544dfa3b753bee7f13480699cc5b6f5aa108af06f99d872bd6f50c9f078 |
yottadb_r128_linux_aarch64_pro.tgz |
4c04380fd35f15a1fc1669e9d0519d770b834f2335db4a3b2250611bf99f43ef |
yottadb_r128_linux_armv6l_pro.tgz |
6c8e61c37d63eae071f2e8a2d57f232237dff7f9e19f286c125e4faab7b01243 |
yottadb_r128_linux_armv7l_pro.tgz |
f5df150d7659fc4b050b89cbc2e9f6a01e117ed1b5e1ccb133b9ebb70d9d40d3 |
yottadb_r128_linux_x8664_pro.tgz |
6200c81f349cf9c4e7ee5120530248bcdffff611621416d57b3cd8f9693c29c2 |
yottadb_r128_rhel7_x8664_pro.tgz |
22e8289e136c165b68b6c9657dcc9702a1d223587c36ae8874ceb56f7b7ddf20 |
yottadb_r128_centos8_x8664_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | September 11, 2019 | r1.28 Initial Release |
1.01 | March 31, 2020 | Added CentOS 8 Build |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104 Malvern, PA 19355, USA info@yottadb.com +1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
-
For requests other than to the communities below, post an Issue at https://gitlab.com/YottaDB/DB/YDB/issues and include the words "Help Wanted" in the summary.
-
For requests specific to the use of YottaDB from node.js via nodem, QewdJS or Enterprise Web Developer, post to the Enterprise Web Developer community.
-
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.
r1.28
Overview
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.
YottadB r1.28 is upward compatible with YottaDB r1.26, and thus upward compatible with GT.M V6.3-006, and GT.M V6.3-007.
Platforms
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.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | 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 info@yottadb.com 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 info@yottadb.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 info@yottadb.com 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.
Installation
See our Get Started page to use YottaDB.
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.
Change History
r1.28
YottaDB r1.28 includes the following changes from YottaDB r1.26.
ID | Category | Summary |
---|---|---|
(#469) | Language | $FNUMBER() formatting code "." facilitates number formatting |
(#471) | Other | Sourcing ydb_env_set and ydb_env_unset provides more information in the event of an error |
(#472) | Language | ydb_data_s()/ydb_data_st() return YDB_DATA_ERROR in case of error |
(#475) | Language | ydb_lock_incr_s(), ydb_lock_decr_s(), and ydb_lock_s() check for too many subscripts |
(#477) | Language | NEW accepts $TEST as an argument |
(#480) | Language | Incrementing a variable whose initial value is zero or undefined with a seven or more digit increment returns the correct string value |
Database
Language
-
To facilitate application internationalization, $FNUMBER() accepts the following formatting code (i.e., as the second argument):
-
"."
: inserts periods ("."
) every third position to the left of the decimal within the number and uses a comma (","
) as the decimal separator.
[#469]
-
-
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]
System Administration
Other
- With the %YDBENV program (invoked while sourcing the
ydb_env_set
andydb_env_unset
files), the error output includes the output ofZSHOW "*"
in addition to the single line error message. Previously, it was only the single line error message, which provided less information when troubleshooting. [#471]
More Information
Error Messages
Legal Stuff
Copyright © 2019 YottaDB LLC
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.