Update pg_freespacemap extension for parallel query.

All functions provided by this extension are PARALLEL SAFE.

Andreas Karlsson
This commit is contained in:
Robert Haas 2016-06-09 17:18:16 -04:00
parent 0dbf3ce0e0
commit 42d4257a06
4 changed files with 13 additions and 5 deletions

View File

@ -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

View File

@ -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;

View File

@ -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.

View File

@ -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