summaryrefslogtreecommitdiff
path: root/contrib/pg_freespacemap
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2016-06-09 17:18:16 -0400
committerRobert Haas <rhaas@postgresql.org>2016-06-09 17:18:16 -0400
commit42d4257a069584e205cafcc175f9f6f8d673237c (patch)
tree84112e23624d03584128ac4655898392df06da8a /contrib/pg_freespacemap
parent0dbf3ce0e0c0bac2eb84eec70bcd3d728abd5a8c (diff)
downloadpostgresql-42d4257a069584e205cafcc175f9f6f8d673237c.tar.gz
Update pg_freespacemap extension for parallel query.
All functions provided by this extension are PARALLEL SAFE. Andreas Karlsson
Diffstat (limited to 'contrib/pg_freespacemap')
-rw-r--r--contrib/pg_freespacemap/Makefile3
-rw-r--r--contrib/pg_freespacemap/pg_freespacemap--1.0--1.1.sql7
-rw-r--r--contrib/pg_freespacemap/pg_freespacemap--1.1.sql (renamed from contrib/pg_freespacemap/pg_freespacemap--1.0.sql)6
-rw-r--r--contrib/pg_freespacemap/pg_freespacemap.control2
4 files changed, 13 insertions, 5 deletions
diff --git a/contrib/pg_freespacemap/Makefile b/contrib/pg_freespacemap/Makefile
index 5760d9fe51..7bc0e9555d 100644
--- a/contrib/pg_freespacemap/Makefile
+++ b/contrib/pg_freespacemap/Makefile
@@ -4,7 +4,8 @@ MODULE_big = pg_freespacemap
OBJS = pg_freespacemap.o $(WIN32RES)
EXTENSION = pg_freespacemap
-DATA = pg_freespacemap--1.0.sql pg_freespacemap--unpackaged--1.0.sql
+DATA = pg_freespacemap--1.1.sql pg_freespacemap--1.0--1.1.sql \
+ pg_freespacemap--unpackaged--1.0.sql
PGFILEDESC = "pg_freespacemap - monitoring of free space map"
ifdef USE_PGXS
diff --git a/contrib/pg_freespacemap/pg_freespacemap--1.0--1.1.sql b/contrib/pg_freespacemap/pg_freespacemap--1.0--1.1.sql
new file mode 100644
index 0000000000..52d6576df0
--- /dev/null
+++ b/contrib/pg_freespacemap/pg_freespacemap--1.0--1.1.sql
@@ -0,0 +1,7 @@
+/* contrib/pg_freespacemap/pg_freespacemap--1.0--1.1.sql */
+
+-- complain if script is sourced in psql, rather than via ALTER EXTENSION
+\echo Use "ALTER EXTENSION pg_freespacemap UPDATE TO '1.1'" to load this file. \quit
+
+ALTER FUNCTION pg_freespace(regclass, bigint) PARALLEL SAFE;
+ALTER FUNCTION pg_freespace(regclass) PARALLEL SAFE;
diff --git a/contrib/pg_freespacemap/pg_freespacemap--1.0.sql b/contrib/pg_freespacemap/pg_freespacemap--1.1.sql
index 2adb52a375..e1b8242268 100644
--- a/contrib/pg_freespacemap/pg_freespacemap--1.0.sql
+++ b/contrib/pg_freespacemap/pg_freespacemap--1.1.sql
@@ -1,4 +1,4 @@
-/* contrib/pg_freespacemap/pg_freespacemap--1.0.sql */
+/* contrib/pg_freespacemap/pg_freespacemap--1.1.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "CREATE EXTENSION pg_freespacemap" to load this file. \quit
@@ -7,7 +7,7 @@
CREATE FUNCTION pg_freespace(regclass, bigint)
RETURNS int2
AS 'MODULE_PATHNAME', 'pg_freespace'
-LANGUAGE C STRICT;
+LANGUAGE C STRICT PARALLEL SAFE;
-- pg_freespace shows the recorded space avail at each block in a relation
CREATE FUNCTION
@@ -17,7 +17,7 @@ AS $$
SELECT blkno, pg_freespace($1, blkno) AS avail
FROM generate_series(0, pg_relation_size($1) / current_setting('block_size')::bigint - 1) AS blkno;
$$
-LANGUAGE SQL;
+LANGUAGE SQL PARALLEL SAFE;
-- Don't want these to be available to public.
diff --git a/contrib/pg_freespacemap/pg_freespacemap.control b/contrib/pg_freespacemap/pg_freespacemap.control
index 34b695ff75..764db30d18 100644
--- a/contrib/pg_freespacemap/pg_freespacemap.control
+++ b/contrib/pg_freespacemap/pg_freespacemap.control
@@ -1,5 +1,5 @@
# pg_freespacemap extension
comment = 'examine the free space map (FSM)'
-default_version = '1.0'
+default_version = '1.1'
module_pathname = '$libdir/pg_freespacemap'
relocatable = true