From 4a149cb833dbb45507cd52e63707311e9642587c Mon Sep 17 00:00:00 2001 From: Sven Klemm Date: Sat, 19 Sep 2020 23:20:37 +0200 Subject: [PATCH] Adjust code to PG13 list sort changes PG13 changes the name of the list sorting function from list_qsort to list_sort. Additionally PG13 does in-place sort. https://github.com/postgres/postgres/commit/569ed7f483 Signed-off-by: Maxim Kochetkov Fetch from: https://github.com/timescale/timescaledb/commit/13d8aac33b6fc5104c8ad1da816dc0d009fc13a7.patch --- src/bgw/scheduler.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/bgw/scheduler.c b/src/bgw/scheduler.c index 2630ff9f..b9d1aa38 100644 --- a/src/bgw/scheduler.c +++ b/src/bgw/scheduler.c @@ -530,10 +530,15 @@ ts_populate_scheduled_job_tuple(ScheduledBgwJob *sjob, Datum *values) #endif static int +#if PG13_LT cmp_next_start(const void *left, const void *right) { const ListCell *left_cell = *((ListCell **) left); const ListCell *right_cell = *((ListCell **) right); +#else +cmp_next_start(const ListCell *left_cell, const ListCell *right_cell) +{ +#endif ScheduledBgwJob *left_sjob = lfirst(left_cell); ScheduledBgwJob *right_sjob = lfirst(right_cell); @@ -549,10 +554,18 @@ cmp_next_start(const void *left, const void *right) static void start_scheduled_jobs(register_background_worker_callback_type bgw_register) { + List *ordered_scheduled_jobs; ListCell *lc; Assert(CurrentMemoryContext == scratch_mctx); + /* Order jobs by increasing next_start */ - List *ordered_scheduled_jobs = list_qsort(scheduled_jobs, cmp_next_start); +#if PG13_LT + ordered_scheduled_jobs = list_qsort(scheduled_jobs, cmp_next_start); +#else + /* PG13 does in-place sort */ + ordered_scheduled_jobs = scheduled_jobs; + list_sort(ordered_scheduled_jobs, cmp_next_start); +#endif foreach (lc, ordered_scheduled_jobs) { -- 2.29.2