[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: geo - types should be dropped after dropping the relate...
From: Kostis Kyzirakos <commits+kostis=cwi.nl () monetdb ! org>
Date: 2016-01-29 15:31:47
Message-ID: hg.cda5ba9639f6.1454081507.6315528441665844383 () monetdb2 ! cwi-incubator ! nl
[Download RAW message or body]
Changeset: cda5ba9639f6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cda5ba9639f6
Modified Files:
geom/monetdb5/geom_upgrade.c
Branch: geo
Log Message:
types should be dropped after dropping the related functions
diffs (truncated from 384 to 300 lines):
diff --git a/geom/monetdb5/geom_upgrade.c b/geom/monetdb5/geom_upgrade.c
--- a/geom/monetdb5/geom_upgrade.c
+++ b/geom/monetdb5/geom_upgrade.c
@@ -430,20 +430,6 @@ geom_sql_upgrade(void)
if ((buf = GDKmalloc(bufsize)) == NULL)
return "";
- /* drop old types (but keep the geometry type) **/
- /** pos += snprintf(buf + pos, bufsize - pos, "DROP TYPE Geometry;"); **/
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"point\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"curve\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"linestring\"\n;");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"surface\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"polygon\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"multipoint\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"multicurve\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"multilinestring\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"multisurface\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"multipolygon\";\n");
- pos += snprintf(buf + pos, bufsize - pos, "drop type \"geomcollection\";\n");
-
/* drop old functions */
pos += snprintf(buf + pos, bufsize - pos, "drop function \"mbr\";\n");
pos += snprintf(buf + pos, bufsize - pos, "drop function \"mbroverlaps\";\n");
@@ -486,176 +472,190 @@ geom_sql_upgrade(void)
pos += snprintf(buf + pos, bufsize - pos, "drop function \"difference\";");
pos += snprintf(buf + pos, bufsize - pos, "drop function \"symdifference\";");
+ /* drop old types (but keep the geometry type) **/
+ /** pos += snprintf(buf + pos, bufsize - pos, "DROP TYPE Geometry;"); **/
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"point\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"curve\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"linestring\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"surface\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"polygon\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"multipoint\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"multicurve\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"multilinestring\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"multisurface\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"multipolygon\";\n");
+ pos += snprintf(buf + pos, bufsize - pos, "drop type \"geomcollection\";\n");
+
/* create the new geometry types */
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION Has_Z(info integer) \
RETURNS integer EXTERNAL NAME geom.\"hasZ\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION Has_M(info integer) \
RETURNS integer EXTERNAL NAME geom.\"hasM\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION get_type(info integer, \
format integer) RETURNS string EXTERNAL NAME geom.\"getType\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE TABLE spatial_ref_sys (srid \
INTEGER NOT NULL PRIMARY KEY, auth_name VARCHAR (256), auth_srid INTEGER, srtext \
VARCHAR (2048), proj4text VARCHAR (2048));");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE VIEW geometry_columns AS");
- pos += snprintf(buf + pos, bufsize - pos, " SELECT e.value AS f_table_catalog, \
s.name AS f_table_schema, y.f_table_name, y.f_geometry_column, y.coord_dimension, \
y.srid, y.type");
- pos += snprintf(buf + pos, bufsize - pos, " FROM schemas s, environment e, (");
- pos += snprintf(buf + pos, bufsize - pos, " SELECT t.schema_id,");
- pos += snprintf(buf + pos, bufsize - pos, " t.name AS f_table_name,");
- pos += snprintf(buf + pos, bufsize - pos, " x.name AS f_geometry_column,");
- pos += snprintf(buf + pos, bufsize - pos, " has_z(info)+has_m(info)+2 AS \
coord_dimension,");
- pos += snprintf(buf + pos, bufsize - pos, " srid, get_type(info, 0) AS type");
- pos += snprintf(buf + pos, bufsize - pos, " FROM tables t, (");
- pos += snprintf(buf + pos, bufsize - pos, " SELECT name, table_id, type_digits AS \
info, type_scale AS srid");
- pos += snprintf(buf + pos, bufsize - pos, " FROM columns");
- pos += snprintf(buf + pos, bufsize - pos, " WHERE type IN ( SELECT DISTINCT \
sqlname FROM types WHERE systemname='wkb')");
- pos += snprintf(buf + pos, bufsize - pos, " ) AS x");
- pos += snprintf(buf + pos, bufsize - pos, " WHERE t.id=x.table_id");
- pos += snprintf(buf + pos, bufsize - pos, " ) y");
- pos += snprintf(buf + pos, bufsize - pos, " WHERE y.schema_id=s.id AND \
e.name='gdk_dbname';");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION mbr(geom Geometry) \
RETURNS mbr external name geom.\"mbr\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Overlaps(box1 mbr, \
box2 mbr) RETURNS boolean EXTERNAL NAME geom.\"mbrOverlaps\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Contains(box1 mbr, \
box2 mbr) RETURNS boolean EXTERNAL NAME geom.\"mbrContains\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Equals(box1 mbr, box2 \
mbr) RETURNS boolean EXTERNAL NAME geom.\"mbrEqual\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Distance(box1 mbr, \
box2 mbr) RETURNS double EXTERNAL NAME geom.\"mbrDistance\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_WKTToSQL(wkt string) \
RETURNS Geometry external name geom.\"GeomFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_WKBToSQL(geom string) \
RETURNS Geometry EXTERNAL NAME geom.\"FromBinary\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_AsText(geom Geometry) \
RETURNS string EXTERNAL NAME geom.\"AsText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_AsBinary(geom \
Geometry) RETURNS string EXTERNAL NAME geom.\"AsBinary\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Dimension(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"Dimension\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeometryType(geom \
Geometry) RETURNS string EXTERNAL NAME geom.\"GeometryType2\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_SRID(geom Geometry) \
RETURNS integer EXTERNAL NAME geom.\"getSRID\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_SetSRID(geom \
Geometry, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"setSRID\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsEmpty(geom \
Geometry) RETURNS boolean EXTERNAL NAME geom.\"IsEmpty\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsSimple(geom \
Geometry) RETURNS boolean EXTERNAL NAME geom.\"IsSimple\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Boundary(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Boundary\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Envelope(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Envelope\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Equals(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Equals\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Disjoint(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Disjoint\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Intersects(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Intersects\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Touches(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Touches\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Crosses(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Crosses\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Within(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Within\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Contains(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Contains\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Overlaps(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Overlaps\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Relate(geom1 \
Geometry, geom2 Geometry, intersection_matrix_pattern string) RETURNS boolean \
EXTERNAL NAME geom.\"Relate\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Distance(geom1 \
Geometry, geom2 Geometry) RETURNS double EXTERNAL NAME \
geom.\"Distance\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Intersection(geom1 \
Geometry, geom2 Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"Intersection\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Difference(geom1 \
Geometry, geom2 Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"Difference\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Union(geom1 Geometry, \
geom2 Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Union\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE AGGREGATE ST_Union(geom Geometry) \
RETURNS Geometry external name geom.\"Union\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_SymDifference(geom1 \
Geometry, geom2 Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"SymDifference\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Buffer(geom Geometry, \
radius double) RETURNS Geometry EXTERNAL NAME geom.\"Buffer\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_ConvexHull(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"ConvexHull\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_X(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"X\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Y(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"Y\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Z(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"Z\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_StartPoint(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"StartPoint\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_EndPoint(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"EndPoint\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsRing(geom Geometry) \
RETURNS boolean EXTERNAL NAME geom.\"IsRing\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Length(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"Length\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsClosed(geom \
Geometry) RETURNS boolean EXTERNAL NAME geom.\"IsClosed\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NumPoints(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"NumPoints\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PointN(geom Geometry, \
positionNum integer) RETURNS Geometry EXTERNAL NAME \
geom.\"PointN\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Centroid(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Centroid\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PointOnSurface(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"PointOnSurface\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Area(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"Area\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_ExteriorRing(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"ExteriorRing\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_SetExteriorRing(geom \
Geometry) RETURNS Geometry external name geom.\"MakePolygon\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NumInteriorRing(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"NumInteriorRings\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_InteriorRingN(geom \
Geometry, positionNum integer) RETURNS Geometry EXTERNAL NAME \
geom.\"InteriorRingN\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_InteriorRings(geom \
Geometry) RETURNS GeometryA EXTERNAL NAME geom.\"InteriorRings\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NumGeometries(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"NumGeometries\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeometryN(geom \
Geometry, positionNum integer) RETURNS Geometry EXTERNAL NAME \
geom.\"GeometryN\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NumPatches(geom \
Geometry) RETURNS integer ");
- pos += snprintf(buf + pos, bufsize - pos, "BEGIN ");
- pos += snprintf(buf + pos, bufsize - pos, " RETURN SELECT \
ST_NumGeometries(geom);");
- pos += snprintf(buf + pos, bufsize - pos, "END;");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PatchN(geom Geometry, \
patchNum integer) RETURNS Geometry ");
- pos += snprintf(buf + pos, bufsize - pos, "BEGIN");
- pos += snprintf(buf + pos, bufsize - pos, " RETURN SELECT ST_GeometryN(geom, \
patchNum);");
- pos += snprintf(buf + pos, bufsize - pos, "END; ");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeomFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"GeomFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PointFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"PointFromText\"; ");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_LineFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"LineFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PolygonFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"PolygonFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MPointFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"MPointFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MLineFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"MLineFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MPolyFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"MPolyFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeomCollFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"GeomCollFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_BdPolyFromText(wkt \
string, srid integer) RETURNS Geometry external name \
geom.\"BdPolyFromText\"; ");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_BdMPolyFromText(wkt \
string, srid integer) RETURNS Geometry external name \
geom.\"BdMPolyFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeometryFromText(wkt \
string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"GeomFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeomFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"GeomFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeometryFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"GeomFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PointFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"PointFromText\"; ");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_LineFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"LineFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PolygonFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"PolygonFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MPointFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"MPointFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MLineFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"MLineFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MPolyFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"MPolyFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_GeomCollFromText(wkt \
string) RETURNS Geometry EXTERNAL NAME geom.\"GeomCollFromText\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakePoint(x double, y \
double) RETURNS Geometry EXTERNAL NAME geom.\"MakePoint\"; ");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Point(x double, y \
double) RETURNS Geometry EXTERNAL NAME geom.\"MakePoint\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakePoint(x double, y \
double, z double) RETURNS Geometry EXTERNAL NAME \
geom.\"MakePoint\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakePoint(x double, y \
double, z double, m double) RETURNS Geometry EXTERNAL NAME \
geom.\"MakePoint\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakePointM(x double, \
y double, m double) RETURNS Geometry EXTERNAL NAME \
geom.\"MakePointM\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE AGGREGATE ST_MakeLine(geom \
Geometry) RETURNS Geometry external name geom.\"MakeLine\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakeLine(geom1 \
Geometry, geom2 Geometry) RETURNS Geometry external name \
geom.\"MakeLine\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakeEnvelope(xmin \
double, ymin double, xmax double, ymax double, srid integer) RETURNS Geometry \
external name geom.\"MakeEnvelope\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakeEnvelope(xmin \
double, ymin double, xmax double, ymax double) RETURNS Geometry external name \
geom.\"MakeEnvelope\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_MakePolygon(geom \
Geometry) RETURNS Geometry external name geom.\"MakePolygon\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Polygon(geom \
Geometry, srid integer) RETURNS Geometry external name \
geom.\"MakePolygon\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_MakeBox2D(lowLeftPointGeom Geometry, upRightPointGeom Geometry) RETURNS mbr \
external name geom.\"MakeBox2D\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION GeometryType(geom \
Geometry) RETURNS string EXTERNAL NAME geom.\"GeometryType1\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_CoordDim(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"CoordDim\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsValid(geom \
Geometry) RETURNS boolean EXTERNAL NAME geom.\"IsValid\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsValidReason(geom \
Geometry) RETURNS string EXTERNAL NAME geom.\"IsValidReason\"; ");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NPoints(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"NPoints\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NRings(geom Geometry) \
RETURNS integer EXTERNAL NAME geom.\"NRings\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_NumInteriorRings(geom \
Geometry) RETURNS integer EXTERNAL NAME geom.\"NumInteriorRings\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_XMax(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"XMaxFromWKB\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_XMax(box mbr) RETURNS \
double EXTERNAL NAME geom.\"XMaxFromMBR\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_XMin(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"XMinFromWKB\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_XMin(box mbr) RETURNS \
double EXTERNAL NAME geom.\"XMinFromMBR\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_YMax(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"YMaxFromWKB\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_YMax(box mbr) RETURNS \
double EXTERNAL NAME geom.\"YMaxFromMBR\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_YMin(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"YMinFromWKB\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_YMin(box mbr) RETURNS \
double EXTERNAL NAME geom.\"YMinFromMBR\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Force2D(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Force2D\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Force3D(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Force3D\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Segmentize(geom \
Geometry, sz double) RETURNS Geometry EXTERNAL NAME \
geom.\"Segmentize\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION getProj4(srid_in \
integer) RETURNS string ");
- pos += snprintf(buf + pos, bufsize - pos, "BEGIN");
- pos += snprintf(buf + pos, bufsize - pos, " RETURN SELECT proj4text FROM \
spatial_ref_sys WHERE srid=srid_in; ");
- pos += snprintf(buf + pos, bufsize - pos, "END;");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION InternalTransform(geom \
Geometry, srid_src integer, srid_dest integer, proj4_src string, proj4_dest string) \
RETURNS Geometry EXTERNAL NAME geom.\"Transform\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Transform(geom \
Geometry, srid integer) RETURNS Geometry ");
- pos += snprintf(buf + pos, bufsize - pos, "BEGIN");
- pos += snprintf(buf + pos, bufsize - pos, " DECLARE srid_src integer;");
- pos += snprintf(buf + pos, bufsize - pos, " DECLARE proj4_src string;");
- pos += snprintf(buf + pos, bufsize - pos, " DECLARE proj4_dest string;");
- pos += snprintf(buf + pos, bufsize - pos, " SELECT st_srid(geom) INTO srid_src;");
- pos += snprintf(buf + pos, bufsize - pos, " SELECT getProj4(srid_src) INTO \
proj4_src;");
- pos += snprintf(buf + pos, bufsize - pos, " SELECT getProj4(srid) INTO \
proj4_dest;");
- pos += snprintf(buf + pos, bufsize - pos, " IF proj4_src IS NULL THEN");
- pos += snprintf(buf + pos, bufsize - pos, " RETURN SELECT InternalTransform(geom, \
srid_src, srid, 'null', proj4_dest); ");
- pos += snprintf(buf + pos, bufsize - pos, " ELSE");
- pos += snprintf(buf + pos, bufsize - pos, " IF proj4_dest IS NULL THEN");
- pos += snprintf(buf + pos, bufsize - pos, " RETURN SELECT InternalTransform(geom, \
srid_src, srid, proj4_src, 'null'); ");
- pos += snprintf(buf + pos, bufsize - pos, " ELSE");
- pos += snprintf(buf + pos, bufsize - pos, " RETURN SELECT InternalTransform(geom, \
srid_src, srid, proj4_src, proj4_dest);");
- pos += snprintf(buf + pos, bufsize - pos, " END IF;");
- pos += snprintf(buf + pos, bufsize - pos, " END IF;");
- pos += snprintf(buf + pos, bufsize - pos, "END;");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Translate(geom \
Geometry, dx double, dy double) RETURNS Geometry EXTERNAL NAME \
geom.\"Translate\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Translate(geom \
Geometry, dx double, dy double, dz double) RETURNS Geometry EXTERNAL NAME \
geom.\"Translate\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_AsEWKT(geom Geometry) \
RETURNS string EXTERNAL NAME geom.\"AsEWKT\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Covers(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"Covers\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_CoveredBy(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME \
geom.\"CoveredBy\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_DWithin(geom1 \
Geometry, geom2 Geometry, dst double) RETURNS boolean EXTERNAL NAME \
geom.\"DWithin\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Length2D(geom \
Geometry) RETURNS double EXTERNAL NAME geom.\"Length\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Collect(geom1 \
Geometry, geom2 Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"Union\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE AGGREGATE ST_Collect(geom \
Geometry) RETURNS Geometry external name geom.\"Union\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_DelaunayTriangles(geom Geometry, tolerance double, flags integer) RETURNS Geometry \
EXTERNAL NAME geom.\"DelaunayTriangles\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Dump(geom Geometry) \
RETURNS TABLE(id string, polygonWKB Geometry) EXTERNAL NAME \
geom.\"Dump\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_DumpPoints(geom \
Geometry) RETURNS TABLE(path string, pointG Geometry) EXTERNAL NAME \
geom.\"DumpPoints\";");
- pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION Contains(a Geometry, x \
double, y double) RETURNS BOOLEAN external name geom.\"Contains\";");
- pos += snprintf(buf + pos, bufsize - pos, "UPDATE _tables set system = true where \
name='spatial_ref_sys';"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION Has_Z(info integer) RETURNS integer EXTERNAL NAME geom.\"hasZ\";\n"); + pos \
+= snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION Has_M(info integer) RETURNS \
integer EXTERNAL NAME geom.\"hasM\";\n"); + pos += snprintf(buf + pos, bufsize - pos, \
"CREATE FUNCTION get_type(info integer, format integer) RETURNS string EXTERNAL NAME \
geom.\"getType\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE TABLE \
spatial_ref_sys (srid INTEGER NOT NULL PRIMARY KEY, auth_name VARCHAR (256), \
auth_srid INTEGER, srtext VARCHAR (2048), proj4text VARCHAR (2048));\n"); + pos += \
snprintf(buf + pos, bufsize - pos, "CREATE VIEW geometry_columns AS\n"); + pos += \
snprintf(buf + pos, bufsize - pos, " SELECT e.value AS f_table_catalog, s.name AS \
f_table_schema, y.f_table_name, y.f_geometry_column, y.coord_dimension, y.srid, \
y.type\n"); + pos += snprintf(buf + pos, bufsize - pos, " FROM schemas s, environment \
e, (\n"); + pos += snprintf(buf + pos, bufsize - pos, " SELECT t.schema_id,\n");
+ pos += snprintf(buf + pos, bufsize - pos, " t.name AS f_table_name,\n");
+ pos += snprintf(buf + pos, bufsize - pos, " x.name AS f_geometry_column,\n");
+ pos += snprintf(buf + pos, bufsize - pos, " has_z(info)+has_m(info)+2 AS \
coord_dimension,\n"); + pos += snprintf(buf + pos, bufsize - pos, " srid, \
get_type(info, 0) AS type\n"); + pos += snprintf(buf + pos, bufsize - pos, " FROM \
tables t, (\n"); + pos += snprintf(buf + pos, bufsize - pos, " SELECT name, \
table_id, type_digits AS info, type_scale AS srid\n"); + pos += snprintf(buf + pos, \
bufsize - pos, " FROM columns\n"); + pos += snprintf(buf + pos, bufsize - pos, \
" WHERE type IN ( SELECT DISTINCT sqlname FROM types WHERE systemname='wkb')\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, " ) AS x\n"); + pos += snprintf(buf + \
pos, bufsize - pos, " WHERE t.id=x.table_id\n"); + pos += snprintf(buf + pos, \
bufsize - pos, " ) y\n"); + pos += snprintf(buf + pos, bufsize - pos, " WHERE \
y.schema_id=s.id AND e.name='gdk_dbname';\n"); + pos += snprintf(buf + pos, bufsize - \
pos, "CREATE FUNCTION mbr(geom Geometry) RETURNS mbr external name geom.\"mbr\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Overlaps(box1 mbr, \
box2 mbr) RETURNS boolean EXTERNAL NAME geom.\"mbrOverlaps\";\n"); + pos += \
snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Contains(box1 mbr, box2 mbr) \
RETURNS boolean EXTERNAL NAME geom.\"mbrContains\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_Equals(box1 mbr, box2 mbr) RETURNS boolean \
EXTERNAL NAME geom.\"mbrEqual\";\n"); + pos += snprintf(buf + pos, bufsize - pos, \
"CREATE FUNCTION ST_Distance(box1 mbr, box2 mbr) RETURNS double EXTERNAL NAME \
geom.\"mbrDistance\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_WKTToSQL(wkt string) RETURNS Geometry external name \
geom.\"GeomFromText\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_WKBToSQL(geom string) RETURNS Geometry EXTERNAL NAME \
geom.\"FromBinary\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_AsText(geom Geometry) RETURNS string EXTERNAL NAME geom.\"AsText\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_AsBinary(geom \
Geometry) RETURNS string EXTERNAL NAME geom.\"AsBinary\";\n"); + pos += snprintf(buf \
+ pos, bufsize - pos, "CREATE FUNCTION ST_Dimension(geom Geometry) RETURNS integer \
EXTERNAL NAME geom.\"Dimension\";\n"); + pos += snprintf(buf + pos, bufsize - pos, \
"CREATE FUNCTION ST_GeometryType(geom Geometry) RETURNS string EXTERNAL NAME \
geom.\"GeometryType2\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_SRID(geom Geometry) RETURNS integer EXTERNAL NAME geom.\"getSRID\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_SetSRID(geom \
Geometry, srid integer) RETURNS Geometry EXTERNAL NAME geom.\"setSRID\";\n"); + pos \
+= snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_IsEmpty(geom Geometry) \
RETURNS boolean EXTERNAL NAME geom.\"IsEmpty\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_IsSimple(geom Geometry) RETURNS boolean EXTERNAL \
NAME geom.\"IsSimple\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_Boundary(geom Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"Boundary\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_Envelope(geom Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Envelope\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Equals(geom1 \
Geometry, geom2 Geometry) RETURNS boolean EXTERNAL NAME geom.\"Equals\";\n"); + pos \
+= snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Disjoint(geom1 Geometry, \
geom2 Geometry) RETURNS boolean EXTERNAL NAME geom.\"Disjoint\";\n"); + pos += \
snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Intersects(geom1 Geometry, \
geom2 Geometry) RETURNS boolean EXTERNAL NAME geom.\"Intersects\";\n"); + pos += \
snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Touches(geom1 Geometry, geom2 \
Geometry) RETURNS boolean EXTERNAL NAME geom.\"Touches\";\n"); + pos += snprintf(buf \
+ pos, bufsize - pos, "CREATE FUNCTION ST_Crosses(geom1 Geometry, geom2 Geometry) \
RETURNS boolean EXTERNAL NAME geom.\"Crosses\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_Within(geom1 Geometry, geom2 Geometry) RETURNS \
boolean EXTERNAL NAME geom.\"Within\";\n"); + pos += snprintf(buf + pos, bufsize - \
pos, "CREATE FUNCTION ST_Contains(geom1 Geometry, geom2 Geometry) RETURNS boolean \
EXTERNAL NAME geom.\"Contains\";\n"); + pos += snprintf(buf + pos, bufsize - pos, \
"CREATE FUNCTION ST_Overlaps(geom1 Geometry, geom2 Geometry) RETURNS boolean EXTERNAL \
NAME geom.\"Overlaps\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_Relate(geom1 Geometry, geom2 Geometry, intersection_matrix_pattern \
string) RETURNS boolean EXTERNAL NAME geom.\"Relate\";\n"); + pos += snprintf(buf + \
pos, bufsize - pos, "CREATE FUNCTION ST_Distance(geom1 Geometry, geom2 Geometry) \
RETURNS double EXTERNAL NAME geom.\"Distance\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_Intersection(geom1 Geometry, geom2 Geometry) \
RETURNS Geometry EXTERNAL NAME geom.\"Intersection\";\n"); + pos += snprintf(buf + \
pos, bufsize - pos, "CREATE FUNCTION ST_Difference(geom1 Geometry, geom2 Geometry) \
RETURNS Geometry EXTERNAL NAME geom.\"Difference\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_Union(geom1 Geometry, geom2 Geometry) RETURNS \
Geometry EXTERNAL NAME geom.\"Union\";\n"); + pos += snprintf(buf + pos, bufsize - \
pos, "CREATE AGGREGATE ST_Union(geom Geometry) RETURNS Geometry external name \
geom.\"Union\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_SymDifference(geom1 Geometry, geom2 Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"SymDifference\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_Buffer(geom Geometry, radius double) RETURNS Geometry EXTERNAL NAME \
geom.\"Buffer\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_ConvexHull(geom Geometry) RETURNS Geometry EXTERNAL NAME geom.\"ConvexHull\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_X(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"X\";\n"); + pos += snprintf(buf + pos, bufsize - \
pos, "CREATE FUNCTION ST_Y(geom Geometry) RETURNS double EXTERNAL NAME \
geom.\"Y\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_Z(geom Geometry) RETURNS double EXTERNAL NAME geom.\"Z\";\n"); + pos += \
snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_StartPoint(geom Geometry) \
RETURNS Geometry EXTERNAL NAME geom.\"StartPoint\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_EndPoint(geom Geometry) RETURNS Geometry EXTERNAL \
NAME geom.\"EndPoint\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_IsRing(geom Geometry) RETURNS boolean EXTERNAL NAME geom.\"IsRing\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Length(geom Geometry) \
RETURNS double EXTERNAL NAME geom.\"Length\";\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "CREATE FUNCTION ST_IsClosed(geom Geometry) RETURNS boolean EXTERNAL \
NAME geom.\"IsClosed\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_NumPoints(geom Geometry) RETURNS integer EXTERNAL NAME \
geom.\"NumPoints\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_PointN(geom Geometry, positionNum integer) RETURNS Geometry EXTERNAL NAME \
geom.\"PointN\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_Centroid(geom Geometry) RETURNS Geometry EXTERNAL NAME geom.\"Centroid\";\n"); \
+ pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_PointOnSurface(geom \
Geometry) RETURNS Geometry EXTERNAL NAME geom.\"PointOnSurface\";\n"); + pos += \
snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION ST_Area(geom Geometry) RETURNS \
double EXTERNAL NAME geom.\"Area\";\n"); + pos += snprintf(buf + pos, bufsize - pos, \
"CREATE FUNCTION ST_ExteriorRing(geom Geometry) RETURNS Geometry EXTERNAL NAME \
geom.\"ExteriorRing\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_SetExteriorRing(geom Geometry) RETURNS Geometry external name \
geom.\"MakePolygon\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_NumInteriorRing(geom Geometry) RETURNS integer EXTERNAL NAME \
geom.\"NumInteriorRings\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_InteriorRingN(geom Geometry, positionNum integer) RETURNS Geometry \
EXTERNAL NAME geom.\"InteriorRingN\";\n"); + pos += snprintf(buf + pos, bufsize - \
pos, "CREATE FUNCTION ST_InteriorRings(geom Geometry) RETURNS GeometryA EXTERNAL NAME \
geom.\"InteriorRings\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_NumGeometries(geom Geometry) RETURNS integer EXTERNAL NAME \
geom.\"NumGeometries\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_GeometryN(geom Geometry, positionNum integer) RETURNS Geometry EXTERNAL \
NAME geom.\"GeometryN\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_NumPatches(geom Geometry) RETURNS integer \n"); + pos += snprintf(buf + \
pos, bufsize - pos, "BEGIN \n"); + pos += snprintf(buf + pos, bufsize - pos, " RETURN \
SELECT ST_NumGeometries(geom);\n"); + pos += snprintf(buf + pos, bufsize - pos, \
"END;\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE FUNCTION \
ST_PatchN(geom Geometry, patchNum integer) RETURNS Geometry \n"); + pos += \
snprintf(buf + pos, bufsize - pos, "BEGIN\n"); + pos += snprintf(buf + pos, bufsize - \
pos, " RETURN SELECT ST_GeometryN(geom, patchNum);\n"); + pos += snprintf(buf + pos, \
bufsize - pos, "END; \n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_GeomFromText(wkt string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"GeomFromText\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_PointFromText(wkt string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"PointFromText\"; \n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_LineFromText(wkt string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"LineFromText\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_PolygonFromText(wkt string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"PolygonFromText\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_MPointFromText(wkt string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"MPointFromText\";\n"); + pos += snprintf(buf + pos, bufsize - pos, "CREATE \
FUNCTION ST_MLineFromText(wkt string, srid integer) RETURNS Geometry EXTERNAL NAME \
geom.\"MLineFromText\";\n"); _______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic