Jens, our intent is to stay compatible with the upstream GT.M code base. Slide 10 from https://yottadb.com/wp-content/uploads/2021/11/211005-1bYottaDBUpdate.pdf
shows our process.
- Whenever a new GT.M version is released, we merge the code base with our GT.M branch at https://gitlab.com/YottaDB/DB/YDB/-/tree/fis-gtm
- Since the GT.M team does not release their automated tests and does not tie code changes to items in the release notes, and since we cannot always understand why certain code changes were made, we create our own automated tests (like all of our software, these are also developed in the open, at https://gitlab.com/YottaDB/DB/YDBTest
). As and when we find issues in the upstream code base, we document them and fix them (https://gitlab.com/YottaDB/DB/YDB/-/issues/?sort=created_asc&state=closed&label_name%5B%5D=upstream%20issue&first_page_size=20
is a list of issues we have tagged as upstream issues and fixed).
- When we are satisfied with the testing and have resolved merge conflicts, we merge that GT.M version into the master branch of YottaDB. So, YottaDB r1.34 had GT.M V.3-011 merged into it, and YottaDB r1.36 (to be released soon) will have V6.3-012, -013, and -014 merged into it.
So, while our intent is to stay compatible, we follow a "safe" distance behind when merging GT.M code. Of course, along the way, beyond fixes to issues in GT.M, our goal is for YottaDB to do much more than just be a downstream version of GT.M. We have created native APIs for other languages (https://docs.yottadb.com/MultiLangProgGuide/
) so that they can benefit from an M database, as well as numerous other enhancements (https://gitlab.com/YottaDB/DB/YDB/-/issues/?sort=updated_desc&state=closed&label_name%5B%5D=enhancement&first_page_size=20
). We added support for ARM architectures (both 32- and 64-bit versions), for those want better power to performance ratios than the x66_64 architecture.
From it's earliest version, our web site at https://yottadb.com/use-cases/gt-m-compatibility/
says: Except for items identified in the release notes, if you are a YottaDB support customer and you encounter a backward compatibility issue with a YottaDB release, either with respect to its predecessor, or with respect to the GT.M version on which it is built, we will help you find a satisfactory workaround, or we will fix the issue in a new release of YottaDB.
Of course, if you have application code that relies on the presence of a GT.M bug fixed in YottaDB, or the absence of an enhancement we made in YottaDB, that application code will behave differently on YottaDB!
I have tried to answer all your questions. If I overlooked something, or you have further questions, please ask again.