From 6b3586caa810529635a8f77789d88e957b389469 Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Thu, 9 Jun 2016 17:18:18 -0400
Subject: [PATCH] Update pg_prewarm extension for parallel query.

The pg_prewarm function provided by this extension is PARALLEL SAFE.

Andreas Karlsson
---
 contrib/pg_prewarm/Makefile                                 | 2 +-
 contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql                 | 6 ++++++
 .../pg_prewarm/{pg_prewarm--1.0.sql => pg_prewarm--1.1.sql} | 4 ++--
 contrib/pg_prewarm/pg_prewarm.control                       | 2 +-
 4 files changed, 10 insertions(+), 4 deletions(-)
 create mode 100644 contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql
 rename contrib/pg_prewarm/{pg_prewarm--1.0.sql => pg_prewarm--1.1.sql} (85%)

diff --git a/contrib/pg_prewarm/Makefile b/contrib/pg_prewarm/Makefile
index eeba5026724..7ad941e72b9 100644
--- a/contrib/pg_prewarm/Makefile
+++ b/contrib/pg_prewarm/Makefile
@@ -4,7 +4,7 @@ MODULE_big = pg_prewarm
 OBJS = pg_prewarm.o $(WIN32RES)
 
 EXTENSION = pg_prewarm
-DATA = pg_prewarm--1.0.sql
+DATA = pg_prewarm--1.1.sql pg_prewarm--1.0--1.1.sql
 PGFILEDESC = "pg_prewarm - preload relation data into system buffer cache"
 
 ifdef USE_PGXS
diff --git a/contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql b/contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql
new file mode 100644
index 00000000000..99660548939
--- /dev/null
+++ b/contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql
@@ -0,0 +1,6 @@
+/* contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql */
+
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "ALTER EXTENSION pg_prewarm UPDATE TO '1.1'" to load this file. \quit
+
+ALTER FUNCTION pg_prewarm(regclass, text, text, int8, int8) PARALLEL SAFE;
diff --git a/contrib/pg_prewarm/pg_prewarm--1.0.sql b/contrib/pg_prewarm/pg_prewarm--1.1.sql
similarity index 85%
rename from contrib/pg_prewarm/pg_prewarm--1.0.sql
rename to contrib/pg_prewarm/pg_prewarm--1.1.sql
index 2bec7765c0e..b15089598cb 100644
--- a/contrib/pg_prewarm/pg_prewarm--1.0.sql
+++ b/contrib/pg_prewarm/pg_prewarm--1.1.sql
@@ -1,4 +1,4 @@
-/* contrib/pg_prewarm/pg_prewarm--1.0.sql */
+/* contrib/pg_prewarm/pg_prewarm--1.1.sql */
 
 -- complain if script is sourced in psql, rather than via CREATE EXTENSION
 \echo Use "CREATE EXTENSION pg_prewarm" to load this file. \quit
@@ -11,4 +11,4 @@ CREATE FUNCTION pg_prewarm(regclass,
 						   last_block int8 default null)
 RETURNS int8
 AS 'MODULE_PATHNAME', 'pg_prewarm'
-LANGUAGE C;
+LANGUAGE C PARALLEL SAFE;
diff --git a/contrib/pg_prewarm/pg_prewarm.control b/contrib/pg_prewarm/pg_prewarm.control
index 8e5dee50684..cf2fb92bedd 100644
--- a/contrib/pg_prewarm/pg_prewarm.control
+++ b/contrib/pg_prewarm/pg_prewarm.control
@@ -1,5 +1,5 @@
 # pg_prewarm extension
 comment = 'prewarm relation data'
-default_version = '1.0'
+default_version = '1.1'
 module_pathname = '$libdir/pg_prewarm'
 relocatable = true
-- 
GitLab