The fist version needs to support the following capabilities:
Execute a Node.js function without parameters
Execute a function with an arbitrary number of parameters.
Create a Compute module allowing to configure setting such as a database schema name per Compute instance. There might be several compute instances used by the same app. Each instance suppose to work with its own schema.
Create a metadata table that will store information about each created function and its hashcode. The metadata table exists in every schema that can be created for the Compute. The default schema name is pg_compute.
Support several deployment modes:
AUTO: function is updated automatically only if the implementation has changed or the function doesn't exist;
MANUAL: function is never auto-deployed. It needs to be created manually but can be easily called by name using the compute. On the Node end, you just need to have functional interfaces (without the logic implementation) that can be called from the compute API.
The fist version needs to support the following capabilities:
pg_compute
.Create a few examples that introduce basic capabilities: