From: Sandro Santilli Date: Tue, 11 Jan 2005 17:39:05 +0000 (+0000) Subject: Added postgis_lib_build_date() and postgis_scripts_build_date() provided by Markus... X-Git-Tag: pgis_1_0_0RC1~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ceea31b0b8fb8f52bac712aaa48aa753e20c8ded;p=postgis Added postgis_lib_build_date() and postgis_scripts_build_date() provided by Markus Schaber git-svn-id: http://svn.osgeo.org/postgis/trunk@1275 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/lwgeom/Makefile b/lwgeom/Makefile index 9a88f2a97..6c5c9691e 100644 --- a/lwgeom/Makefile +++ b/lwgeom/Makefile @@ -35,11 +35,13 @@ else endif #--------------------------------------------------------------- -# Postgis version +# Postgis version and build date #--------------------------------------------------------------- POSTGIS_VERSION = $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS) POSTGIS_LIB_VERSION = $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION) +POSTGIS_BUILD_DATE := $(shell date -u "+%F %H-%M-%S") + #--------------------------------------------------------------- @@ -49,6 +51,7 @@ override CFLAGS += -fPIC override CFLAGS += -DUSE_VERSION=$(USE_VERSION) override CFLAGS += -DPOSTGIS_LIB_VERSION='"$(POSTGIS_LIB_VERSION)"' override CFLAGS += -DPOSTGIS_SCRIPTS_VERSION='"$(SCRIPTS_VERSION)"' +override CFLAGS += -DPOSTGIS_BUILD_DATE='"$(POSTGIS_BUILD_DATE)"' ifeq ($(USE_GEOS),1) override CFLAGS += -I$(GEOS_DIR)/include -DUSE_GEOS @@ -121,7 +124,7 @@ all: $(GEOS_RULES) $(shlib) lwpostgis.sql # Shared library stuff lwpostgis.sql: lwpostgis.sql.in - 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' | grep -v ^# > $@ + 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;s:@POSTGIS_BUILD_DATE@:$(POSTGIS_BUILD_DATE):g' | grep -v ^# > $@ cp lwpostgis.sql .. install: all installdirs install-lwgeom-lib install-lwgeom-scripts diff --git a/lwgeom/lwgeom_functions_basic.c b/lwgeom/lwgeom_functions_basic.c index 37d8a64c3..03c353b4e 100644 --- a/lwgeom/lwgeom_functions_basic.c +++ b/lwgeom/lwgeom_functions_basic.c @@ -26,6 +26,7 @@ Datum postgis_uses_stats(PG_FUNCTION_ARGS); Datum postgis_autocache_bbox(PG_FUNCTION_ARGS); Datum postgis_scripts_released(PG_FUNCTION_ARGS); Datum postgis_lib_version(PG_FUNCTION_ARGS); +Datum postgis_lib_build_date(PG_FUNCTION_ARGS); Datum LWGEOM_length2d_linestring(PG_FUNCTION_ARGS); Datum LWGEOM_length_linestring(PG_FUNCTION_ARGS); Datum LWGEOM_perimeter2d_poly(PG_FUNCTION_ARGS); @@ -196,6 +197,17 @@ Datum postgis_lib_version(PG_FUNCTION_ARGS) PG_RETURN_POINTER(result); } +PG_FUNCTION_INFO_V1(postgis_lib_build_date); +Datum postgis_lib_build_date(PG_FUNCTION_ARGS) +{ + char *ver = POSTGIS_BUILD_DATE; + text *result; + result = (text *) lwalloc(VARHDRSZ + strlen(ver)); + VARATT_SIZEP(result) = VARHDRSZ + strlen(ver) ; + memcpy(VARDATA(result), ver, strlen(ver)); + PG_RETURN_POINTER(result); +} + PG_FUNCTION_INFO_V1(postgis_scripts_released); Datum postgis_scripts_released(PG_FUNCTION_ARGS) { diff --git a/lwgeom/lwpostgis.sql.in b/lwgeom/lwpostgis.sql.in index 81276ac2b..a30ec61df 100644 --- a/lwgeom/lwpostgis.sql.in +++ b/lwgeom/lwpostgis.sql.in @@ -3071,16 +3071,16 @@ LANGUAGE 'plpgsql' WITH (iscachable,isstrict); ----------------------------------------------------------------------- CREATEFUNCTION postgis_version() RETURNS text -AS 'SELECT \'@POSTGIS_VERSION@\'::text AS version' -LANGUAGE 'sql'; + AS 'SELECT \'@POSTGIS_VERSION@\'::text AS version' + LANGUAGE 'sql'; CREATEFUNCTION postgis_proj_version() RETURNS text AS '@MODULE_FILENAME@' LANGUAGE 'C'; CREATEFUNCTION postgis_scripts_installed() RETURNS text -AS 'SELECT \'@POSTGIS_SCRIPTS_VERSION@\'::text AS version' -LANGUAGE 'sql'; + AS 'SELECT \'@POSTGIS_SCRIPTS_VERSION@\'::text AS version' + LANGUAGE 'sql'; CREATEFUNCTION postgis_lib_version() RETURNS text AS '@MODULE_FILENAME@' @@ -3098,6 +3098,15 @@ CREATEFUNCTION postgis_geos_version() RETURNS text AS '@MODULE_FILENAME@' LANGUAGE 'C'; +CREATEFUNCTION postgis_scripts_build_date() RETURNS text + AS 'SELECT \'@POSTGIS_BUILD_DATE@\'::text AS version' + LANGUAGE 'sql'; + +CREATEFUNCTION postgis_lib_build_date() RETURNS text + AS '@MODULE_FILENAME@' + LANGUAGE 'C'; + + CREATEFUNCTION postgis_full_version() RETURNS text AS '