YottaDB r1.36 will include the source code of GT.M V6.3-013, which has the below change (http://tinco.pair.com/bhaskar/gtm/doc/articles/GTM_V6.3-013_Release_Notes.html#GTM-9259
The GT.M compiler checks Z* keywords except for deviceparameters for the length provided by the source code and accepts a leading subset, with a small set of legacy abbreviations. This means that if you use a short form that's not unique, GT.M evaluates it as the alphabetically first keyword or legacy abbreviation. FIS recommends using at least four characters in stored code, but ZBIT* functions and deviceparameters with a leading "NO" may need more. **For standard keywords, the compiler requires correct spelling for the full keyword through up to eight characters and recognizes standard abbreviations. Previously the compiler ignored characters following matches in its internal tables which caused surprise if there were similar keywords or typos - in particular it may reject misspellings it accepted in prior releases.** (GTM-9259)
Drawing your attention to the **emphasized** text, this means that if application code has a non-standard abbreviation that was previously accepted, it may no longer be accepted by r1.36. This e-mail is to solicit your assistance for us to go the extra mile to avoid r1.36 inadvertently requiring changes to your application code. We would like to request that you compile your source code with the master source code (the evolving r1.36) and draw our attention to any **new** compilation errors when compiling with it. Capture all the M routine compilation errors when compiling with your current YottaDB release, and then compare it with the M routine compilation errors when compiling with the YottaDB master code base. You can get the latter in a couple of ways:
- Use the latest-master Docker image as described at https://yottadb.com/product/get-started/
- Download ydbinstall.sh from https://gitlab.com/YottaDB/DB/YDB/-/raw/master/sr_unix/ydbinstall.sh
make it executable and install it using sudo ./ydbinstall.sh --from-source --nopkg-config --installdir=<dir> where <dir> is a temporary directory created just for this exercise. Compile your code using YottaDB from <dir>. When you're done, you can delete <dir>.
We already know that some code uses the non-standard abbreviation $ZGLD for $ZGBLDIR, whose standard abbreviation is $ZG, and we have already modified YottaDB to allow this abbreviation (https://gitlab.com/YottaDB/DB/YDB/-/issues/888
Thank you very much, in advance, for your help.
YottaDB - Rock solid. Lightning fast. Secure. Pick any three.