+#if USE_VERSION > 71
+#define CREATEFUNCTION CREATE OR REPLACE FUNCTION
+#else
+#define CREATEFUNCTION CREATE FUNCTION
+#endif
+
BEGIN;
-CREATE OR REPLACE FUNCTION lwgeom_in(cstring)
+CREATEFUNCTION lwgeom_in(cstring)
RETURNS lwgeom
AS '@MODULE_FILENAME@','LWGEOM_in'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE OR REPLACE FUNCTION lwgeom_out(lwgeom)
+CREATEFUNCTION lwgeom_out(lwgeom)
RETURNS cstring
AS '@MODULE_FILENAME@','LWGEOM_out'
LANGUAGE 'C' WITH (isstrict,iscachable);
storage = main
);
-CREATE OR REPLACE FUNCTION box2d_in(cstring)
+CREATEFUNCTION box2d_in(cstring)
RETURNS box2d
AS '@MODULE_FILENAME@','BOX2DFLOAT4_in'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE OR REPLACE FUNCTION box2d_out(box2d)
+CREATEFUNCTION box2d_out(box2d)
RETURNS cstring
AS '@MODULE_FILENAME@','BOX2DFLOAT4_out'
LANGUAGE 'C' WITH (isstrict,iscachable);
storage = plain
);
-CREATE OR REPLACE FUNCTION box2d(LWGEOM)
+CREATEFUNCTION box2d(LWGEOM)
RETURNS box2d
AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE OR REPLACE FUNCTION lwgeom(text)
+CREATEFUNCTION lwgeom(text)
RETURNS lwgeom
AS '@MODULE_FILENAME@','parse_WKT_lwgeom'
LANGUAGE 'C' WITH (isstrict,iscachable);
---- BOX2D support functions
-CREATE FUNCTION box2d_overleft(box2d, box2d)
+CREATEFUNCTION box2d_overleft(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_overright(box2d, box2d)
+CREATEFUNCTION box2d_overright(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_left(box2d, box2d)
+CREATEFUNCTION box2d_left(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_right(box2d, box2d)
+CREATEFUNCTION box2d_right(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_contain(box2d, box2d)
+CREATEFUNCTION box2d_contain(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_contained(box2d, box2d)
+CREATEFUNCTION box2d_contained(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_overlap(box2d, box2d)
+CREATEFUNCTION box2d_overlap(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION box2d_same(box2d, box2d)
+CREATEFUNCTION box2d_same(box2d, box2d)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-- lwgeom operator support functions
-CREATE FUNCTION lwgeom_overleft(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_overleft(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_overright(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_overright(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_left(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_left(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_right(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_right(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_contain(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_contain(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_contained(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_contained(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_overlap(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_overlap(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom_same(lwgeom, lwgeom)
+CREATEFUNCTION lwgeom_same(lwgeom, lwgeom)
RETURNS bool
AS '@MODULE_FILENAME@'
LANGUAGE 'C' WITH (isstrict,iscachable);
-- gist support functions
-CREATE FUNCTION gist_lwgeom_consistent(internal,lwgeom,int4)
+CREATEFUNCTION gist_lwgeom_consistent(internal,lwgeom,int4)
RETURNS bool
AS '@MODULE_FILENAME@' ,'gist_lwgeom_consistent'
LANGUAGE 'C';
-CREATE FUNCTION gist_lwgeom_compress(internal)
+CREATEFUNCTION gist_lwgeom_compress(internal)
RETURNS internal
AS '@MODULE_FILENAME@','gist_lwgeom_compress'
LANGUAGE 'C';
-CREATE FUNCTION gist_lwgeom_penalty(internal,internal,internal)
+CREATEFUNCTION gist_lwgeom_penalty(internal,internal,internal)
RETURNS internal
AS '@MODULE_FILENAME@' ,'lwgeom_box_penalty'
LANGUAGE 'C';
-CREATE FUNCTION gist_lwgeom_picksplit(internal, internal)
+CREATEFUNCTION gist_lwgeom_picksplit(internal, internal)
RETURNS internal
AS '@MODULE_FILENAME@' ,'lwgeom_gbox_picksplit'
LANGUAGE 'C';
-CREATE FUNCTION gist_lwgeom_union(bytea, internal)
+CREATEFUNCTION gist_lwgeom_union(bytea, internal)
RETURNS internal
AS '@MODULE_FILENAME@' ,'lwgeom_box_union'
LANGUAGE 'C';
-CREATE FUNCTION gist_lwgeom_same(box2d, box2d, internal)
+CREATEFUNCTION gist_lwgeom_same(box2d, box2d, internal)
RETURNS internal
AS '@MODULE_FILENAME@' ,'lwgeom_gbox_same'
LANGUAGE 'C';
-CREATE FUNCTION gist_lwgeom_decompress(internal)
+CREATEFUNCTION gist_lwgeom_decompress(internal)
RETURNS internal
AS '@MODULE_FILENAME@' ,'gist_rtree_decompress'
LANGUAGE 'C';
-- other lwgeom functions
-CREATE FUNCTION addBBOX(lwgeom)
+CREATEFUNCTION addBBOX(lwgeom)
RETURNS lwgeom
AS '@MODULE_FILENAME@','LWGEOM_addBBOX'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION getSRID(lwgeom)
+CREATEFUNCTION getSRID(lwgeom)
RETURNS int4
AS '@MODULE_FILENAME@','LWGEOM_getSRID'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION setSRID(lwgeom,int4)
+CREATEFUNCTION setSRID(lwgeom,int4)
RETURNS lwgeom
AS '@MODULE_FILENAME@','LWGEOM_setSRID'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION asText(lwgeom)
+CREATEFUNCTION asText(lwgeom)
RETURNS TEXT
AS '@MODULE_FILENAME@','LWGEOM_asText'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE OR REPLACE FUNCTION getbbox(LWGEOM)
+CREATEFUNCTION getbbox(LWGEOM)
RETURNS box2d
AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4'
LANGUAGE 'C' WITH (isstrict,iscachable);
begin;
-- extra conversions (might not work if there's no postgis install)
-CREATE FUNCTION lwgeom(wkb,int4)
+CREATEFUNCTION lwgeom(wkb,int4)
RETURNS lwgeom
AS '@MODULE_FILENAME@','LWGEOMFromWKB'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION wkb(lwgeom)
+CREATEFUNCTION wkb(lwgeom)
RETURNS wkb
AS '@MODULE_FILENAME@','WKBFromLWGEOM'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION asbinary(lwgeom)
+CREATEFUNCTION asbinary(lwgeom)
RETURNS wkb
AS '@MODULE_FILENAME@','WKBFromLWGEOM'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION lwgeom(wkb)
+CREATEFUNCTION lwgeom(wkb)
RETURNS lwgeom
AS '@MODULE_FILENAME@','LWGEOMFromWKB'
LANGUAGE 'C' WITH (isstrict,iscachable);
-CREATE FUNCTION geometry(lwgeom)
+CREATEFUNCTION geometry(lwgeom)
RETURNS geometry
AS
'BEGIN
LANGUAGE 'plpgsql' WITH (iscachable,isstrict);
-CREATE OR REPLACE FUNCTION lwgeom(geometry)
+CREATEFUNCTION lwgeom(geometry)
RETURNS lwgeom
AS
'BEGIN
CREATE CAST (wkb as lwgeom) WITH FUNCTION lwgeom(wkb) AS IMPLICIT ;
-
-
COMMIT;