Provide a mechanism to set the C→M call-in table
Final Release Note
The Simple API Utility Functions ydb_ci_tab_open() / ydb_ci_tab_open_t) and ydb_ci_switch() / ydb_ci_switch_t() provide a mechanism for a process to switch between different call-in tables. This allows for more modular applications by allowing each plugin or library to have its own call-in table; previously, a process had a single call-in table. The call-in table specified by the environment variable ydb_ci
is available at process startup without the need to explicitly open it (i.e., its behavior is unchanged). [#370 (closed)]
Description
The fact that YottaDB is limited to a single C→M call-in table hampers the creation of plugins.
Draft Release Note
The SimpleAPI utility functions ydb_ci_tab_open()
and ydb_ci_tab_switch()
provide a mechanism to open and switch to one of multiple call-in tables that is then used by following calls to ydb_ci()
and ydb_cip()
functions. The call-in table corresponding to the environment variable ydb_ci
is opened automatically by a call to ydb_ci()
/ydb_cip()
(and set as the current call-in table) if no ydb_ci_tab_switch()
calls have been done yet or if the most recent ydb_ci_tab_switch()
call reset the current call-in table to what it was before the earliest ydb_ci_tab_switch()
call in this process. The threaded SimpleAPI utility functions ydb_ci_tab_open_t()
and ydb_ci_tab_switch_t()
provide similar functionality for ydb_ci_t()
and ydb_cip_t()
. See https://docs.yottadb.com/MultiLangProgGuide/cprogram.html#utility-functions for interface details.