Skip to content

Releases: YottaDB/YDB

[r2.00] Prepare for YottaDB r2.00 release

23 Feb 20:24
d87c914
Compare
Choose a tag to compare

YottaDB r2.00

Release Note Revision History

Revision Date Summary
1.00 February 23, 2024 r2.00 Initial Release

Contact Information

YottaDB LLC

https://yottadb.com / [email protected]

Support

Customers

Contact YottaDB or your YottaDB support channel for support with assured service levels from knowledgeable staff.

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.

r2.00

Overview

YottaDB r2.00 is a major new release with substantial new functionality and database format enhancements.

  • Inherited from the upstream GT.M V7.0-000, YottaDB r2.00 creates database files of up to 16Gi blocks. For example, the maximum size of a database file with 4KiB blocks is 64TiB, which means you can use fewer regions for extremely large databases. With YottaDB r2.00, you can continue to use database files created by r1.x releases, except that the maximum size of a database file created with prior YottaDB releases remains unchanged.
  • For direct mode, as well as utility programs, YottaDB can optionally use GNU Readline, if it is installed on the system. This includes the ability to access and use command history from prior sessions. (YDB#88)
  • Listening TCP sockets can be passed between processes. (YDB#996)
  • The ydbinstall / ydbinstall.sh script has multiple enhancements.

In addition to enhancements and fixes made by YottaDB, r2.00 inherits numerous other enhancements and fixes from GT.M V7.0-000 and V7.0-001, all described in the Change History.

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, test each release on that platform, and provide a binary distribution for it.
  • 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 22.04 LTS; Red Hat Enterprise Linux 8.x; Red Hat Enterprise Linux 9.x; SUSE Linux Enterprise 15.x; Debian GNU/Linux 12 (Bookworm) 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) Debian GNU/Linux 12 (Bookworm) See below.
32-bit ARM (Raspberry Pi Zero) Debian GNU/Linux 12 (Bookworm) See below.

Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:

  • ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8, and OpenSUSE Leap 15.x as equivalent to SUSE Linux Enterprise 15.x, installing the releases for the corresponding distributions. Note that Rocky Linux and OpenSUSE Leap are Supportable, not Supported.
  • On Arch Linux and other leading edge distributions such as OpenSUSE Tumbleweed, and newer OS versions such as Red Hat Enterprise Linux 9.x, YottaDB will need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The --from-source option of ydbinstall.sh simplifies the process.
  • While YottaDB is Supportable on other ARMv6, ARMv7-A, and 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 listed above. Please contact us if you want a specific combination of OS and CPU microarchitecture to be Supported.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r2.00 in a newly created directory, different from those of prior YottaDB releases 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 and review the output to ensure successful completion.
  • Ensure that there are no gtcm* or gtmsecshr processes active.
  • Use sudo lsof | grep $ydb_dist to ensure there are no open files.
    • If there are links to files in $ydb_dist, e.g., from /usr/local/bin/ or /usr/local/etc/, remove the links.
  • Delete the directory with sudo rm -rf $ydb_dist

Upgrading to YottaDB r2.00

YottaDB r2.00 is upward compatible from YottaDB r1.38, GT.M V7.0-000 and V7.0-001. The minimal upgrade steps are:

  • Install YottaDB r2.00. Use ydbinstall / ydbinstall.sh to install plugins you use.
  • Install plugins you need in addition to those installed in the previous step, e.g., non-YottaDB plugins that are not installed by ydbinstall / ydbinstall.sh.
  • Recompile object code, and recreate shared libraries if your application uses shared libraries.
  • If your application uses encryption, compile and install the reference implementation plugin (if not done by the ydbinstall / ydbinstall.sh script) 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.28, or if you are unsure, extract the trigger definitions, delete existing triggers, and reload the trigger definitions. Issue [(430)(https://gitlab.com/YottaDB/DB/YDB/-/issues/430)] from r1.28 has a series of steps you can copy and execute. There is no need to do this if upgrading from r1.28 or later.

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 cha...

Read more

r1.38

30 Mar 17:32
5f6623f
Compare
Choose a tag to compare

YottaDB r1.38

Binary Distributions

sha256sum file
e0508848eac5963b73ca06f60132b4877f70d8d8f8398bd0c0e0b8713c814167 yottadb_r138_aarch64_debian11_pro.tgz
c3fed1e2eccdbe0b8b33ba2d74524411cc8ce52b17621b32e50971d5f2477ed8 yottadb_r138_armv6l_debian11_pro.tgz
0839b30f87f0e318b5819f17353e0c3da102c86210d306b468866be3b0dcfe81 yottadb_r138_x8664_debian11_pro.tgz
d517e7329c8fbd22043db87bea29e9d77e9da0202d40261b8fef958dfe0c2d75 yottadb_r138_x8664_rhel8_pro.tgz
f9d68ac3d748a9945b2a7e42c77d14c2ae00633af2312296f69831c95c8b0492 yottadb_r138_x8664_sle15_pro.tgz
9fe0021cbb71eb7f1792e475c0c90872294316b4983fbdd2b3468fa5c5ffa905 yottadb_r138_x8664_ubuntu2204_pro.tgz

Release Note Revision History

Revision Date Summary
1.00 March 30, 2023 r1.38 Initial Release

Contact Information

YottaDB LLC

https://yottadb.com / [email protected]

Support

Customers

Contact YottaDB or your YottaDB support channel for support with assured service levels from knowledgeable staff.

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.

r1.38

Overview

YottaDB r1.38 is a minor release that includes functionality needed by a customer on short notice.

  • A MUPIP REPLICATE option provides for a replication stream to include updates made by triggers on the source instance. (722)
  • $ZPEEK() and ^%PEEKBYNAME() provide direct access to an additional process-private structure. [986)
  • The -gui option of ydbinstall / ydbinstall.sh installs the YottaDB GUI. (988)
  • Changes to the subscripts of ^ydbJNLFRECTBL and more meaningul SQL column names make %YDBJNLF more useful. (990)

The %YDBJNLF utility program, which was released as field-test software in r1.36, is considered Supported for production use in r1.38. Also, the Supported level of Ubuntu on x86_64 moves up from 20.04 LTS to 22.04 LTS.

While all YottDB software is free to use under our free / open-source software licensing, r1.38 illustrates the value of being a YottaDB customer rather than a user: in addition to support with assured service levels, we will work with you to prioritize enhancements and fixes you need.

As with all YottaDB releases, there are a number of fixes and smaller enhancements, as described in the Change History.

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 22.04 LTS; Red Hat Enterprise Linux 8.x; SUSE Linux Enterprise 15.x; Debian GNU/Linux 11 (Bullseye) 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) Debian GNU/Linux 11 (Bullseye) See below.
32-bit ARM (Raspberry Pi Zero) Debian GNU/Linux 11 (Bullseye) See below.

Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:

  • ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8, and OpenSUSE Leap 15.x as equivalent to SUSE Linux Enterprise 15.x, and installs the corresponding versions. Note that Rocky Linux and OpenSUSE Leap are Supportable, not Supported.
  • On Arch Linux and other leading edge distributions such as OpenSUSE Tumbleweed, YottaDB will likely need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The --from-source option of ydbinstall.sh simplifies the process. (754)
  • While YottaDB is Supportable on other ARMv6, ARMv7-A, and 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 listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.38 in a newly created directory, different from those of prior YottaDB releases 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.38

As YottaDB r1.38 is upward compatible from YottaDB r1.36. The minimal upgrade steps are:

  • Install YottaDB r1.38. Use ydbinstall / ydbinstall.sh to install plugins you use.
  • Install plugins you need in addition to those installed in the previous step.
  • Recompile object code, and recreate shared libraries if your application uses shared libraries.
  • If your application uses encryption, compile and install...
Read more

YottaDB r1.36

28 Dec 22:00
31b5a92
Compare
Choose a tag to compare

YottaDB r1.36

Binary Distributions

sha256sum file
49f1f0d2c468a986b9dcff4fce4644d828e792f5588545cfc1570d7f55048b52 yottadb_r136_aarch64_debian11_pro.tgz
a99bee5d184f9e55965301b79ccdf7dd7955d73993e6dbd4742e2b4180f3b12c yottadb_r136_armv6l_debian11_pro.tgz
ce7ba5e82163b95decc0fec18e09fccaf700bbac014e005aa7bf4e85ae1c0190 yottadb_r136_x8664_debian11_pro.tgz
17199f85a910116d69cd5cc319f324519700f5913c416980fb0c413e0225fbe2 yottadb_r136_x8664_rhel8_pro.tgz
c7ba7bb0a75838acf2daa1d3ecc1a98b38b800bfa3741195f0bdf0d78714dd92 yottadb_r136_x8664_sle15_pro.tgz
92e316e279ab6352f02cc61d5ae7cdfb5a2ae23b71cf826376bafebcd438efd6 yottadb_r136_x8664_ubuntu2004_pro.tgz

Release Note Revision History

Revision Date Summary
1.00 28th Dec 2022 r1.36 Initial Release

Contact Information

YottaDB LLC

https://yottadb.com / [email protected]

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.

r1.36

Overview

YottaDB r1.36 is a major release, not because it has a common theme, but because of the number of enhancements that it includes.

  • On x86_64 architectures, SUSE Enterprise Linux 15.x is a Supported platform, and OpenSUSE Leap 15.x is Supportable. As OpenSUSE Tumbleweed is a rolling release, you may need to build the release from source code.
  • There is new functionality for diagnostics, troubleshooting, and forensics, e.g.
    • $zstatus after INVVARNAME identifies the offending variable name in $ZWRITE format (181)
    • Easier use of journal extract data for troubleshooting and forensics (922)
    • %YDBPROCSTUCKEXEC captures DSE file headers (937)
    • The SYSCALL message identifies file name if $ZROUTINES has Permission denied error (954)
  • YottaDB is friendlier to Kubernetes.
    • YottaDB runs in environments where the OS reports the terminal name as an empty string (491)
  • There are enhancements to make programming easier, e.g.
    • ydb_buffer_t can now be used for passing string values between C and M (565)
    • The COMMAND deviceparameter limit for PIPE devices is 1MiB (708)
    • $ZGETJPI() time measurements for processes other than the current process (908)
    • The %ZMVALID() utility function checks whether a string is a syntactically correct line of M code (919)
    • SET $ZGBLDIR sets ydb_cur_gbldir env var to new value of $ZGBLDIR (941)
    • VIEW "GBLDIRLOAD" refreshes cached copies of global directories (956)

r1.36 also inherits enhancements and fixes from GT.M V6.3-012, V6.3-013, and V6.3-014. Note that the %JSWRITE utility released with V6.3-012 is not publicly available, and is presumably therefore not available under a FOSS license. As there are numerous options to import and export global variables in JSON, please contact YottaDB to discuss what options might best fit your needs.

As with all YottaDB releases, there are a number of fixes and smaller enhancements, as described in the Change History.

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 20.04 LTS; Red Hat Enterprise Linux 8.x; SUSE Linux Enterprise 15.x; Debian GNU/Linux 11 (Bullseye) 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) Debian GNU/Linux 11 (Bullseye) See below.
32-bit ARM (Raspberry Pi Zero) Debian GNU/Linux 11 (Bullseye) See below.

Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:

  • Future releases of YottaDB will require 22.04 LTS as the minimum required Ubuntu version. Please contact your YottaDB support channel if this raises any concerns.
  • ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8, and OpenSUSE Leap 15.x as equivalent to SUSE Linux Enterprise 15.x, and installs the corresponding versions. Note that Rocky Linux and OpenSUSE Leap are Supportable, not Supported.
  • On Arch Linux and other leading edge distributions such as OpenSUSE Tumbleweed, YottaDB will likely need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The --from-source option of ydbinstall.sh simplifies the process. (#754)
  • While YottaDB is Supportable on other ARMv6, ARMv7-A, and 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 listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.36 in a newly created directory, different from those of prior YottaDB releases 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.36

As YottaDB r1.36 is upward compatible from YottaDB r1.34, GT.M V6.3-012, GT.M V6.3-013, and GT.M V6.3-014. The minimal upgrade steps are:

  • Install YottaDB r1.36. Use ydbinstall / ydbinstall.sh to install plugins you use.
  • Install plugins you need in addition to those installed in the previous step.
  • Recompile object code, and recreate shared libraries if your application uses shared libraries.
  • If your application uses encryption, compile and install the reference implemen...
Read more

r1.34

25 Feb 21:52
f2f77cc
Compare
Choose a tag to compare

YottaDB r1.34

Binary Distributions

sha256sum file
03856924e663ccef66a429dbe6c26b43535fd90577570b82a7552a9503abe184 yottadb_r134_aarch64_debian11_pro.tgz
622a0d88771d7b512a6330bdfef25b174ab2a7e3e6df858e5345c57147184277 yottadb_r134_armv6l_debian11_pro.tgz
1693d75934f6940cbd5bcd155886444fded0a6c496a1a012469ae45044631478 yottadb_r134_x8664_debian11_pro.tgz
d68d51d1ee4da8837fab0b4651042081ce869d60f90760f6d56ed14f1519532d yottadb_r134_x8664_rhel7_pro.tgz
91e435257716260de142fead85e038ea9f0b3d93ac9e7db071911aef9eebde5e yottadb_r134_x8664_rhel8_pro.tgz
369f494711d4b1dae01b60917dbe3edcc020e88dd56510ebbf2c164a23292c48 yottadb_r134_x8664_ubuntu2004_pro.tgz

Release Note Revision History

Revision Date Summary
1.00 February 25, 2022 r1.34 Initial Release

Contact Information

YottaDB LLC

https://yottadb.com / [email protected]

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.

r1.34

Overview

While YottaDB r1.34 is an otherwise modest successor to r1.32, internal changes allow the popular programming language Python to be fully Supported. We are excited about making YottaDB available to the large Python user community. Here is a “Hello, World” Python program that updates the database and illustrates YottaDB's Unicode support:

	import yottadb

	if __name__ == "__main__":
		yottadb.set("^hello", ("Python",), value="नमस्ते दुनिया")

The Python wrapper can be installed with pip install yottadb. Full details of the API are in the Python wrapper user documentation. The Current Debian Docker image at Docker Hub includes the Python wrapper. We thank Peter Goss (@gossrock) for his contributions to the Python wrapper.

Python joins C, Go, M, node.js, Perl, and Rust as languages with an API to access YottaDB.

Owing to an internal change required to support the Python wrapper, application code written in Go and Rust will need to be compiled with new versions of the Go and Rust wrappers. We anticipate no regressions, and apologize for the inconvenience.

As discussed in our blog post Fuzz Testing YottaDB, adding a new type of testing exposed bugs previously neither encountered in our development environment nor reported by a user. Although fuzz testing generates syntactically correct but semantically questionable, contorted code that is unlikely to be part of any real application, the bugs are nevertheless defects. r1.34 includes the first tranche of fixes. As we are dedicating hardware to continuous fuzz testing, future YottaDB releases will include fixes for bugs found by fuzzing. We thank Zachary Minneker of Security Innovation for Fuzz Testing YottaDB and bringing its benefits to our attention.

In addition to fixes for issues, whether found by fuzz testing (828) or otherwise, YottaDB r1.34 has enhancements that make it faster and more friendly, e.g.,

  • Faster stringpool garbage collection, thanks to Alexander Sergeev and Konstantin Aristov (@littlecat). (786)
  • HOME and END keys work in direct mode for READ, thanks to Sergey Kamenev (@inetstar). (803)
  • Multiple improvements to ydbinstall / ydbinstall.sh. (705) (754) (764) (766) (829) (838)
  • Enhancements to ydb_env_set to improve performance under some conditions and to be compatible with existing environments created without ydb_env_set. (787) (842)
  • Enhancements to the %RSEL utility program. (772) (781)

YottaDB r1.34 also inherits enhancements and fixes from GT.M V6.3-011.

Details are in the Change History.

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 20.04 LTS; Red Hat Enterprise Linux 7.x & 8.x; Debian GNU/Linux 11 (Bullseye) 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) Debian GNU/Linux 11 (Bullseye) See below.
32-bit ARM (Raspberry Pi Zero) Debian GNU/Linux 11 (Bullseye) See below.

Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:

  • We intend to drop support for Red Hat Enterprise Linux 7.x for new YottaDB releases after June 2022. Of course, existing releases will continue to work. Please contact us if this a concern.
  • ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8 and installs the RHEL 8 YottaDB build. Note that Rocky Linux is Supportable, not Supported.
  • On Arch Linux and other leading edge distributions, YottaDB will likely need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The --from-source option of ydbinstall.sh simplifies the process. (754)
  • While YottaDB is Supportable on other ARMv6, ARMv7-A, and 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 listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.34 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.

Note that with this release ydbinstall.sh can install plugins into an installed YottaDB directory. (705)

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 process...
Read more

r1.32

23 Jul 16:14
3aec557
Compare
Choose a tag to compare

YottaDB r1.32

Binary Distributions

sha256sum file
62f3e4763cf204bae4002f83d0a3b9f338a5c7ed6772557ba7e777b4596a673b yottadb_r132_aarch64_debian11_pro.tgz
7d84a5dc5b4f5541bba29aefa0278c91f11538ceccea1c55ba1fadaec80b008b yottadb_r132_aarch64_ubuntu2004_pro.tgz
fc14acfd91b19dca7f2100b0690dc714214b30548efe5c256fdb85769f49525a yottadb_r132_armv6l_debian11_pro.tgz
ca14d0b14166b0711e5b4a5aa77a349f2f8dc71fb0693e33b8caf6cf0d46073c yottadb_r132_x8664_debian11_pro.tgz
8526608d653a8ccad69456f105f6f205ad6ede8044ca5c037eb0c519bbfe5b37 yottadb_r132_x8664_rhel7_pro.tgz
666b1a434f5f40761fa9d796d387d0eb02179a80d7195e87a7bb9a10e71604ad yottadb_r132_x8664_rhel8_pro.tgz
24e27e4d9c77bd118cc519414f99e0c93a3adfe053f13d042ca89466b7add658 yottadb_r132_x8664_ubuntu2004_pro.tgz

Release Note Revision History

Revision Date Summary
1.00 July 13, 2021 r1.32 Initial Release
1.01 July 13, 2021 Updated Title and Description for #724
1.02 July 22, 2021 Added TRANSREPLJNL1GB (749), WORDEXPFAILED, and ZCCONVERT messages

Contact Information

YottaDB LLC

40 Lloyd Avenue, Suite 104 Malvern, PA 19355, USA [email protected] +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.

r1.32

Overview

Although there is no single theme to YottaDB r1.32, it qualifies as a major release because it includes a significant number of enhancements, including several to enable the Application Independent Metadata plugin. The plugin provides functionality for applications to push responsibility for maintaining cross references and statistics to YottaDB triggers, thereby reducing the code that applications must maintain. Enhancements include:

  • The $ZYSUFFIX() function enables applications to create variable and routine names that are guaranteed for all practical purposes to be unique, as it uses the 128-bit MurmurHash3 non-cryptographic hash. (391)
  • A $ZPARSE() option to follow symbolic links. (581)
  • Sourcing ydb_env_set creates and manages a three-region database, and defaults to UTF-8 mode. (661)
  • An option to allow $ZINTERRUPT to be invoked for the USR2 signal. (678)
  • The --aim option of ydbinstall / ydbinstall.sh installs the Application Independent Metadata plugin.
  • Shell-like word expansion with $VIEW("WORDEXP"). (731)
  • Propagation downstream of context set by triggers. (727)
  • ydb_ci_*() functions return the ZHALT argument for C code that calls M code which terminates with a ZHALT. (742)

From the upstream GT.M V6.3-009 and GT.M V6.3-010, which are included in the r1.32 code base, there are enhancements to operational functionality.

There are numerous smaller enhancements that make system administration and operations (DevOps) friendlier, and easier to automate. For example, %PEEKBYNAME() has an option to query global directory segments without opening the corresponding database files (730), orphaned relinkctl files are automatically cleaned up (695), and the --octo option of ydbinstall / ydbinstall.sh installs Octo such that octo --version reports the git commit hash of the build (634).

As with any YottaDB release, there are numerous other enhancements and fixes, some specific to YottaDB (including fixes to issues discovered while merging and testing the upstream code), and others inherited from the upstream code.

YottadB r1.32 is upward compatible with YottaDB r1.30, GT.M V6.3-009, and GT.M V6.3-010.

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 20.04 LTS; Red Hat Enterprise Linux 7.x & 8.x; Debian GNU/Linux 11 (Bullseye) 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 20.04 LTS; Debian GNU/Linux 11 (Bullseye) See below.
32-bit ARM (Raspberry Pi Zero) Debian GNU/Linux 11 (Bullseye) See below.

Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:

  • We intend to drop support for Red Hat Enterprise Linux 7.x for future YottaDB releases. Please contact us if this a concern.
  • On Arch Linux and other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions.
  • While YottaDB is Supportable on other ARMv6, ARMv7-A, and 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 listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.32 in a newly created directory, different from those of prior YottaDB releases 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.32

As YottaDB r1.32 is upward compatible from YottaDB r1.30, GT.M V6.3-009 and GT.M V6.3-010, the minimal upgrade steps are:

  • Install YottaDB r1.32. Use ydbinstall / ydbinstall.sh to install plugins you use.
  • Install plugins you need in addition to those installed in the previous step.
  • Recompile object code, and recreate shared libraries where appropriate.
  • If you are using encryption, compile and install the reference implementation plugin (if not done by the ydbinstall / ydbinstall.sh script) or your customized...
Read more

YottaDB r1.30

14 Aug 16:31
177eb8e
Compare
Choose a tag to compare

YottaDB r1.30

Binary Distributions

sha256sum file
18c2d4ebc9835fff5ecb8c64de91ad1275720ccff92142c2374d8ff63b94be6c yottadb_r130_centos8_x8664_pro.tgz
1531f418b42354ee4bb4dc1950e8e04362a564fd9aa39c63a03aaed5ed4e1d10 yottadb_r130_debian10_x8664_pro.tgz
7f2a6dd825910b84c2b867a4e8337e26269344ba4712b5d69e3e33c93fcab4ac yottadb_r130_linux_aarch64_pro.tgz
0c1ae0709c0eebca39687b57a36f435a10f3e785211b544648441b6d6b472aa1 yottadb_r130_linux_armv6l_pro.tgz
1aebe61504478924c8831fc316ca1192de9ee024398462844295a68de1bcdba1 yottadb_r130_linux_armv7l_pro.tgz
54825ec34ba8d0cc96d240bdc6edb2b9cf36be4136684ed55b0e6d7b74b68e53 yottadb_r130_linux_x8664_pro.tgz
453701b2bf7b23093eabed9cf2fb7bdd29b6a183b3c834b3371c72c88ce2fcc7 yottadb_r130_rhel7_x8664_pro.tgz
1cc45e62b25a7892470f7e7830c3003e4868ab127cd03b03031b0ae641e417d0 yottadb_r130_ubuntu2004_x8664_pro.tgz

Release Note Revision History

Revision Date Summary
1.00 August 14, 2020 r1.30 Initial Release

Contact Information

YottaDB LLC

40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+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.

r1.30

Overview

YottaDB r1.30 is a major release with important new functionality that is required by the Octo 1.0 production release and the production release of the Rust wrapper. While some releases add major new functionality, r1.30 is a major release by the sheer volume of new functionality.

The most important new functionality, required by Octo to distinguish between the empty string ("") and the absence of data (NULL), is the intrinsic special variable, $ZYSQLNULL, which can be used as a local variable subscript or node value. (484)

Other highlights include:

  • The ydbinstall / ydbinstall.sh scripts include --enclugin, --octo, and --posix command line options to install respectively, the encryption plugin, Octo, and the POSIX plugin. (458), (457), (521)
  • The %YDBPROCSTUCKEXEC routine provides a standard action that can be invoked by ydb_procstuckexec. (579)
  • The call to $ZJOBEXAM() allows for specification of the data to dumped. So, for example, the dumping of local variables can be suppressed unless required, as local variables can contain confidential information. (482)
  • yottadb -version provides a detailed report on the YottaDB build. (595)
  • For faster numeric base conversion, $ZCONVERT() converts between decimal and hexadecimal. (485)
  • $ZYHASH() returns the 128-bit MurmurHash3 hash of a string. (390)
  • Simple API functions use nanosecond timers internally. (388)
  • A new implementation of $RANDOM(). (384)
  • To facilitate migration to YottaDB from big endian versions of the upstream code base, YottaDB can automatically convert global directories from big to little endian formats. Note that all YottaDB platforms are little endian. (524)
  • CentOS 8 and Ubuntu 20.04 LTS on x86_64 are Supported platforms with their own binary distributions.

YottadB r1.30 is upward compatible with YottaDB r1.28, as well as with GT.M V6.3-008.

There are significant internal changes to signal handling to make the Go wrapper more friendly to application developers, but access to YottaDB from other languages is unaltered.

As with any YottaDB release, there are numerous other enhancements and fixes, some specific to YottaDB (including fixes to issues discovered in the upstream code base), and others inherited from the upstream GT.M V6.3-008. See the Change History.

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 & 20.04 LTS; Red Hat Enterprise Linux/CentOS 7.x & 8.x; 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 See below.
32-bit ARM (Raspberry Pi 3 Model B) Raspbian GNU/Linux 10 (Buster) See below.
32-bit ARM (Raspberry Pi Zero) Raspbian GNU/Linux 10 (Buster) See below.

Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:

  • For YottaDB releases after January 1, 2021, we intend to drop support for Ubuntu 18.04 LTS on x86_64. We have not made a decision about 64-bit ARM at this time.
  • 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.
  • While YottaDB is Supportable on other ARMv6, ARMv7-A, and 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 [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.30 in a newly created directory, different from those of prior YottaDB releases 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 ...
Read more

YottaDB r1.26

02 Jul 16:03
50f517e
Compare
Choose a tag to compare

YottaDB r1.26

Binary Distributions

sha256sum file
b32032401ff252cbd673b91cfa10a825ead02925397e84ff0c643570af83ac10 yottadb_r126_debian10_x8664_pro.tgz
8a58a48530eb75600da5cb9f5ae7148347b546dc4d3469f6d6647e0c258612a0 yottadb_r126_linux_aarch64_pro.tgz
92f57e33e956dfa57b3fc1737186a4516dc484deacdf7099a98779cfed31a5b7 yottadb_r126_linux_armv6l_pro.tgz
ea0fd2a281e72de204870cbcd6f2c84fca51067d7fa57221e3c2380fad8ef282 yottadb_r126_linux_armv7l_pro.tgz
71c128db3ce84b94151af61bcd1a62e28e1d5a0306dec1f0c1862c2acb98e232 yottadb_r126_linux_x8664_pro.tgz
20984e82613307589200135d2a58b26667cc1fa7170d3e6732d27ea2fbddeb73 yottadb_r126_rhel7_x8664_pro.tgz

Release Note Revision History

Revision Date Summary
1.00 June 27, 2019 r1.26 Initial Release

Contact Information

YottaDB LLC

40 Lloyd Avenue, Suite 104

Malvern, PA 19355, USA

[email protected]

+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.

r1.26

Overview

r1.26 is a major release that brings important new functionality to YottaDB.

Functions of the C Simple API to support multi-threaded applications, which were considered field test grade in r1.24 are considered production grade and fully Supported in r1.26. Their performance is also now comparable to functions for single-threaded applications.

There are numerous other enhancements, including:

  • Sourcing ydb_env_set addresses an expanded set of use cases, including setting up and automatically recovering a database (e.g., when coming up after a crash, for example). This brings to applications in all languages functionality that was previously available to M applications through the ydb script in a more limited form. ydb_env_set also automatically sets environment variables to access YottaDB plugins that comply with the plugin architecture standard.

  • More seamless integration between C and M code.

  • Debian GNU/Linux 10 (Buster) on x86_64 is a Supported platform.

  • The $ZTIMEOUT intrinsic special variable allows an application to create and manage software watchdog timers.

As with any YottaDB release, there are numerous additional enhancements for functionality, performance, usability, and robustness, as well as fixes. These are detailed in the complete release notes.

YottadB r1.26 is upward compatible with both YottaDB r1.24, 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 [email protected] 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 [email protected] 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 more recent than those used in building the distribution.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.26 in a newly created directory, different from those of YottaDB r1.24 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.26

As YottaDB r1.26 is upward compatible from YottaDB r1.24, GT.M V6.3-006 and GT.M V6.3-007, the minimal upgrade steps are:

  • Install YottaDB r1.26.
  • Recompile any 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 (Issue [#430]), or if you are unsure, you should extract the trigger definitions, delete existing triggers, and reload the trigger definitions. The Issue [#430] 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.26.
  • 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.26 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.26

YottaDB r1.26 includes the following changes from YottaDB r1.24.

| ID | Category | Summary |
| ---------- |...

Read more

YottaDB r1.24

31 Jan 22:30
93c1ad5
Compare
Choose a tag to compare

YottaDB r1.24

Note that some of the internal links will not work because these release notes were manually brought over from the r1.24 release notes from the YottaDB project on GitLab

Binary Distributions

sha256sum file
7e405a94e0be03ac24be5d6c2741f0195414c875b0a72fe8c6fdfb6d9693b375 yottadb_r124_linux_aarch64_pro.tgz
e01dd5cebe5c407d0f32419eab08429765f653df24e7a2b857485d386abaed54 yottadb_r124_linux_armv6l_pro.tgz
01c6f70216a5e07df0cba611c5d549c6caefc13fec43e481d8efe7a4c4679731 yottadb_r124_linux_armv7l_pro.tgz
4010f898fc190dce8e3fe3b73e6e26b76461dd8352c372cc22731d85b0d6c943 yottadb_r124_linux_x8664_pro.tgz
8e125474aed4b1aa0e0a66c527ad5f558da48353bd4b2b82bfd29e58fe1d26dd yottadb_r124_rhel7_x8664_pro.tgz

Release Note Revision History

Revision Date Summary
1.01 February 6, 2019 Added additional error message information
1.00 January 31, 2019 r1.24 Initial Release

Contact Information

YottaDB LLC

40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+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.

r1.24

Overview

r1.24 is a major release that brings much new functionality to YottaDB.

pkg-config is a standard tool on Linux systems for managing package versions, for example, to query the location and latest installed version of a package. YottaDB is now part of this ecosystem: the ydbinstall script creates a pkg-config file for YottaDB at /usr/share/pkgconfig/yottadb.pc. In turn, this means that an application can write a script to use YottaDB without the script needing to be updated when a new YottaDB release is installed on a system, or if a YottaDB release is installed in different directories on different systems, e.g.

source $(pkg-config --variable=prefix yottadb)/ydb_env_set # setup environment
gcc -I $ydb_dist -L $ydb_dist -o myprog myprog.c -lyottadb
./myprog

or

source $(pkg-config --variable=prefix yottadb)/ydb_env_set # setup environment
mumps -run mypro

Fitting into the standard ecosystem becomes increasingly important as we release YottaDB wrappers providing standard APIs for a variety of languages starting with Go.

Released as field test grade functionality are Simple API functions that support multi-threaded applications. Although the YottaDB engine is itself single-threaded, it supports multi-threaded applications as described in our blog post YottaDB Support for Multi-threaded Applications and in the Simple API section of the Multi-Language Programmers Guide. An API with support for threads allows YottaDB to create wrappers for inherently multi-threaded language implementations such as Go, as described in the Programming in Go section of the Multi-Language Programmers Guide. Note that r1.24 is otherwise considered a production release. This means that we consider YottaDB r1.24 to be suitable for use in production except for functionality to support multi-thread applications which are suitable for use in development and testing, but not in production. In the next release, if not sooner, we intend for that functionality to be suitable for production use, like the rest of YottaDB.

64-bit ARM (aarch64) is a supported CPU architecture, running Ubuntu 18.04 LTS, tested on Raspberry Pi 3. If you need another distribution of Linux to be Supported, or testing on another hardware implementation of the architecture, please contact us. YottaDB thanks community member Steve Johnson for contributing the port.

r1.24 comes with numerous & noteworthy functional & performance enhancements, fixes (including fixes to issues in the upstream GT.M code base), as described below with full details on Gitlab.

YottadB r1.24 is upward compatible with both YottaDB r1.22 and GT.M V6.3-005.

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 There are separate binary distributions for Ubuntu and Red Hat, 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 [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
32-bit ARM (Raspberry Pi 3 Model B; BeagleBone Black Wireless) Raspbian GNU/Linux 9.1; Stretch IoT (non GUI) While YottaDB r1.24 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 protected] 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 r1.24 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 [email protected] 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 possibly other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions significantly more recent than those used in building the distribution.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.24 in a newly created directory, different from those of YottaDB r1.22 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...

Read more

YottaDB r1.22

15 May 18:19
Compare
Choose a tag to compare

YottaDB r1.22

Release Note Revision History

Revision Date Summary
1.00 May 15, 2018 r1.22 Initial Release

Contact Information

YottaDB LLC

40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+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.

r1.22

Overview

YottaDB r1.22 is a minor release, primarily intended to make available in a YottaDB release the enhancements and fixes in the upstream GT.M release.

YottaDB r1.22 is built on (and except where explicitly noted, upward compatible with) both YottaDB r1.20 and GT.M V6.3-004.

As always, there as other enhancements and fixes, as noted below. See our Get Started page to use YottaDB.

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 16.04 LTS; Red Hat Enterprise Linux 7.4 Note that there are separate binary distributions for Ubuntu and Red Hat, owing to differences in library versions of those distributions.
Raspberry Pi 3 Model B; BeagleBone Black Wireless Raspbian GNU/Linux 9.1; Stretch IoT (non GUI) While YottaDB r1.22 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 protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Raspberry Pi Zero Raspbian GNU/Linux 9.1 While YottaDB r1.22 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 [email protected] 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. Running on Arch Linux requires the ncurses5-compat-libs package to be installed.

Installation

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.22 in a newly created directory, different from those of YottaDB r1.20 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.22

As YottaDB r1.22 is upward compatible from both YottaDB r1.20 and GT.M V6.3-004, the minimal upgrade steps are:

  • Install YottaDB r1.22.
  • Recompile any 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.

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.22.
  • 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, 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.22

YottaDB r1.22 includes the following changes from YottaDB r1.20.

ID Category Summary
(#159) Language $TEXT returns source code lines with both carriage return and newline line terminators removed
(#193) Language GDE @ command reports success after executing good command files
(#197) Language ydb_env_set preserves ydb_gbldir/gtmgbldir and ydb_routines/gtmroutines
(#207) DB TPRESTART syslog messages identify correct global name and message type
(#209) Other Complete set of ydb_* environment variables corresponding to all gtm*/GTM* environment variables
(#210) Admin Source Server errors always appear in the Source Server log file
(#215) Admin Ctrl-Z (the suspend signal) is honored in all cases
(#217) DB SET and $INCREMENT() work correctly without abnormal process termination in a very rare case
(#218) DB ydb_app_ensures_isolation provides initial setting for global variables where application design ensures Isolation
(#220) Other mumps -nowarning does not display BLKTOODEEP messages
(#221) Admin ydb_* environment variables to drive operation of ydbinstall.sh script
(#224) Language Certain edge cases of VIEW and $VIEW() work correctly without terminating the process
(#228) Language $ZSEARCH() calls in a loop work correctly in certain edge cases
(#233) DB Option to reduce IO impact of MUPIP REORG
(#235) Other Source server fails rarely with JNLSWITCHRETRY error when instance is frozen
(#237) Other Establish replication connections more efficiently in an edge case
(#247) DB Epoch tapering works correctly without process termination from signal 8 in a rare case

Database

  • Type 0 and type 3 TPRESTART messages in the syslog (enabled by turning on TP restart logging) correctly report the global variable causing the restart. Furthermore, type 3 messages correctly identify themselves as type 3 messages. Previously, they could report an incorrect global variable reference, and type 3 messages were sometimes incorrectly identifi...
Read more

YottaDB r1.20

29 Mar 23:28
Compare
Choose a tag to compare

YottaDB r1.20

Release Note Revision History

Revision Date Summary
1.00 March 29, 2018 r1.20 Initial Release

Contact Information

YottaDB LLC

40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+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.

r1.20

Overview

YottaDB r1.20 is the most significant release to date from the YottaDB team. With the ability to call the data management engine directly from C, and eliminating the need for any application code to be written in M (by separating the M language from the database without compromising either in any way), YottaDB r1.20 represents a historic milestone for the YottaDB/GT.M code base.

YottaDB r1.20 is built on (and except where explicitly noted, upward compatible with) both YottaDB r1.10 and GT.M V6.3-003A. Highlights of enhancements and fixes made by the YottaDB team include:

Highlights from the upstream V6.3-003A code base, thanks to the GT.M team include:

As is the case in every release, YottaDB r1.20 brings other enhancements, e.g., callin when an application is already inside a transaction processing fence, and sending syslog messages to stderr when there is no syslog, as well as fixes to issues as detailed below.

As always, there as other enhancements and fixes, as noted below. See our Get Started page to use YottaDB.

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 16.04 LTS; Red Hat Enterprise Linux 7.4 Note that there are separate binary distributions for Ubuntu and Red Hat, owing to differences in library versions of those distributions.
Raspberry Pi 3 Model B; BeagleBone Black Wireless Raspbian GNU/Linux 9.1; Stretch IoT (non GUI) While YottaDB r1.20 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 protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Raspberry Pi Zero Raspbian GNU/Linux 9.1 While YottaDB r1.20 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 [email protected] 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. Running on Arch Linux requires the ncurses5-compat-libs package to be installed.

Getting Started

See our Get Started page to use YottaDB.

We strongly recommend that you install YottaDB r1.20 in a newly created directory, different from those of YottaDB r1.10 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 nogtcm* 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.20

As YottaDB r1.20 is upward compatible from both YottaDB r1.10 and GT.M V6.3-003/-003A, the minimal upgrade steps are:

  • Install YottaDB r1.20.
  • Recompile any 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.

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.20.
  • 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, 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.20

ID Category Summary
(#23) Admin Change references to GT.M into references to YottaDB - shared libraries
(#33) Other Reduce footprint of engine
(#59) Data Directly access YottaDB data from C
(#77) Other Fix reporting glitch in Indirection cache hit ratio when cache hits are greater than 43 million
(#80) Data Improve performance of large local arrays
(#83) Language Recall history for READ command to match direct mode
(https://github.com/YottaDB/...
Read more