mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
In #4664 we introduced fixed schedules for jobs. This was done by introducing additional parameters fixed_schedule, initial_start and timezone for our add_job and add_policy APIs. These fields were not updatable by alter_job so it was not possible to switch from one type of schedule to another without dropping and recreating existing jobs and policies. This patch adds the missing parameters to alter_job to enable switching from one type of schedule to another. Fixes #5681
45 lines
1.8 KiB
SQL
45 lines
1.8 KiB
SQL
-- This file and its contents are licensed under the Apache License 2.0.
|
|
-- Please see the included NOTICE for copyright information and
|
|
-- LICENSE-APACHE for a copy of the license.
|
|
|
|
CREATE OR REPLACE FUNCTION @extschema@.add_job(
|
|
proc REGPROC,
|
|
schedule_interval INTERVAL,
|
|
config JSONB DEFAULT NULL,
|
|
initial_start TIMESTAMPTZ DEFAULT NULL,
|
|
scheduled BOOL DEFAULT true,
|
|
check_config REGPROC DEFAULT NULL,
|
|
fixed_schedule BOOL DEFAULT TRUE,
|
|
timezone TEXT DEFAULT NULL
|
|
) RETURNS INTEGER AS '@MODULE_PATHNAME@', 'ts_job_add' LANGUAGE C VOLATILE;
|
|
|
|
CREATE OR REPLACE FUNCTION @extschema@.delete_job(job_id INTEGER) RETURNS VOID AS '@MODULE_PATHNAME@', 'ts_job_delete' LANGUAGE C VOLATILE STRICT;
|
|
CREATE OR REPLACE PROCEDURE @extschema@.run_job(job_id INTEGER) AS '@MODULE_PATHNAME@', 'ts_job_run' LANGUAGE C;
|
|
|
|
-- Returns the updated job schedule values
|
|
CREATE OR REPLACE FUNCTION @extschema@.alter_job(
|
|
job_id INTEGER,
|
|
schedule_interval INTERVAL = NULL,
|
|
max_runtime INTERVAL = NULL,
|
|
max_retries INTEGER = NULL,
|
|
retry_period INTERVAL = NULL,
|
|
scheduled BOOL = NULL,
|
|
config JSONB = NULL,
|
|
next_start TIMESTAMPTZ = NULL,
|
|
if_exists BOOL = FALSE,
|
|
check_config REGPROC = NULL,
|
|
fixed_schedule BOOL = NULL,
|
|
initial_start TIMESTAMPTZ = NULL,
|
|
timezone TEXT DEFAULT NULL
|
|
)
|
|
RETURNS TABLE (job_id INTEGER, schedule_interval INTERVAL, max_runtime INTERVAL, max_retries INTEGER, retry_period INTERVAL, scheduled BOOL, config JSONB,
|
|
next_start TIMESTAMPTZ, check_config TEXT, fixed_schedule BOOL, initial_start TIMESTAMPTZ, timezone TEXT)
|
|
AS '@MODULE_PATHNAME@', 'ts_job_alter'
|
|
LANGUAGE C VOLATILE;
|
|
|
|
CREATE OR REPLACE FUNCTION _timescaledb_internal.alter_job_set_hypertable_id(
|
|
job_id INTEGER,
|
|
hypertable REGCLASS )
|
|
RETURNS INTEGER AS '@MODULE_PATHNAME@', 'ts_job_alter_set_hypertable_id'
|
|
LANGUAGE C VOLATILE;
|