]> granicus.if.org Git - postgis/commitdiff
lwgeom.sql production follow postgis.sql production rules (cpp usage)
authorSandro Santilli <strk@keybit.net>
Sun, 8 Aug 2004 18:09:57 +0000 (18:09 +0000)
committerSandro Santilli <strk@keybit.net>
Sun, 8 Aug 2004 18:09:57 +0000 (18:09 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@670 b70326c6-7e19-0410-871a-916f4a2858ee

lwgeom/Makefile
lwgeom/lwgeom.sql.in

index c34deba7b2c59d28f586c2d9092e9a87a367572d..1a0579d7a374f4fbbe87b1a212911bb36abe46d0 100644 (file)
@@ -163,7 +163,8 @@ all: all-lib lwgeom.sql
 # Shared library stuff
 
 lwgeom.sql:    lwgeom.sql.in
-       cat lwgeom.sql.in | sed -e 's:@MODULE_FILENAME@:$(MODULE_FILENAME):g;s:@POSTGIS_VERSION@:$(POSTGIS_VERSION):g'  > $@ 
+       #cat lwgeom.sql.in | sed -e 's:@MODULE_FILENAME@:$(MODULE_FILENAME):g;s:@POSTGIS_VERSION@:$(POSTGIS_VERSION):g'  > $@ 
+       cpp -P -traditional-cpp -DUSE_VERSION=$(USE_VERSION) $< | sed -e 's:@MODULE_FILENAME@:$(MODULE_FILENAME):g;s:@POSTGIS_VERSION@:$(POSTGIS_VERSION):g;s:@POSTGIS_SCRIPTS_VERSION@:$(SCRIPTS_VERSION):g' > $@
 
 install: all installdirs install-lwgeom-lib
        $(INSTALL_DATA) lwgeom.sql $(DESTDIR)$(datadir)
index 49528a03a0ab5b97f6a1117ba6e9c0acfbbd526d..c94191714a4eb81c8fe10c8abb450e94cd4aa48b 100644 (file)
@@ -1,11 +1,17 @@
+#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);
@@ -17,12 +23,12 @@ CREATE TYPE lwgeom (
         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);
@@ -34,7 +40,7 @@ CREATE TYPE box2d (
         storage = plain
 );
 
-CREATE OR REPLACE FUNCTION box2d(LWGEOM)
+CREATEFUNCTION box2d(LWGEOM)
         RETURNS box2d
         AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4'
         LANGUAGE 'C' WITH (isstrict,iscachable);
@@ -42,7 +48,7 @@ CREATE OR REPLACE FUNCTION box2d(LWGEOM)
 
 
         
-CREATE OR REPLACE FUNCTION lwgeom(text)
+CREATEFUNCTION lwgeom(text)
         RETURNS lwgeom
         AS '@MODULE_FILENAME@','parse_WKT_lwgeom'
         LANGUAGE 'C' WITH (isstrict,iscachable);
@@ -50,42 +56,42 @@ CREATE OR REPLACE FUNCTION lwgeom(text)
 ---- 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);
@@ -142,42 +148,42 @@ CREATE OPERATOR ~ (
 -- 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);
@@ -234,37 +240,37 @@ CREATE OPERATOR ~ (
 -- 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';
@@ -297,29 +303,29 @@ UPDATE pg_opclass
        
 -- 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);
@@ -330,30 +336,30 @@ commit;
 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
@@ -362,7 +368,7 @@ CREATE FUNCTION geometry(lwgeom)
 LANGUAGE 'plpgsql' WITH (iscachable,isstrict);
 
 
-CREATE OR REPLACE FUNCTION lwgeom(geometry)
+CREATEFUNCTION lwgeom(geometry)
        RETURNS lwgeom
        AS 
 'BEGIN
@@ -378,8 +384,6 @@ CREATE CAST (lwgeom as wkb) WITH FUNCTION wkb(lwgeom)  AS IMPLICIT ;
 CREATE CAST (wkb as lwgeom) WITH FUNCTION lwgeom(wkb)  AS IMPLICIT ;
        
 
-
-       
 COMMIT;