Triggers independent of M vs. UTF-8 mode
Final Release Note
Description
YottaDB issues the TRININVCHSET message when a trigger is loaded by a process with one chset (M or UTF-8) and the process attempting to execute the trigger is in another. The M&R says:
Action: Ensure that the process invoking a trigger on a global uses the same $ZCHSET that was used to load the first trigger on that global. If your application requires triggers in both M and UTF-8 modes, use different globals to load M mode and UTF-8 mode triggers.
Since the database is technically independent of whether a process is in M mode or UTF-8 mode, it's inappropriate to not allow it. The burden should be on the application developer to ensure that the trigger definition and trigger code are mode independent, and if there is a mode-dependency there, the trigger code can check $ZCHSET to either choose the right code, or raise an application defined error.
The Action is bogus. If a trigger is needed on one global, defining it on another is not useful.
Draft Release Note
The process loading a trigger and the process executing a trigger can have different modes (M vs. UTF-8). Previously, they were required to have the same mode. Note that YottaDB previously detected this condition and reported it by raising a TRIGINVCHSET error. In the event an application requires the trigger to have a specific mode, it should check $ZCHSET and take appropriate action. [#571]