POINTARRAY **pa;
POINT4D p;
double x1, y1, x2, y2;
- int srid;
+ int srid = SRID_UNKNOWN;
POSTGIS_DEBUG(2, "ST_MakeEnvelope called");
y1 = PG_GETARG_FLOAT8(1);
x2 = PG_GETARG_FLOAT8(2);
y2 = PG_GETARG_FLOAT8(3);
- srid = PG_GETARG_INT32(4);
+ if ( PG_NARGS() > 4 ) {
+ srid = PG_GETARG_INT32(4);
+ }
- pa = (POINTARRAY**)palloc(sizeof(POINTARRAY*));
+ pa = (POINTARRAY**)palloc(sizeof(POINTARRAY**));
pa[0] = ptarray_construct_empty(0, 0, 5);
/* 1st point */
AS 'MODULE_PATHNAME', 'ST_MakeEnvelope'\r
LANGUAGE 'C' IMMUTABLE STRICT;\r
\r
+-- Availability: 2.0.0\r
+CREATE OR REPLACE FUNCTION ST_MakeEnvelope(float8, float8, float8, float8)\r
+ RETURNS geometry\r
+ AS 'MODULE_PATHNAME', 'ST_MakeEnvelope'\r
+ LANGUAGE 'C' IMMUTABLE STRICT;\r
+\r
-- Availability: 1.2.2\r
CREATE OR REPLACE FUNCTION ST_MakePolygon(geometry, geometry[])\r
RETURNS geometry\r
select '151', ST_MakeEnvelope(0, 0, 1, 1, 4326);
select '152', ST_SRID(ST_MakeEnvelope(0, 0, 1, 1, 4326));
+select '152.1', ST_SRID(ST_MakeEnvelope(0, 0, 1, 1)) = ST_SRID('POINT(0 0)');
+select '152.2', ST_SRID(ST_SetSRID(ST_MakeEnvelope(0, 0, 1, 1), 4326));
select '153', ST_AsText(ST_CollectionExtract('GEOMETRYCOLLECTION(POINT(0 0))',1));
select '154', ST_AsText(ST_CollectionExtract('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(0 0)))',1));
150|SRID=6;GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)))
151|0103000020E61000000100000005000000000000000000000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000F03F000000000000F03F000000000000000000000000000000000000000000000000
152|4326
+152.1|t
+152.2|4326
153|MULTIPOINT(0 0)
154|MULTIPOINT(0 0)
155|MULTIPOINT(0 0,1 1)