]> granicus.if.org Git - postgis/commitdiff
_postgis_drop_function_if_needed: Update ST_GeoJSON args
authorRaúl Marín Rodríguez <rmrodriguez@carto.com>
Fri, 30 Aug 2019 14:58:55 +0000 (14:58 +0000)
committerRaúl Marín Rodríguez <rmrodriguez@carto.com>
Fri, 30 Aug 2019 14:58:55 +0000 (14:58 +0000)
Related to #4483

git-svn-id: http://svn.osgeo.org/postgis/trunk@17797 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/postgis_before_upgrade.sql

index fc59058569e5e2b2cb601d473156db6506b0e282..60d453c0925d8139c2825ef21bd81dc2d1bd55a2 100644 (file)
 
 
 -- Helper function to drop functions when they match the full signature
--- Requires schema, name and __identity_arguments__ as extracted from pg_catalog
+-- Requires schema, name and __exact arguments__ as extracted from pg_catalog.pg_get_function_arguments
+-- You can extract the old function arguments using a query like:
+-- SELECT  p.oid as oid,
+--                 n.nspname as schema,
+--                 p.proname as name,
+--                 pg_catalog.pg_get_function_arguments(p.oid) as arguments
+--         FROM pg_catalog.pg_proc p
+--         LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
+--         WHERE
+--                 LOWER(n.nspname) = LOWER('public') AND
+--                 LOWER(p.proname) = LOWER('ST_AsGeoJson')
+--         ORDER BY 1, 2, 3, 4;
 CREATE OR REPLACE FUNCTION _postgis_drop_function_if_needed(
        function_schema text,
        function_name text,
@@ -150,7 +161,7 @@ SELECT _postgis_drop_function_if_needed
        (
        '@extschema@',
        'ST_AsGeoJson',
-       'r record, geom_column text, maxdecimaldigits int4, pretty_print bool'
+       $args$r record, geom_column text DEFAULT ''::text, maxdecimaldigits integer DEFAULT 15, pretty_print boolean DEFAULT false$args$
        );
 
 -- FUNCTION ST_LineCrossingDirection changed argument names in 3.0