]> granicus.if.org Git - postgis/commitdiff
Replace the 3 ST_CurveToLine signatures with a single one
authorSandro Santilli <strk@kbt.io>
Sun, 22 Oct 2017 17:54:09 +0000 (17:54 +0000)
committerSandro Santilli <strk@kbt.io>
Sun, 22 Oct 2017 17:54:09 +0000 (17:54 +0000)
The new one uses defaults for arguments

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

doc/reference_processing.xml
postgis/postgis.sql.in
postgis/postgis_drop_before.sql

index ec7f615a19b75804af873faec1bc60abc8f186e3..4216c12f54d5b1e9b9c00c8130ee2508d728d603 100644 (file)
@@ -836,21 +836,12 @@ POLYGON((50 5,10 8,10 10,100 190,150 30,150 10,50 5))
 
          <refsynopsisdiv>
                <funcsynopsis>
-                 <funcprototype>
-                       <funcdef>geometry <function>ST_CurveToLine</function></funcdef>
-                       <paramdef><type>geometry</type> <parameter>curveGeom</parameter></paramdef>
-                 </funcprototype>
-                 <funcprototype>
-                       <funcdef>geometry <function>ST_CurveToLine</function></funcdef>
-                       <paramdef><type>geometry</type> <parameter>curveGeom</parameter></paramdef>
-                       <paramdef><type>integer</type> <parameter>segments_per_qtr_circle</parameter></paramdef>
-                 </funcprototype>
                  <funcprototype>
                        <funcdef>geometry <function>ST_CurveToLine</function></funcdef>
                        <paramdef><type>geometry</type> <parameter>curveGeom</parameter></paramdef>
                        <paramdef><type>float</type> <parameter>tolerance</parameter></paramdef>
-                       <paramdef><type>integer</type> <parameter>tolerance_type</parameter></paramdef>
-                       <paramdef><type>integer</type> <parameter>flags</parameter></paramdef>
+                       <paramdef choice="opt"><type>integer</type> <parameter>tolerance_type</parameter></paramdef>
+                       <paramdef choice="opt"><type>integer</type> <parameter>flags</parameter></paramdef>
                  </funcprototype>
                </funcsynopsis>
          </refsynopsisdiv>
index 723d58f273a8398ed188f647f1bd55e1bc12792b..3f9cb018c4df6a3ddf95d26a241d00daa6aa10b2 100644 (file)
@@ -5674,33 +5674,10 @@ CREATE OR REPLACE FUNCTION ST_CoordDim(Geometry geometry)
 --
 -- Availability: 2.4.0
 --
-CREATE OR REPLACE FUNCTION ST_CurveToLine(geom geometry, tol float8, toltype integer, flags integer)
+CREATE OR REPLACE FUNCTION ST_CurveToLine(geom geometry, tol float8 DEFAULT 32, toltype integer DEFAULT 0, flags integer DEFAULT 0)
        RETURNS geometry
        AS 'MODULE_PATHNAME', 'ST_CurveToLine'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
---
--- SQL-MM
---
--- ST_CurveToLine(Geometry geometry, SegmentsPerQuarter integer)
---
--- Converts a given geometry to a linear geometry.  Each curveed
--- geometry or segment is converted into a linear approximation using
--- the given number of segments per quarter circle.
---
-CREATE OR REPLACE FUNCTION ST_CurveToLine(geometry, integer)
-       RETURNS geometry AS 'SELECT ST_CurveToLine($1, $2::float8, 0, 0)'
-       LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
---
--- SQL-MM
---
--- ST_CurveToLine(Geometry geometry, SegmentsPerQuarter integer)
---
--- Converts a given geometry to a linear geometry.  Each curveed
--- geometry or segment is converted into a linear approximation using
--- the default value of 32 segments per quarter circle
-CREATE OR REPLACE FUNCTION ST_CurveToLine(geometry)
-       RETURNS geometry AS 'SELECT ST_CurveToLine($1, 32::integer)'
-       LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 CREATE OR REPLACE FUNCTION ST_HasArc(Geometry geometry)
        RETURNS boolean
index 5eff569140da22e09f2965723204d35be23a57f6..15eb7b2612b4da5a7e4284f933eb58b72391d923 100644 (file)
@@ -73,5 +73,9 @@ DROP FUNCTION IF EXISTS ST_AsMVTGeom(geom geometry, bounds box2d, extent int4, b
 DROP AGGREGATE IF EXISTS ST_AsGeobuf(text, anyelement);
 DROP FUNCTION IF EXISTS pgis_asgeobuf_transfn(internal, text, anyelement);
 DROP FUNCTION IF EXISTS pgis_asmvt_transfn(internal, text, int4, text, anyelement);
+-- Going from multiple functions to default args
+-- Need to drop old multiple variants to not get in trouble.
+DROP FUNCTION IF EXISTS  ST_CurveToLine(geometry, integer);
+DROP FUNCTION IF EXISTS  ST_CurveToLine(geometry);
 
 DROP VIEW IF EXISTS geometry_columns; -- removed cast 2.2.0 so need to recreate