Custom hook

At the end of each sync run, the Sync Engine lists all stored procedures named SYNC_RUN_POST_HOOK, with a single object parameter. All that exist are executed with the following parameter value:

{
  "branch_id": <the id of the branch, or null>,
  "new_health_state": <the new health state of the run, e.g. "HEALTHY">,
  "sync_id": <the id of the sync>,
  "sync_run_id": <the id of the sync run>
}

Note: Health states are listed here.

Below is an example of a hook which simply writes the run information to a table:

create table TEST_HOOK_LOG(payload OBJECT);

CREATE OR REPLACE PROCEDURE SYNC_RUN_POST_HOOK(result OBJECT)
RETURNS VARCHAR NOT NULL
LANGUAGE SQL
EXECUTE AS OWNER
AS
BEGIN
  INSERT INTO TEST_HOOK_LOG select :result;
  RETURN 'Rows inserted: ' || SQLROWCOUNT;
END;

grant usage on procedure SYNC_RUN_POST_HOOK(OBJECT) to application OMNATA_SYNC_ENGINE;

Last updated