From 5affb213d687c2788f87b48c3409710b04b37d6d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ra=C3=BAl=20Mar=C3=ADn=20Rodr=C3=ADguez?= Date: Fri, 18 Jan 2019 17:24:55 +0000 Subject: [PATCH] Use `server_version_num` instead of parsing `version()` References #4296 git-svn-id: http://svn.osgeo.org/postgis/branches/2.5@17180 b70326c6-7e19-0410-871a-916f4a2858ee --- NEWS | 2 ++ extensions/postgis_extension_helper.sql | 3 +-- postgis/postgis.sql.in | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index aff81842e..a815e04f4 100644 --- a/NEWS +++ b/NEWS @@ -40,6 +40,8 @@ XXXX/XX/XX - #4275, Avoid passing a NULL pointer to GEOSisEmpty (Raúl Marín) + - #4296, Use `server_version_num` instead of parsing `version()` (Raúl Marín) + PostGIS 2.5.1 2018/11/18 diff --git a/extensions/postgis_extension_helper.sql b/extensions/postgis_extension_helper.sql index a5e6a0ad2..c93493a44 100644 --- a/extensions/postgis_extension_helper.sql +++ b/extensions/postgis_extension_helper.sql @@ -28,8 +28,7 @@ DECLARE var_class text := ''; var_is_aggregate boolean := false; var_sql_list text := ''; - var_pgsql_version integer := CASE WHEN split_part(s,'.',1)::integer > 9 THEN split_part(s,'.',1) || '0' ELSE split_part(s,'.', 1) || split_part(s,'.', 2) END AS v - FROM substring(version(), 'PostgreSQL ([0-9\.]+)') AS s; + var_pgsql_version integer := current_setting('server_version_num'); BEGIN var_class := CASE WHEN lower(param_type) = 'function' OR lower(param_type) = 'aggregate' THEN 'pg_proc' ELSE '' END; var_is_aggregate := CASE WHEN lower(param_type) = 'aggregate' THEN true ELSE false END; diff --git a/postgis/postgis.sql.in b/postgis/postgis.sql.in index 54c554d57..0806c2533 100644 --- a/postgis/postgis.sql.in +++ b/postgis/postgis.sql.in @@ -2808,8 +2808,7 @@ CREATE OR REPLACE FUNCTION _postgis_scripts_pgsql_version() RETURNS text CREATE OR REPLACE FUNCTION _postgis_pgsql_version() RETURNS text AS $$ - SELECT CASE WHEN split_part(s,'.',1)::integer > 9 THEN split_part(s,'.',1) || '0' ELSE split_part(s,'.', 1) || split_part(s,'.', 2) END AS v - FROM substring(version(), 'PostgreSQL ([0-9\.]+)') AS s; + SELECT current_setting('server_version_num'); $$ LANGUAGE 'sql' STABLE; -- Availability: 2.5.0 -- 2.49.0