Changeset: ca4a1c647adf for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ca4a1c647adf
Modified Files:
        geom/sql/40_geom.sql
        sql/backends/monet5/generator/90_generator.sql
        sql/backends/monet5/generator/90_generator_hge.sql
        sql/scripts/09_like.sql
        sql/scripts/10_math.sql
        sql/scripts/11_times.sql
        sql/scripts/12_url.sql
        sql/scripts/13_date.sql
        sql/scripts/14_inet.sql
        sql/scripts/15_querylog.sql
        sql/scripts/16_tracelog.sql
        sql/scripts/17_temporal.sql
        sql/scripts/18_index.sql
        sql/scripts/20_vacuum.sql
        sql/scripts/21_dependency_functions.sql
        sql/scripts/22_clients.sql
        sql/scripts/23_skyserver.sql
        sql/scripts/25_debug.sql
        sql/scripts/26_sysmon.sql
        sql/scripts/27_rejects.sql
        sql/scripts/39_analytics.sql
        sql/scripts/39_analytics_hge.sql
        sql/scripts/40_json.sql
        sql/scripts/40_json_hge.sql
        sql/scripts/41_md5sum.sql
        sql/scripts/45_uuid.sql
        sql/scripts/46_profiler.sql
        sql/scripts/51_sys_schema_extension.sql
        sql/scripts/60_wlcr.sql
        sql/scripts/75_storagemodel.sql
        sql/scripts/80_statistics.sql
        sql/server/rel_psm.c
        sql/server/sql_parser.y
        sql/server/sql_scan.c
Branch: system-functions
Log Message:

Implemented new syntax CREATE SYSTEM ((FILTER) 
FUNCTION|AGGREGATE|PROCEDURE|LOADER).


diffs (truncated from 2624 to 300 lines):

diff --git a/geom/sql/40_geom.sql b/geom/sql/40_geom.sql
--- a/geom/sql/40_geom.sql
+++ b/geom/sql/40_geom.sql
@@ -6,11 +6,11 @@
 
 -- make sure you load the geom module before loading this sql module
 
-CREATE FUNCTION Has_Z(info integer) RETURNS integer EXTERNAL NAME geom."hasZ";
+CREATE SYSTEM FUNCTION Has_Z(info integer) RETURNS integer EXTERNAL NAME 
geom."hasZ";
 GRANT EXECUTE ON FUNCTION Has_Z(integer) TO PUBLIC;
-CREATE FUNCTION Has_M(info integer) RETURNS integer EXTERNAL NAME geom."hasM";
+CREATE SYSTEM FUNCTION Has_M(info integer) RETURNS integer EXTERNAL NAME 
geom."hasM";
 GRANT EXECUTE ON FUNCTION Has_M(integer) TO PUBLIC;
-CREATE FUNCTION get_type(info integer, format integer) RETURNS string EXTERNAL 
NAME geom."getType";
+CREATE SYSTEM FUNCTION get_type(info integer, format integer) RETURNS string 
EXTERNAL NAME geom."getType";
 GRANT EXECUTE ON FUNCTION get_type(integer, integer) TO PUBLIC;
 
 
@@ -3959,34 +3959,34 @@ 900913|spatialreferencing.org|900913|PRO
 -- Envelope():Geometry
 -- as that returns Geometry objects, and we prefer the explicit mbr's
 -- minimum bounding rectangle (mbr)
-CREATE FUNCTION mbr(geom Geometry) RETURNS mbr external name geom."mbr";
+CREATE SYSTEM FUNCTION mbr(geom Geometry) RETURNS mbr external name geom."mbr";
 GRANT EXECUTE ON FUNCTION mbr(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Overlaps(box1 mbr, box2 mbr) RETURNS boolean EXTERNAL NAME 
geom."mbrOverlaps";
+CREATE SYSTEM FUNCTION ST_Overlaps(box1 mbr, box2 mbr) RETURNS boolean 
EXTERNAL NAME geom."mbrOverlaps";
 GRANT EXECUTE ON FUNCTION ST_Overlaps(mbr, mbr) TO PUBLIC;
-CREATE FUNCTION ST_Contains(box1 mbr, box2 mbr) RETURNS boolean EXTERNAL NAME 
geom."mbrContains";
+CREATE SYSTEM FUNCTION ST_Contains(box1 mbr, box2 mbr) RETURNS boolean 
EXTERNAL NAME geom."mbrContains";
 GRANT EXECUTE ON FUNCTION ST_Contains(mbr, mbr) TO PUBLIC;
-CREATE FUNCTION ST_Equals(box1 mbr, box2 mbr) RETURNS boolean EXTERNAL NAME 
geom."mbrEqual";
+CREATE SYSTEM FUNCTION ST_Equals(box1 mbr, box2 mbr) RETURNS boolean EXTERNAL 
NAME geom."mbrEqual";
 GRANT EXECUTE ON FUNCTION ST_Equals(mbr, mbr) TO PUBLIC;
-CREATE FUNCTION ST_Distance(box1 mbr, box2 mbr) RETURNS double EXTERNAL NAME 
geom."mbrDistance";
+CREATE SYSTEM FUNCTION ST_Distance(box1 mbr, box2 mbr) RETURNS double EXTERNAL 
NAME geom."mbrDistance";
 GRANT EXECUTE ON FUNCTION ST_Distance(mbr, mbr) TO PUBLIC;
 
---CREATE FUNCTION mbrOverlapOrLeft(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrLeft";
---CREATE FUNCTION mbrOverlapOrBelow(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrBelow";
---CREATE FUNCTION mbrOverlapOrRight(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrRight";
---CREATE FUNCTION mbrLeft(box1 mbr, box2 mbr) RETURNS boolean external name 
geom."mbrLeft";
---CREATE FUNCTION mbrBelow(box1 mbr, box2 mbr) RETURNS boolean external name 
geom."mbrBelow";
---CREATE FUNCTION mbrEqual(box1 mbr, box2 mbr) RETURNS boolean external name 
geom."mbrEqual";
---CREATE FUNCTION mbrRight(box1 mbr, box2 mbr) RETURNS boolean external name 
geom."mbrRight";
---CREATE FUNCTION mbrContained(box1 mbr, box2 mbr) RETURNS boolean external 
name geom."mbrContained";
---CREATE FUNCTION mbrOverlapOrAbove(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrAbove";
---CREATE FUNCTION mbrAbove(box1 mbr, box2 mbr) RETURNS boolean external name 
geom."mbrAbove";
+--CREATE SYSTEM FUNCTION mbrOverlapOrLeft(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrLeft";
+--CREATE SYSTEM FUNCTION mbrOverlapOrBelow(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrBelow";
+--CREATE SYSTEM FUNCTION mbrOverlapOrRight(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrRight";
+--CREATE SYSTEM FUNCTION mbrLeft(box1 mbr, box2 mbr) RETURNS boolean external 
name geom."mbrLeft";
+--CREATE SYSTEM FUNCTION mbrBelow(box1 mbr, box2 mbr) RETURNS boolean external 
name geom."mbrBelow";
+--CREATE SYSTEM FUNCTION mbrEqual(box1 mbr, box2 mbr) RETURNS boolean external 
name geom."mbrEqual";
+--CREATE SYSTEM FUNCTION mbrRight(box1 mbr, box2 mbr) RETURNS boolean external 
name geom."mbrRight";
+--CREATE SYSTEM FUNCTION mbrContained(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrContained";
+--CREATE SYSTEM FUNCTION mbrOverlapOrAbove(box1 mbr, box2 mbr) RETURNS boolean 
external name geom."mbrOverlapOrAbove";
+--CREATE SYSTEM FUNCTION mbrAbove(box1 mbr, box2 mbr) RETURNS boolean external 
name geom."mbrAbove";
 
 
 -------------------------------------------------------------------------
 ------------------------- Management Functions- -------------------------
 -------------------------------------------------------------------------
---CREATE PROCEDURE AddGeometryColumn(table_name string, column_name string, 
srid integer, geometryType string, dimension integer)
---CREATE FUNCTION AddGeometryColumn(table_name string, column_name string, 
srid integer, geometryType string, dimension integer) RETURNS string
+--CREATE SYSTEM PROCEDURE AddGeometryColumn(table_name string, column_name 
string, srid integer, geometryType string, dimension integer)
+--CREATE SYSTEM FUNCTION AddGeometryColumn(table_name string, column_name 
string, srid integer, geometryType string, dimension integer) RETURNS string
 --BEGIN
 --     DECLARE column_type string;
 --     SET column_type = concat('geometry( ', geometryType);
@@ -3998,12 +3998,12 @@ GRANT EXECUTE ON FUNCTION ST_Distance(mb
 --     RETURN column_type;
 --END;
 
---CREATE PROCEDURE t(table_name string, column_name string, column_type string)
+--CREATE SYSTEM PROCEDURE t(table_name string, column_name string, column_type 
string)
 --BEGIN
 --     ALTER TABLE table_name ADD column_name;
 --END;
 
---CREATE FUNCTION t(table_name string, column_name string, srid integer, type 
string, dimension integer) RETURNS string
+--CREATE SYSTEM FUNCTION t(table_name string, column_name string, srid 
integer, type string, dimension integer) RETURNS string
 --BEGIN
 --     EXECUTE PROCEDURE AddGeometryColumn(table_name, column_name, srid, 
type, dimension);
 --     RETURN '';
@@ -4016,139 +4016,139 @@ GRANT EXECUTE ON FUNCTION ST_Distance(mb
 ---------------------------------
 
 --Construct a Geometry from a WKT
-CREATE FUNCTION ST_WKTToSQL(wkt string) RETURNS Geometry external name 
geom."GeomFromText";
+CREATE SYSTEM FUNCTION ST_WKTToSQL(wkt string) RETURNS Geometry external name 
geom."GeomFromText";
 GRANT EXECUTE ON FUNCTION ST_WKTToSQL(string) TO PUBLIC;
 
 --Construct a Geometry from a WKB
-CREATE FUNCTION ST_WKBToSQL(geom string) RETURNS Geometry EXTERNAL NAME 
geom."FromBinary";
+CREATE SYSTEM FUNCTION ST_WKBToSQL(geom string) RETURNS Geometry EXTERNAL NAME 
geom."FromBinary";
 GRANT EXECUTE ON FUNCTION ST_WKBToSQL(string) TO PUBLIC;
 
 --Obtaining WKT from Geometry
-CREATE FUNCTION ST_AsText(geom Geometry) RETURNS string EXTERNAL NAME 
geom."AsText";
+CREATE SYSTEM FUNCTION ST_AsText(geom Geometry) RETURNS string EXTERNAL NAME 
geom."AsText";
 GRANT EXECUTE ON FUNCTION ST_AsText(Geometry) TO PUBLIC;
 
 --Obtainig WKB from Geometry
-CREATE FUNCTION ST_AsBinary(geom Geometry) RETURNS string EXTERNAL NAME 
geom."AsBinary";
+CREATE SYSTEM FUNCTION ST_AsBinary(geom Geometry) RETURNS string EXTERNAL NAME 
geom."AsBinary";
 GRANT EXECUTE ON FUNCTION ST_AsBinary(Geometry) TO PUBLIC;
 
 --Functions on Geometries
-CREATE FUNCTION ST_Dimension(geom Geometry) RETURNS integer EXTERNAL NAME 
geom."Dimension";
+CREATE SYSTEM FUNCTION ST_Dimension(geom Geometry) RETURNS integer EXTERNAL 
NAME geom."Dimension";
 GRANT EXECUTE ON FUNCTION ST_Dimension(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_GeometryType(geom Geometry) RETURNS string EXTERNAL NAME 
geom."GeometryType2";
+CREATE SYSTEM FUNCTION ST_GeometryType(geom Geometry) RETURNS string EXTERNAL 
NAME geom."GeometryType2";
 GRANT EXECUTE ON FUNCTION ST_GeometryType(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_SRID(geom Geometry) RETURNS integer EXTERNAL NAME 
geom."getSRID";
+CREATE SYSTEM FUNCTION ST_SRID(geom Geometry) RETURNS integer EXTERNAL NAME 
geom."getSRID";
 GRANT EXECUTE ON FUNCTION ST_SRID(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_SetSRID(geom Geometry, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."setSRID";
+CREATE SYSTEM FUNCTION ST_SetSRID(geom Geometry, srid integer) RETURNS 
Geometry EXTERNAL NAME geom."setSRID";
 GRANT EXECUTE ON FUNCTION ST_SetSRID(Geometry, integer) TO PUBLIC;
-CREATE FUNCTION ST_IsEmpty(geom Geometry) RETURNS boolean EXTERNAL NAME 
geom."IsEmpty";
+CREATE SYSTEM FUNCTION ST_IsEmpty(geom Geometry) RETURNS boolean EXTERNAL NAME 
geom."IsEmpty";
 GRANT EXECUTE ON FUNCTION ST_IsEmpty(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_IsSimple(geom Geometry) RETURNS boolean EXTERNAL NAME 
geom."IsSimple";
+CREATE SYSTEM FUNCTION ST_IsSimple(geom Geometry) RETURNS boolean EXTERNAL 
NAME geom."IsSimple";
 GRANT EXECUTE ON FUNCTION ST_IsSimple(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Boundary(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."Boundary";
+CREATE SYSTEM FUNCTION ST_Boundary(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."Boundary";
 GRANT EXECUTE ON FUNCTION ST_Boundary(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Envelope(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."Envelope";
+CREATE SYSTEM FUNCTION ST_Envelope(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."Envelope";
 GRANT EXECUTE ON FUNCTION ST_Envelope(Geometry) TO PUBLIC;
 --Functions testing spatial relations between Geometries
-CREATE FUNCTION ST_Equals(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Equals";
+CREATE SYSTEM FUNCTION ST_Equals(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Equals";
 GRANT EXECUTE ON FUNCTION ST_Equals(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Disjoint(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Disjoint";
+CREATE SYSTEM FUNCTION ST_Disjoint(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Disjoint";
 GRANT EXECUTE ON FUNCTION ST_Disjoint(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Intersects(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Intersects";
+CREATE SYSTEM FUNCTION ST_Intersects(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Intersects";
 GRANT EXECUTE ON FUNCTION ST_Intersects(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Touches(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Touches";
+CREATE SYSTEM FUNCTION ST_Touches(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Touches";
 GRANT EXECUTE ON FUNCTION ST_Touches(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Crosses(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Crosses";
+CREATE SYSTEM FUNCTION ST_Crosses(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Crosses";
 GRANT EXECUTE ON FUNCTION ST_Crosses(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Within(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Within";
+CREATE SYSTEM FUNCTION ST_Within(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Within";
 GRANT EXECUTE ON FUNCTION ST_Within(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Contains(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Contains";
+CREATE SYSTEM FUNCTION ST_Contains(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Contains";
 GRANT EXECUTE ON FUNCTION ST_Contains(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Overlaps(geom1 Geometry, geom2 Geometry) RETURNS boolean 
EXTERNAL NAME geom."Overlaps";
+CREATE SYSTEM FUNCTION ST_Overlaps(geom1 Geometry, geom2 Geometry) RETURNS 
boolean EXTERNAL NAME geom."Overlaps";
 GRANT EXECUTE ON FUNCTION ST_Overlaps(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Relate(geom1 Geometry, geom2 Geometry, 
intersection_matrix_pattern string) RETURNS boolean EXTERNAL NAME geom."Relate";
+CREATE SYSTEM FUNCTION ST_Relate(geom1 Geometry, geom2 Geometry, 
intersection_matrix_pattern string) RETURNS boolean EXTERNAL NAME geom."Relate";
 GRANT EXECUTE ON FUNCTION ST_Relate(Geometry, Geometry, string) TO PUBLIC;
 --Distance between Geometries
-CREATE FUNCTION ST_Distance(geom1 Geometry, geom2 Geometry) RETURNS double 
EXTERNAL NAME geom."Distance";
+CREATE SYSTEM FUNCTION ST_Distance(geom1 Geometry, geom2 Geometry) RETURNS 
double EXTERNAL NAME geom."Distance";
 GRANT EXECUTE ON FUNCTION ST_Distance(Geometry, Geometry) TO PUBLIC;
 --Functions that implement spatial operators
-CREATE FUNCTION ST_Intersection(geom1 Geometry, geom2 Geometry) RETURNS 
Geometry EXTERNAL NAME geom."Intersection";
+CREATE SYSTEM FUNCTION ST_Intersection(geom1 Geometry, geom2 Geometry) RETURNS 
Geometry EXTERNAL NAME geom."Intersection";
 GRANT EXECUTE ON FUNCTION ST_Intersection(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Difference(geom1 Geometry, geom2 Geometry) RETURNS Geometry 
EXTERNAL NAME geom."Difference";
+CREATE SYSTEM FUNCTION ST_Difference(geom1 Geometry, geom2 Geometry) RETURNS 
Geometry EXTERNAL NAME geom."Difference";
 GRANT EXECUTE ON FUNCTION ST_Difference(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Union(geom1 Geometry, geom2 Geometry) RETURNS Geometry 
EXTERNAL NAME geom."Union";
+CREATE SYSTEM FUNCTION ST_Union(geom1 Geometry, geom2 Geometry) RETURNS 
Geometry EXTERNAL NAME geom."Union";
 GRANT EXECUTE ON FUNCTION ST_Union(Geometry, Geometry) TO PUBLIC;
-CREATE AGGREGATE ST_Union(geom Geometry) RETURNS Geometry external name 
geom."Union";
-CREATE FUNCTION ST_SymDifference(geom1 Geometry, geom2 Geometry) RETURNS 
Geometry EXTERNAL NAME geom."SymDifference";
+CREATE SYSTEM AGGREGATE ST_Union(geom Geometry) RETURNS Geometry external name 
geom."Union";
+CREATE SYSTEM FUNCTION ST_SymDifference(geom1 Geometry, geom2 Geometry) 
RETURNS Geometry EXTERNAL NAME geom."SymDifference";
 GRANT EXECUTE ON FUNCTION ST_SymDifference(Geometry, Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Buffer(geom Geometry, radius double) RETURNS Geometry 
EXTERNAL NAME geom."Buffer";
+CREATE SYSTEM FUNCTION ST_Buffer(geom Geometry, radius double) RETURNS 
Geometry EXTERNAL NAME geom."Buffer";
 GRANT EXECUTE ON FUNCTION ST_Buffer(Geometry, double) TO PUBLIC;
-CREATE FUNCTION ST_ConvexHull(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."ConvexHull";
+CREATE SYSTEM FUNCTION ST_ConvexHull(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."ConvexHull";
 GRANT EXECUTE ON FUNCTION ST_ConvexHull(Geometry) TO PUBLIC;
 
 --Functions on Point
-CREATE FUNCTION ST_X(geom Geometry) RETURNS double EXTERNAL NAME geom."X";
+CREATE SYSTEM FUNCTION ST_X(geom Geometry) RETURNS double EXTERNAL NAME 
geom."X";
 GRANT EXECUTE ON FUNCTION ST_X(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Y(geom Geometry) RETURNS double EXTERNAL NAME geom."Y";
+CREATE SYSTEM FUNCTION ST_Y(geom Geometry) RETURNS double EXTERNAL NAME 
geom."Y";
 GRANT EXECUTE ON FUNCTION ST_Y(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Z(geom Geometry) RETURNS double EXTERNAL NAME geom."Z";
+CREATE SYSTEM FUNCTION ST_Z(geom Geometry) RETURNS double EXTERNAL NAME 
geom."Z";
 GRANT EXECUTE ON FUNCTION ST_Z(Geometry) TO PUBLIC;
 
 --Functions on Curve (i.e. LineString)
-CREATE FUNCTION ST_StartPoint(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."StartPoint";
+CREATE SYSTEM FUNCTION ST_StartPoint(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."StartPoint";
 GRANT EXECUTE ON FUNCTION ST_StartPoint(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_EndPoint(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."EndPoint";
+CREATE SYSTEM FUNCTION ST_EndPoint(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."EndPoint";
 GRANT EXECUTE ON FUNCTION ST_EndPoint(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_IsRing(geom Geometry) RETURNS boolean EXTERNAL NAME 
geom."IsRing";
+CREATE SYSTEM FUNCTION ST_IsRing(geom Geometry) RETURNS boolean EXTERNAL NAME 
geom."IsRing";
 GRANT EXECUTE ON FUNCTION ST_IsRing(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Length(geom Geometry) RETURNS double EXTERNAL NAME 
geom."Length"; --valid also for MultiCurve
+CREATE SYSTEM FUNCTION ST_Length(geom Geometry) RETURNS double EXTERNAL NAME 
geom."Length"; --valid also for MultiCurve
 GRANT EXECUTE ON FUNCTION ST_Length(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_IsClosed(geom Geometry) RETURNS boolean EXTERNAL NAME 
geom."IsClosed"; --valid also for MultiCurve
+CREATE SYSTEM FUNCTION ST_IsClosed(geom Geometry) RETURNS boolean EXTERNAL 
NAME geom."IsClosed"; --valid also for MultiCurve
 GRANT EXECUTE ON FUNCTION ST_IsClosed(Geometry) TO PUBLIC;
 
 --Functions on LineString
-CREATE FUNCTION ST_NumPoints(geom Geometry) RETURNS integer EXTERNAL NAME 
geom."NumPoints";
+CREATE SYSTEM FUNCTION ST_NumPoints(geom Geometry) RETURNS integer EXTERNAL 
NAME geom."NumPoints";
 GRANT EXECUTE ON FUNCTION ST_NumPoints(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_PointN(geom Geometry, positionNum integer) RETURNS Geometry 
EXTERNAL NAME geom."PointN";
+CREATE SYSTEM FUNCTION ST_PointN(geom Geometry, positionNum integer) RETURNS 
Geometry EXTERNAL NAME geom."PointN";
 GRANT EXECUTE ON FUNCTION ST_PointN(Geometry, integer) TO PUBLIC;
 
 --Functions on Surface (i.e. Polygon and Polyhedral Surface) and MultiSurface
-CREATE FUNCTION ST_Centroid(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."Centroid";
+CREATE SYSTEM FUNCTION ST_Centroid(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."Centroid";
 GRANT EXECUTE ON FUNCTION ST_Centroid(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_PointOnSurface(geom Geometry) RETURNS Geometry EXTERNAL 
NAME geom."PointOnSurface";
+CREATE SYSTEM FUNCTION ST_PointOnSurface(geom Geometry) RETURNS Geometry 
EXTERNAL NAME geom."PointOnSurface";
 GRANT EXECUTE ON FUNCTION ST_PointOnSurface(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_Area(geom Geometry) RETURNS double EXTERNAL NAME 
geom."Area";
+CREATE SYSTEM FUNCTION ST_Area(geom Geometry) RETURNS double EXTERNAL NAME 
geom."Area";
 GRANT EXECUTE ON FUNCTION ST_Area(Geometry) TO PUBLIC;
 
 --Functions on Polygon
-CREATE FUNCTION ST_ExteriorRing(geom Geometry) RETURNS Geometry EXTERNAL NAME 
geom."ExteriorRing";
+CREATE SYSTEM FUNCTION ST_ExteriorRing(geom Geometry) RETURNS Geometry 
EXTERNAL NAME geom."ExteriorRing";
 GRANT EXECUTE ON FUNCTION ST_ExteriorRing(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_SetExteriorRing(geom Geometry) RETURNS Geometry external 
name geom."MakePolygon"; --gets a linestring and creates a polygon (postGIS: 
ST_MakePolygon)
+CREATE SYSTEM FUNCTION ST_SetExteriorRing(geom Geometry) RETURNS Geometry 
external name geom."MakePolygon"; --gets a linestring and creates a polygon 
(postGIS: ST_MakePolygon)
 GRANT EXECUTE ON FUNCTION ST_SetExteriorRing(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_NumInteriorRing(geom Geometry) RETURNS integer EXTERNAL 
NAME geom."NumInteriorRings";
+CREATE SYSTEM FUNCTION ST_NumInteriorRing(geom Geometry) RETURNS integer 
EXTERNAL NAME geom."NumInteriorRings";
 GRANT EXECUTE ON FUNCTION ST_NumInteriorRing(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_InteriorRingN(geom Geometry, positionNum integer) RETURNS 
Geometry EXTERNAL NAME geom."InteriorRingN";
+CREATE SYSTEM FUNCTION ST_InteriorRingN(geom Geometry, positionNum integer) 
RETURNS Geometry EXTERNAL NAME geom."InteriorRingN";
 GRANT EXECUTE ON FUNCTION ST_InteriorRingN(Geometry, integer) TO PUBLIC;
-CREATE FUNCTION ST_InteriorRings(geom Geometry) RETURNS GeometryA EXTERNAL 
NAME geom."InteriorRings";
+CREATE SYSTEM FUNCTION ST_InteriorRings(geom Geometry) RETURNS GeometryA 
EXTERNAL NAME geom."InteriorRings";
 GRANT EXECUTE ON FUNCTION ST_InteriorRings(Geometry) TO PUBLIC;
---CREATE FUNCTION ST_SetInteriorRings(geom GeometryA) RETURNS Geometry 
EXTERNAL NAME geom."SetInteriorRings"; --what is this function supposed to 
do????
+--CREATE SYSTEM FUNCTION ST_SetInteriorRings(geom GeometryA) RETURNS Geometry 
EXTERNAL NAME geom."SetInteriorRings"; --what is this function supposed to 
do????
 
 --Functions on GeomCollection
-CREATE FUNCTION ST_NumGeometries(geom Geometry) RETURNS integer EXTERNAL NAME 
geom."NumGeometries";
+CREATE SYSTEM FUNCTION ST_NumGeometries(geom Geometry) RETURNS integer 
EXTERNAL NAME geom."NumGeometries";
 GRANT EXECUTE ON FUNCTION ST_NumGeometries(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_GeometryN(geom Geometry, positionNum integer) RETURNS 
Geometry EXTERNAL NAME geom."GeometryN";
+CREATE SYSTEM FUNCTION ST_GeometryN(geom Geometry, positionNum integer) 
RETURNS Geometry EXTERNAL NAME geom."GeometryN";
 GRANT EXECUTE ON FUNCTION ST_GeometryN(Geometry, integer) TO PUBLIC;
 
 --Functions on Polyhedral Surfaces (a simple surface, consisting of a number 
of Polygon pathes or facets)
---CREATE FUNCTION ST_Geometries(geom Geometry) RETURNS TABLE(geom Geometries) 
EXTERNAL NAME geom."Geometries";
---CREATE FUNCTION NumSurfaces(geom Geometry) RETURNS integer EXTERNAL NAME 
geom."NumSurfaces";
---CREATE FUNCTION Surface(positionNum integer) RETURNS Geometry EXTERNAL NAME 
geom."SurfaceN";
+--CREATE SYSTEM FUNCTION ST_Geometries(geom Geometry) RETURNS TABLE(geom 
Geometries) EXTERNAL NAME geom."Geometries";
+--CREATE SYSTEM FUNCTION NumSurfaces(geom Geometry) RETURNS integer EXTERNAL 
NAME geom."NumSurfaces";
+--CREATE SYSTEM FUNCTION Surface(positionNum integer) RETURNS Geometry 
EXTERNAL NAME geom."SurfaceN";
 --from Part 1
-CREATE FUNCTION ST_NumPatches(geom Geometry) RETURNS integer --EXTERNAL NAME 
geom."NumPatches"; --same with NumSurfaces
+CREATE SYSTEM FUNCTION ST_NumPatches(geom Geometry) RETURNS integer --EXTERNAL 
NAME geom."NumPatches"; --same with NumSurfaces
 BEGIN
        RETURN SELECT ST_NumGeometries(geom);
 END;
 GRANT EXECUTE ON FUNCTION ST_NumPatches(Geometry) TO PUBLIC;
-CREATE FUNCTION ST_PatchN(geom Geometry, patchNum integer) RETURNS Geometry 
--EXTERNAL NAME geom."PatchN" --same with Surface
+CREATE SYSTEM FUNCTION ST_PatchN(geom Geometry, patchNum integer) RETURNS 
Geometry --EXTERNAL NAME geom."PatchN" --same with Surface
 BEGIN
        RETURN SELECT ST_GeometryN(geom, patchNum);
 END;
@@ -4161,41 +4161,41 @@ GRANT EXECUTE ON FUNCTION ST_PatchN(Geom
 -------------------------------------------
 
 --Construct a Geometry from a WKT
-CREATE FUNCTION ST_GeomFromText(wkt string, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."GeomFromText";
+CREATE SYSTEM FUNCTION ST_GeomFromText(wkt string, srid integer) RETURNS 
Geometry EXTERNAL NAME geom."GeomFromText";
 GRANT EXECUTE ON FUNCTION ST_GeomFromText(string, integer) TO PUBLIC;
-CREATE FUNCTION ST_PointFromText(wkt string, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."PointFromText";
+CREATE SYSTEM FUNCTION ST_PointFromText(wkt string, srid integer) RETURNS 
Geometry EXTERNAL NAME geom."PointFromText";
 GRANT EXECUTE ON FUNCTION ST_PointFromText(string, integer) TO PUBLIC;
-CREATE FUNCTION ST_LineFromText(wkt string, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."LineFromText";
+CREATE SYSTEM FUNCTION ST_LineFromText(wkt string, srid integer) RETURNS 
Geometry EXTERNAL NAME geom."LineFromText";
 GRANT EXECUTE ON FUNCTION ST_LineFromText(string, integer) TO PUBLIC;
-CREATE FUNCTION ST_PolygonFromText(wkt string, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."PolygonFromText";
+CREATE SYSTEM FUNCTION ST_PolygonFromText(wkt string, srid integer) RETURNS 
Geometry EXTERNAL NAME geom."PolygonFromText";
 GRANT EXECUTE ON FUNCTION ST_PolygonFromText(string, integer) TO PUBLIC;
-CREATE FUNCTION ST_MPointFromText(wkt string, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."MPointFromText";
+CREATE SYSTEM FUNCTION ST_MPointFromText(wkt string, srid integer) RETURNS 
Geometry EXTERNAL NAME geom."MPointFromText";
 GRANT EXECUTE ON FUNCTION ST_MPointFromText(string, integer) TO PUBLIC;
-CREATE FUNCTION ST_MLineFromText(wkt string, srid integer) RETURNS Geometry 
EXTERNAL NAME geom."MLineFromText";
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to