mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
This commit adds support for dynamically loaded submodules to timescaledb as well an initial license-key implementation in the tsl subdirectory. Dynamically loaded modules allow our users to determine which licenses they wish to use for their version of timescaledb; if they wish to only use Apache-Licensed code, they do not load the Timescale-Licensed submodule. Calls from the Apache-Licensed code into the Timescale-Licensed submodule are handled via dynamicaly-set function pointers; see tsl/src/Readme.module.md for more details. This commit also adds code for license keys for the ApacheOnly, Community, and Enterprise editions. The license key determines which features are enabled, and controls loading the submodule: when a license key that requires the sub-module is installed, the module is automatically loaded. Currently the ApacheOnly and Community license-keys are hardcoded to be "ApacheOnly" and "Community" respectively. The first version of the enterprise license-key is described in tsl/src/Readme.module.md