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

The pgrowlocks function provided by this extension is PARALLEL SAFE.

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

diff --git a/contrib/pgrowlocks/Makefile b/contrib/pgrowlocks/Makefile
index 059ea0528b7..5d611665e90 100644
--- a/contrib/pgrowlocks/Makefile
+++ b/contrib/pgrowlocks/Makefile
@@ -4,7 +4,8 @@ MODULE_big	= pgrowlocks
 OBJS		= pgrowlocks.o $(WIN32RES)
 
 EXTENSION = pgrowlocks
-DATA = pgrowlocks--1.1.sql pgrowlocks--1.0--1.1.sql pgrowlocks--unpackaged--1.0.sql
+DATA = pgrowlocks--1.2.sql pgrowlocks--1.1--1.2.sql pgrowlocks--1.0--1.1.sql \
+	pgrowlocks--unpackaged--1.0.sql
 PGFILEDESC = "pgrowlocks - display row locking information"
 
 ifdef USE_PGXS
diff --git a/contrib/pgrowlocks/pgrowlocks--1.1--1.2.sql b/contrib/pgrowlocks/pgrowlocks--1.1--1.2.sql
new file mode 100644
index 00000000000..94ebf5478b7
--- /dev/null
+++ b/contrib/pgrowlocks/pgrowlocks--1.1--1.2.sql
@@ -0,0 +1,6 @@
+/* contrib/pgrowlocks/pgrowlocks--1.1--1.2.sql */
+
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "ALTER EXTENSION pgrowlocks UPDATE TO '1.2'" to load this file. \quit
+
+ALTER FUNCTION pgrowlocks(text) PARALLEL SAFE;
diff --git a/contrib/pgrowlocks/pgrowlocks--1.1.sql b/contrib/pgrowlocks/pgrowlocks--1.2.sql
similarity index 94%
rename from contrib/pgrowlocks/pgrowlocks--1.1.sql
rename to contrib/pgrowlocks/pgrowlocks--1.2.sql
index 29079f49231..58df728c07e 100644
--- a/contrib/pgrowlocks/pgrowlocks--1.1.sql
+++ b/contrib/pgrowlocks/pgrowlocks--1.2.sql
@@ -12,4 +12,4 @@ CREATE FUNCTION pgrowlocks(IN relname text,
     OUT pids INTEGER[])		-- locker's process id
 RETURNS SETOF record
 AS 'MODULE_PATHNAME', 'pgrowlocks'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
diff --git a/contrib/pgrowlocks/pgrowlocks.control b/contrib/pgrowlocks/pgrowlocks.control
index dfa587d7618..9f92b2f1f45 100644
--- a/contrib/pgrowlocks/pgrowlocks.control
+++ b/contrib/pgrowlocks/pgrowlocks.control
@@ -1,5 +1,5 @@
 # pgrowlocks extension
 comment = 'show row-level locking information'
-default_version = '1.1'
+default_version = '1.2'
 module_pathname = '$libdir/pgrowlocks'
 relocatable = true
-- 
GitLab