From cee1f271e5852223e7de3bce81bf79fe829c09bb Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 14 May 2008 17:10:19 +0000 Subject: [PATCH] Commit new build system based upon PGXS. Due to the large number of changes, please refer to http://postgis.refractions.net/pipermail/postgis-devel/2008-May/003010.html. git-svn-id: http://svn.osgeo.org/postgis/trunk@2774 b70326c6-7e19-0410-871a-916f4a2858ee --- HOWTO_RELEASE | 10 +- Makefile.config.in | 167 --- Version.config | 6 +- autogen.sh | 1 + config.h.in | 3 - configure.in | 742 +++--------- loader/Makefile | 45 +- loader/Makefile.pgsql2shp.in | 22 + loader/Makefile.shp2pgsql | 16 + loader/pgsql2shp.c | 2 + loader/shp2pgsql.c | 2 +- lwgeom/Makefile | 253 ++-- lwgeom/Makefile.in | 87 ++ lwgeom/Makefile.shlib | 417 ------- lwgeom/liblwgeom.c | 2 + lwgeom/liblwgeom.h | 2 + lwgeom/long_xact.sql.in | 4 +- lwgeom/lwgeom_btree.c | 4 +- lwgeom/lwgeom_dump.c | 6 +- lwgeom/lwgeom_estimate.c | 28 +- lwgeom/lwgeom_functions_basic.c | 16 +- lwgeom/lwgeom_geos_c.c | 5 +- lwgeom/lwgeom_gist.c | 27 +- lwgeom/lwgeom_inout.c | 16 +- lwgeom/lwgeom_pg.c | 4 +- lwgeom/lwgeom_pg.h | 3 +- lwgeom/lwgeom_transform.c | 26 +- .../{lwpostgis.sql.in => lwpostgis.sql.in.c} | 1072 ++++++++--------- lwgeom/pgsql_compat.h | 4 +- lwgeom/sqldefines.h | 20 +- lwgeom/sqldefines.h.in | 46 + lwgeom/sqlmm.sql.in | 12 +- macros/ac_proj4_version.m4 | 32 + postgis_config.h.in | 67 ++ regress/{Makefile => Makefile.in} | 40 +- regress/run_test | 2 +- regress/sql-mm-circularstring_expected.in | 2 +- regress/sql-mm-compoundcurve_expected.in | 2 +- regress/sql-mm-curvepoly_expected.in | 2 +- regress/sql-mm-multicurve_expected.in | 2 +- regress/sql-mm-multisurface_expected.in | 2 +- 41 files changed, 1217 insertions(+), 2004 deletions(-) delete mode 100644 Makefile.config.in delete mode 100644 config.h.in create mode 100644 loader/Makefile.pgsql2shp.in create mode 100644 loader/Makefile.shp2pgsql create mode 100644 lwgeom/Makefile.in delete mode 100644 lwgeom/Makefile.shlib rename lwgeom/{lwpostgis.sql.in => lwpostgis.sql.in.c} (88%) create mode 100644 lwgeom/sqldefines.h.in create mode 100644 macros/ac_proj4_version.m4 create mode 100644 postgis_config.h.in rename regress/{Makefile => Makefile.in} (62%) diff --git a/HOWTO_RELEASE b/HOWTO_RELEASE index d4ddda1d4..bfbca8f61 100644 --- a/HOWTO_RELEASE +++ b/HOWTO_RELEASE @@ -5,16 +5,16 @@ How to release Versioning Scheme ----------------- -Release version is composed by REL_MAJOR_VERSION, REL_MINOR_VERSION -and REL_MICRO_VERSION components. +Release version is composed by POSTGIS_MAJOR_VERSION, POSTGIS_MINOR_VERSION +and POSTGIS_MICRO_VERSION components. -By default only [REL_MICRO_VERSION] increments between releases. +By default only [POSTGIS_MICRO_VERSION] increments between releases. -[REL_MINOR_VERSION] is incremented (and MICRO set to 0) when minor +[POSTGIS_MINOR_VERSION] is incremented (and MICRO set to 0) when minor additions have been introduced (one or two functions can be considered *micro* additions) -[REL_MAJOR_VERSION] is incremented (and MICRO and MINOR set to 0) when +[POSTGIS_MAJOR_VERSION] is incremented (and MICRO and MINOR set to 0) when a dump/reload of existing spatial databases is *REQUIRED* for things to work or rather *HIGHLY RECOMMENDED* to get new functionalities. diff --git a/Makefile.config.in b/Makefile.config.in deleted file mode 100644 index c052e09a5..000000000 --- a/Makefile.config.in +++ /dev/null @@ -1,167 +0,0 @@ -#--------------------------------------------------------------- -# Configuration Directives -#--------------------------------------------------------------- - -# -# We recommend that you install the Proj4 and GEOS libraries -# referenced below to get the most use out of your PostGIS -# database. - -# -# Set USE_PROJ to 1 for Proj4 reprojection support (recommended) -# -# Reprojection allows you to transform coordinate systems -# in the database with the Transform() function. -# -# Download from: http://www.remotesensing.org/proj -# -USE_PROJ=@USE_PROJ@ -PROJ_DIR=@PROJ_DIR@ -PROJ_LIBDIR=@PROJ_LIBDIR@ - -# -# Set USE_GEOS to 1 for GEOS spatial predicate and operator -# support (recommended). -# GEOS installation directory defaults to /usr/local, -# set GEOS_DIR environment variable to change it. -# -# GEOS allows you to do exact topological tests, such as -# Intersects() and Touches(), as well as geometry operations, -# such as Buffer(), GeomUnion() and Difference(). -# -# Download from: http://geos.refractions.net -# -# PostGIS >= 1.2.0 requires a CAPI GEOS (GEOS >= 2.2.0) -# -USE_GEOS=@USE_GEOS@ -GEOS_DIR=@GEOS_DIR@ -GEOS_LDFLAGS=@GEOS_LDFLAGS@ -GEOS_VERNUM=@GEOS_VERNUM@ - -# -# Set USE_JTS to 1 if you have libjts installed. -# -USE_JTS=@USE_JTS@ -JTS_INCLUDES=@JTS_INCLUDES@ -JTS_LIBDIR=@JTS_LIBDIR@ - -# -# Set USE_STATS to 1 for new GiST statistics collection support -# Note that this support requires additional columns in -# GEOMETRY_COLUMNS, so see the list archives for info or -# install a fresh database using postgis.sql. -# This option is useless for builds against PGSQL>=80 (stats -# are always gathered in that case, and you don't need additional -# columns in geometry_columns). -# -USE_STATS=1 - -# -# Set AUTOCACHE_BBOX to 0 if you want finer control over -# bounding box computation and caching for your geometries. -# If you do, bbox computattion strategies are listed in -# the file lwgeom/BBOXCACHE_BEHAVIOURS, but don't expect -# them to be easy nor consistent. -# -AUTOCACHE_BBOX=1 - -# -# Set USE_ICONV to 1 if you want the loader (shp2pgsql) -# to support UTF-8 output. -# -USE_ICONV=@USE_ICONV@ -ICONV_LDFLAGS=@ICONV_LDFLAGS@ - -# -# PGSQL -# -PGCONFIG=@PGCONFIG@ -PGFEINCLUDES=@PGFEINCLUDES@ -PGBEINCLUDES=@PGBEINCLUDES@ -PGFELIBS=@PGFELIBS@ -PGBELIBS=@PGBELIBS@ -PORTNAME=@PORTNAME@ - -# -# Docbook -# -XSLBASE=@XSLBASE@ -XSLTPROC=@XSLTPROC@ -PDFXMLTEX=@PDFXMLTEX@ -DB2PDF=@DB2PDF@ -JW=@JW@ -DOC_RULE=@DOC_RULE@ - -# -# Compilers -# -CC=@CC@ -CXX=@CXX@ -ELF_SYSTEM=@ELF_SYS@ - -# -# Other programs -# -PERL=@PERL@ -FLEX=@FLEX@ -YACC=@YACC@ -LN_S=@LN_S@ -INSTALL=@INSTALL@ -c -PWDREGRESS=@PWDREGRESS@ -INSTALL_DATA=$(INSTALL) -m 644 -INSTALL_BIN=$(INSTALL) -m 755 -INSTALL_LIB=$(INSTALL) -m 755 -INSTALL_SHLIB=$(INSTALL_LIB) - -# -# PATHS -# -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@bindir@ -datadir=@datadir@ -mandir=@mandir@ -docdir=@docdir@ -libexecdir=@libexecdir@ -libdir=@libdir@ -LPATH=@LPATH@ - -# -# DLL -# -DLSUFFIX=@DLSUFFIX@ -DLFLAGS=@DLFLAGS@ -# these are for win32 and cygwin platforms -DLLTOOL=@DLLTOOL@ -DLLWRAP=@DLLWRAP@ - -# -# EXE -# -EXE=@EXE@ - -# -# HOST OS -# -HOST_OS=@HOST_OS@ - - -#--------------------------------------------------------------- -# END OF CONFIGURATION -#--------------------------------------------------------------- - -# Use JTS instead of GEOS if available -ifeq ($(USE_JTS),1) - USE_GEOS=0 -endif - -#--------------------------------------------------------------- -# Test the version string and set the USE_VERSION macro -# appropriately. eg: -# -# pg_config --version => PostgreSQL 8.3.1 -# -PG_VERSION_MAJOR=$(shell $(PGCONFIG) --version | cut -f2 -d' ' | cut -f1 -d.) -PG_VERSION_MINOR=$(shell $(PGCONFIG) --version | cut -f2 -d' ' | cut -f2 -d.) -USE_VERSION=$(PG_VERSION_MAJOR)$(PG_VERSION_MINOR) - diff --git a/Version.config b/Version.config index c26b6729b..1cdf284ee 100644 --- a/Version.config +++ b/Version.config @@ -3,7 +3,7 @@ # See HOWTO_RELEASE file in SVN for definitions of those three. -REL_MAJOR_VERSION=1 -REL_MINOR_VERSION=3 -REL_MICRO_VERSION=4SVN +POSTGIS_MAJOR_VERSION=1 +POSTGIS_MINOR_VERSION=4 +POSTGIS_MICRO_VERSION=0 diff --git a/autogen.sh b/autogen.sh index 4066e97c6..695524f85 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,2 +1,3 @@ #!/bin/sh +aclocal -I macros autoconf diff --git a/config.h.in b/config.h.in deleted file mode 100644 index 7f78a65a9..000000000 --- a/config.h.in +++ /dev/null @@ -1,3 +0,0 @@ -#undef HAVE_ICONV_H -#undef USE_GEOS -#undef USE_JTS diff --git a/configure.in b/configure.in index d76581595..36fb15780 100644 --- a/configure.in +++ b/configure.in @@ -1,625 +1,249 @@ -AC_INIT(README.postgis) -AC_CONFIG_HEADER(config.h) - -dnl AC_ARG_ENABLE(autoconf, [ --enable-autoconf really use autoconf], -dnl AC_MSG_RESULT(Using autoconf), -dnl AC_MSG_ERROR([ -dnl -dnl Autoconf-based configuration is not widely tested. -dnl If you want to use it anyway specify --enable-autoconf. -dnl ]) -dnl ) +dnl +dnl PostGIS build system +dnl +dnl Written by Mark Cave-Ayland +dnl + +AC_INIT() +AC_CONFIG_HEADERS([postgis_config.h]) dnl dnl Compilers dnl AC_PROG_CC +AC_PROG_CPP AC_PROG_CXX -AC_PROG_LN_S dnl -dnl iconv support (might fail in case of non-default iconv installation) +dnl Version Information imported from Version.config dnl -AC_SUBST(USE_ICONV) -AC_SUBST(ICONV_LDFLAGS) -ICONV_LDFLAGS= -USE_ICONV=1 -AC_ARG_WITH(iconv, -[ --without-iconv disable unicode support], - if test "$with_iconv" = "no"; then - USE_ICONV=0 - fi -) - -if test "$USE_ICONV" = 1; then - AC_CHECK_LIB(iconv, iconv_open, - USE_ICONV=1 - ICONV_LDFLAGS=-liconv - , - AC_CHECK_LIB(iconv, libiconv_open, - USE_ICONV=1 - ICONV_LDFLAGS=-liconv - , - AC_CHECK_LIB(c, iconv_open, - USE_ICONV=1 - , - USE_ICONV=0 - ) - ) - ) -fi - -AC_CHECK_HEADERS(iconv.h) - +POSTGIS_MAJOR_VERSION=`cat Version.config | grep POSTGIS_MAJOR_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'` +POSTGIS_MINOR_VERSION=`cat Version.config | grep POSTGIS_MINOR_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'` +POSTGIS_MICRO_VERSION=`cat Version.config | grep POSTGIS_MICRO_VERSION | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'` dnl -dnl host operating system +dnl Detect the version of PostgreSQL installed on the system dnl -AC_CANONICAL_HOST -dnl -dnl Search for pg_config and setup pgsql stuff -dnl -AC_SUBST(PGCONFIG) -PGCONFIG= -AC_ARG_WITH(pgsql, -[ --with-pgsql[[=ARG]] build for a specific pgsql version - [[ARG=path to pg_config]]], - if test "$with_pgsql" != "no" -a "$with_pgsql" != "yes"; then - if test ! -f "$with_pgsql"; then - AC_MSG_ERROR([Invalid argument to --with-pgsql]); - fi - PGCONFIG="$with_pgsql" - fi -) -if test -z "$PGCONFIG"; then +AC_ARG_WITH([pgconfig], [Specify the path to an alternative pg_config], [PGCONFIG="$withval"], [PGCONFIG=""]) +if test "x$PGCONFIG" = "x"; then + dnl PGCONFIG was not specified, so search within the current path AC_PATH_PROG([PGCONFIG], [pg_config]) -fi -if test -z "$PGCONFIG"; then - AC_MSG_ERROR([PostgreSQL is required by PostGIS]); -fi -AC_SUBST(PGFEINCLUDES) -AC_SUBST(PGBEINCLUDES) -AC_SUBST(PGFELIBS) -AC_SUBST(PGBELIBS) -AC_SUBST(PGBIN) -AC_SUBST(PGTEMPLATE) -AC_SUBST(LPATH) -PGFEINCLUDES="-I"`${PGCONFIG} --includedir` -PGFELIBS="-L"`${PGCONFIG} --libdir`" -lpq " #(1)# `${PGCONFIG} --libs 2> /dev/null` -#(1)# -# We don't really want to link to more libs then required, see: -# http://postgis.refractions.net/pipermail/postgis-devel/2006-May/002124.html -PGBELIBS="-L"`${PGCONFIG} --libdir`" -lpostgres" -PGBEINCLUDES="-I"`${PGCONFIG} --includedir-server` -PGBIN=`${PGCONFIG} --bindir` - -dnl -dnl MingW requires use of pwd -W to give proper Windows (not MingW) paths -dnl for in-place regression tests -dnl -case $host_os in - *mingw*) - PWDREGRESS="pwd -W" - ;; - *) - PWDREGRESS="pwd" - ;; -esac -AC_SUBST(PWDREGRESS) -dnl -dnl Test for GEOS -dnl - -AC_SUBST(USE_GEOS) -AC_SUBST(GEOS_DIR) -AC_SUBST(GEOS_LDFLAGS) -AC_SUBST(GEOS_VERNUM) -USE_GEOS=0 -GEOS_DIR= -GEOS_LDFLAGS= -GEOS_VERNUM=10 - -AC_PATH_PROG([GEOSCONFIG], [geos-config]) -if test -n "$GEOSCONFIG"; then - USE_GEOS=1 -fi - -AC_ARG_WITH(geos, -[ --with-geos[[=ARG]] enable spatial predicates and operators using GEOS - [[ARG=path to geos-config]]], - if test "$with_geos" = "no"; then - USE_GEOS=0 + dnl If we couldn't find pg_config, display an error + if test "x$PGCONFIG" = "x"; then + AC_MSG_ERROR([could not find pg_config within the current path. You may need to try re-running configure with a --with-pgconfig parameter.]) + fi +else + dnl PGCONFIG was specified; display a message to the user + if test "x$PGCONFIG" = "xyes"; then + AC_MSG_ERROR([you must specify a parameter to --with-pgconfig, e.g. --with-pgconfig=/path/to/pg_config]) else - if test "$with_geos" != "yes"; then - if test ! -f "$with_geos"; then - AC_MSG_ERROR([Invalid argument to --with-geos]); - else - GEOSCONFIG="$with_geos" - USE_GEOS=1 - AC_MSG_RESULT([Using specified geos-config file: $GEOSCONFIG]) - fi + if test -f $PGCONFIG; then + AC_MSG_RESULT([Using user-specified pg_config file: $PGCONFIG]) + else + AC_MSG_ERROR([the user-specified pg_config file $PGCONFIG does not exist]) fi fi -) - -if test $USE_GEOS -gt 0; then +fi - GEOS_DIR=`$GEOSCONFIG --prefix` - GEOS_LDFLAGS=`$GEOSCONFIG --ldflags 2> /dev/null` +dnl Extract the version information from pg_config +dnl Note: we extract the major & minor separately, ensure they are numeric, and then combine to give +dnl the final version. This is to guard against user error... +PGSQL_MAJOR_VERSION=`$PGCONFIG --version | sed 's/[[A-Za-z ]]*//' | cut -d. -f1 | sed 's/[[^0-9]]//g'` +PGSQL_MINOR_VERSION=`$PGCONFIG --version | sed 's/[[A-Za-z ]]*//' | cut -d. -f2 | sed 's/[[^0-9]]//g'` +POSTGIS_PGSQL_VERSION="$PGSQL_MAJOR_VERSION$PGSQL_MINOR_VERSION" - if test x"$GEOS_LDFLAGS" = "x"; then - # older geos-config versions did not - # support the --ldflags switch, we'll - # default to GEOS_DIR/lib in this case. - # - GEOS_LDFLAGS="-L${GEOS_DIR}/lib" +dnl Ensure that we are using PostgreSQL >= 8.1 +if test ! "$PGSQL_MAJOR_VERSION" -ge 8; then + AC_MSG_ERROR([PostGIS requires PostgreSQL >= 8.1]) +else + if test "$PGSQL_MAJOR_VERSION" -eq 8; then + if test ! "$PGSQL_MINOR_VERSION" -ge 1; then + AC_MSG_ERROR([PostGIS requires PostgreSQL >= 8.1]) + fi fi +fi - GEOS_MAJOR=`$GEOSCONFIG --version | cut -d. -f1` - GEOS_MINOR=`$GEOSCONFIG --version | cut -d. -f2` - GEOS_VERNUM=`expr $GEOS_MAJOR "*" 10` - GEOS_VERNUM=`expr $GEOS_VERNUM "+" $GEOS_MINOR` +dnl Note: We don't need the server-side LDFLAGS or CPPFLAGS because we get these from PGXS - # GEOS >= 3.0.0 always has CAPI, however only GEOS >= 2.2.0 has CAPI support - # so abort if CAPI support is not available. - if test $GEOS_VERNUM -lt 22; then - AC_MSG_ERROR([PostGIS version >= 1.2.0 requires GEOS version >= 2.2.0]) - fi +dnl Extract the linker and include flags for the frontend (for programs that use libpq) +PGSQL_FE_LDFLAGS=-L`$PGCONFIG --libdir` +PGSQL_FE_CPPFLAGS=-I`$PGCONFIG --includedir` -fi +AC_SUBST([PGSQL_FE_LDFLAGS]) +AC_SUBST([PGSQL_FE_CPPFLAGS]) -AC_SUBST(USE_PROJ) -AC_SUBST(PROJ_DIR) -AC_SUBST(PROJ_LIBDIR) -USE_PROJ=0 -PROJ_DIR= -PROJ_LIBDIR= -AC_PATH_PROG([PROJ], [proj]) -if test -n "$PROJ"; then - USE_PROJ=1 - PROJ_DIR=`dirname ${PROJ}`/.. - owd=`pwd`; cd ${PROJ_DIR}; PROJ_DIR=`pwd`; cd $owd; -fi -AC_ARG_WITH(proj, - [ --with-proj[[=DIR]] enable reprojection support], - if test "$with_proj" = "no"; then - USE_PROJ=0 - else - USE_PROJ=1 - if test "$with_proj" != "yes"; then - PROJ_DIR=$with_proj - fi - fi -) -if test $USE_PROJ -gt 0; then - if test ! -f $PROJ_DIR/include/projects.h; then - AC_MSG_ERROR([Can't find proj dir.]); - fi - PROJ_LIBDIR=${PROJ_DIR}/lib -fi -AC_ARG_WITH(proj-libdir, -[ --with-proj-libdir=PATH path to PROJ4 libdir], -[ -case "$with_proj_libdir" in - no|yes) - AC_MSG_ERROR([Invalid argument to --with-proj-libdir]) - ;; - *) - PROJ_LIBDIR=${with_proj_libdir} - ;; -esac -], with_proj_libdir=no) - -AC_SUBST(USE_JTS) -AC_SUBST(JTS_INCLUDES) -AC_SUBST(JTS_LIBDIR) -USE_JTS=0 -JTS_INCLUDES= -JTS_INCLUDES= -AC_ARG_WITH(jts, -[ --with-jts[[=ARG]] use JTS for spatial predicates and operators - [[ARG=path to jts-config]]], - if test "$with_jts" != "no"; then - USE_JTS=1 - if test "$with_jts" != "yes"; then - if test ! -f "$with_jts"; then - AC_MSG_ERROR([Invalid argument to --with-jts]); - else - JTSCONFIG=$with_jts - fi - fi - fi -) -if test $USE_JTS -gt 0; then - if test -z "$JTSCONFIG"; then - AC_PATH_PROG([JTSCONFIG], [jts-config]) - if test -z "$JTSCONFIG"; then - AC_MSG_ERROR([Can't find jts-config]); - fi - fi - JTS_INCLUDES=`$JTSCONFIG --includedir` - JTS_LIBDIR=`$JTSCONFIG --libdir` -fi +dnl Ensure that we can parse libpq-fe.h +CPPFLAGS_SAVE="$CPPFLAGS" +CPPFLAGS="$PGSQL_FE_CPPFLAGS" +AC_CHECK_HEADER([libpq-fe.h], [], [AC_MSG_ERROR([could not find libpq-fe.h])]) +CPPFLAGS="$CPPFLAGS_SAVE" -dnl -dnl Search flex and yacc -dnl -AC_SUBST(FLEX) -AC_PATH_PROG([FLEX], [flex]) -if test -z "$FLEX"; then - AC_MSG_ERROR(Can't find 'flex'); -fi +dnl Ensure we can link against libpq +LIBS_SAVE="$LIBS" +LIBS="$PGSQL_FE_LDFLAGS" +AC_CHECK_LIB([pq], [PQserverVersion], + [], + [AC_MSG_ERROR([could not find libpq])], + []) +LIBS="$LIBS_SAVE" -AC_SUBST(DLLWRAP) -AC_PATH_PROG([DLLWRAP], [dllwrap]) -AC_SUBST(DLLTOOL) -AC_PATH_PROG([DLLTOOL], [dlltool]) +AC_DEFINE_UNQUOTED([POSTGIS_PGSQL_VERSION], [$POSTGIS_PGSQL_VERSION], [PostgreSQL server version]) +AC_SUBST([POSTGIS_PGSQL_VERSION]) -dnl AC_SUBST(YACC) -dnl AC_PATH_PROG([YACC], [yacc]) -AC_PROG_YACC -if test -z "$YACC"; then - AC_MSG_ERROR(Can't find 'yacc'); -fi dnl -dnl Find 'install' +dnl Detect the version of GEOS installed on the system dnl -dnl AC_PATH_PROG([INSTALL], [install]) -dnl if test -z "$INSTALL"; then -dnl AC_MSG_ERROR(Can't find 'install'); -dnl fi -AC_SUBST(INSTALL) -INSTALL=`pwd`"/install-sh" -dnl -dnl Search perl -dnl -AC_SUBST(PERL) -AC_PATH_PROG([PERL], [perl]) -if test -z "$PERL"; then - AC_MSG_ERROR(Can't find 'perl'); -fi +AC_ARG_WITH([geosconfig], [Specify the path to an alternative geos-config], [GEOSCONFIG="$withval"], [GEOSCONFIG=""]) +if test "x$GEOSCONFIG" = "x"; then + dnl GEOSCONFIG was not specified, so search within the current path + AC_PATH_PROG([GEOSCONFIG], [geos-config]) -AC_SUBST(docdir) -docdir='${prefix}/share/doc' -AC_ARG_WITH(docdir, -[ --with-docdir=DIR install the documentation in DIR [[PREFIX/share/doc]]], - if test "$with_docdir" = "yes"; then - AC_MSG_ERROR([option --with-docdir requires an argument]) + dnl If we couldn't find geos-config, display an error + if test "x$GEOSCONFIG" = "x"; then + AC_MSG_ERROR([could not find geos-config within the current path. You may need to try re-running configure with a --with-geosconfig parameter.]) fi - if test "$with_docdir" != "no"; then - docdir="$with_docdir" +else + dnl GEOSCONFIG was specified; display a message to the user + if test "x$GEOSCONFIG" = "xyes"; then + AC_MSG_ERROR([you must specify a parameter to --with-geosconfig, e.g. --with-geosconfig=/path/to/geos-config]) + else + if test -f $GEOSCONFIG; then + AC_MSG_RESULT([Using user-specified geos-config file: $GEOSCONFIG]) + else + AC_MSG_ERROR([the user-specified geos-config file $GEOSCONFIG does not exist]) + fi fi -) +fi -dnl -dnl Find 'html/docbook.xsl' -dnl -AC_SUBST(XSLBASE) -XSLBASE= -AC_ARG_WITH(xsl, -[ --with-xsl=DIR Specify the DIR containing html/docbook.xsl stylesheet], - if test "$with_xsl" = yes; then - AC_MSG_ERROR([option --with-xsl requires an argument]) - fi - if test "$with_xsl" != "no"; then - xsl="$with_xsl" - fi - , - SEARCHPATH=" - /usr/share/sgml/docbook/xsl-stylesheets - /usr/share/xml/docbook/stylesheet/nwalsh - /usr/share/sgml/docbook/stylesheet/xsl/nwalsh - " - for p in ${SEARCHPATH}; do - if test -r "${p}"/html/docbook.xsl; then - xsl="${p}" - break - fi - done -) -XSLBASE="${xsl}" +dnl Extract the version information from pg_config +dnl Note: we extract the major & minor separately, ensure they are numeric, and then combine to give +dnl the final version. This is to guard against user error... +GEOS_MAJOR_VERSION=`$GEOSCONFIG --version | cut -d. -f1 | sed 's/[[^0-9]]//g'` +GEOS_MINOR_VERSION=`$GEOSCONFIG --version | cut -d. -f2 | sed 's/[[^0-9]]//g'` +POSTGIS_GEOS_VERSION="$GEOS_MAJOR_VERSION$GEOS_MINOR_VERSION" -dnl -dnl Search for other binaries needed to build docs -dnl -AC_PATH_PROG([XSLTPROC], [xsltproc]) -AC_PATH_PROG([PDFXMLTEX], [pdfxmltex]) -AC_PATH_PROG([DB2PDF], [db2pdf]) -AC_PATH_PROG([JW], [jw]) -AC_SUBST(XSLTPROC) -AC_SUBST(PDFXMLTEX) -AC_SUBST(JW) - -DOC_RULE=requirements_not_met -if test -n "${XSLBASE}"; then - if test -n "${XSLTPROC}"; then - DOC_RULE=html/postgis.html - else - if test -n "${JW}"; then - DOC_RULE=jw +dnl Ensure that we are using GEOS >= 2.2.0 (requires CAPI) +if test ! "$GEOS_MAJOR_VERSION" -ge 2; then + AC_MSG_ERROR([PostGIS requires GEOS >= 2.2]) +else + if test "$GEOS_MAJOR_VERSION" -eq 2; then + if test ! "$GEOS_MINOR_VERSION" -ge 2; then + AC_MSG_ERROR([PostGIS requires GEOS >= 2.2]) fi fi -fi -AC_SUBST(DOC_RULE) +fi +dnl Extract the linker and include flags +GEOS_LDFLAGS=`$GEOSCONFIG --ldflags` +GEOS_CPPFLAGS=-I`$GEOSCONFIG --includes` -if test $USE_JTS -gt 0; then -dnl AC_MSG_RESULT([ GEOS disabled, using JTS.]) - USE_GEOS=0 - AC_DEFINE(USE_JTS) -fi +dnl Ensure that we can parse geos_c.h +CPPFLAGS_SAVE="$CPPFLAGS" +CPPFLAGS="$GEOS_CPPFLAGS" +AC_CHECK_HEADER([geos_c.h], [], [AC_MSG_ERROR([could not find geos_c.h - you may need to specify the directory of a geos-config file using --with-geosconfig])]) +CPPFLAGS="$CPPFLAGS_SAVE" -if test $USE_GEOS -gt 0; then - AC_DEFINE(USE_GEOS) -fi +dnl Ensure we can link against libgeos_c +LIBS_SAVE="$LIBS" +LIBS="$GEOS_LDFLAGS" +AC_CHECK_LIB([geos_c], [initGEOS], + [], + [AC_MSG_ERROR([could not find libgeos_c - you may need to specify the directory of a geos-config file using --with-geosconfig])], + []) +LIBS="$LIBS_SAVE" -# -# Extract PostgreSQL paths from pg_config -## - -# -# Prefix (pg_prefix) -# -pg_prefix=/usr/local/pgsql -pg_eprefix= -pg_docdir= -pg_datadir= -pg_mandir= -pg_bindir="`${PGCONFIG} --bindir`" -pg_pkglibdir="`${PGCONFIG} --pkglibdir`" -for v in `${PGCONFIG} --configure`; do - strip=`echo $v | sed "s/'//g"` - var=`echo "$strip" | cut -d= -f1` - if test "$var" = "--prefix"; then - pg_prefix=`echo "$strip" | cut -d= -f2` - elif test "$var" = "--exec-prefix"; then - pg_eprefix=`echo "$strip" | cut -d= -f2` - elif test "$var" = "--docdir"; then - pg_docdir=`echo "$strip" | cut -d= -f2` - elif test "$var" = "--with-docdir"; then - pg_docdir=`echo "$strip" | cut -d= -f2` - elif test "$var" = "--datadir"; then - pg_datadir=`echo "$strip" | cut -d= -f2` - elif test "$var" = "--mandir"; then - pg_mandir=`echo "$strip" | cut -d= -f2` - elif test "$var" = "--with-template"; then - PGTEMPLATE=`echo "$strip" | cut -d= -f2` - fi -done -# -# We set these defaults after scan of -# pg_config --configure to safely expand pg_prefix -# We need expansion for the 'postgresq' path component -# addition below (default paths take from pg_config) -# -if test -z "$pg_eprefix"; then pg_eprefix=${pg_prefix}; fi -if test -z "$pg_docdir"; then pg_docdir=${pg_prefix}'/doc'; fi -if test -z "$pg_datadir"; then pg_datadir=${pg_prefix}'/share'; fi -if test -z "$pg_mandir"; then pg_mandir=${pg_prefix}'/man'; fi - -# Use old layout by default -use_new_layout=0 - -if test "$prefix" != 'NONE'; then - use_new_layout=1 -fi +AC_DEFINE_UNQUOTED([POSTGIS_GEOS_VERSION], [$POSTGIS_GEOS_VERSION], [GEOS library version]) +AC_SUBST([POSTGIS_GEOS_VERSION]) -if test "${use_new_layout}" = "1"; then - LPATH=$libdir -else - - # - # Use old layout: everything under PGSQL paths - # Note: still allow override by user, this is - # done checking each variable against its - # default value, if it has a different - # value do not use PGSQL versions - # - if test "$prefix" = 'NONE'; then - prefix=${pg_prefix} - fi +dnl +dnl Detect the version of PROJ.4 installed +dnl - if test "$docdir" = '${prefix}/share/doc'; then - docdir=${pg_docdir} - # - # If docdir contains no 'pgsql' or 'postgres' - # add the suffix. This is derived from - # PGSQL_SRC/src/Makefile.global - # - if expr "${docdir}" : ".*/pgsql" > /dev/null ; then :; else - if expr "${docdir}" : ".*/postgres" > /dev/null ; then :; else - docdir=${docdir}"/postgresql" - fi +AC_ARG_WITH([projdir], [Specify the directory to an alternative PROJ installation], [PROJDIR="$withval"], [PROJDIR=""]) +if test ! "x$PROJDIR" = "x"; then + dnl Make sure that the directory exists + if test "x$PROJDIR" = "xyes"; then + AC_MSG_ERROR([you must specifiy a parameter to --with-projdir, e.g. --with-projdir=/path/to]) + else + if test -d "$PROJDIR"; then + AC_MSG_RESULT([Using user-specified proj directory: $PROJDIR]) + + dnl Add the include directory to PROJ_CPPFLAGS + PROJ_CPPFLAGS="-I$PROJDIR/include" + PROJ_LDFLAGS="-L$PROJDIR/lib" + else + AC_MSG_ERROR([the --with-projdir directory "$PROJDIR" cannot be found]) fi - # Add the "contrib" part - docdir=${docdir}"/contrib" fi +fi - if test "$datadir" = '${prefix}/share'; then - datadir=${pg_datadir} - # - # If datadir contains no 'pgsql' or 'postgres' - # add the suffix. This is derived from - # PGSQL_SRC/src/Makefile.global - # - if expr "${datadir}" : ".*/pgsql" > /dev/null ; then :; else - if expr "${datadir}" : ".*/postgres" > /dev/null ; then :; else - datadir=${datadir}"/postgresql" - fi - fi - # Add the "contrib" part - datadir=${datadir}"/contrib" - fi +dnl Check that we can find the proj_api.h header file +CPPFLAGS_SAVE="$CPPFLAGS" +CPPFLAGS="$PROJ_CPPFLAGS" +AC_CHECK_HEADER([proj_api.h], [], [AC_MSG_ERROR([could not find proj_api.h - you may need to specify the directory of a PROJ.4 installation using --with-projdir])]) - if test "$mandir" = '${prefix}/man'; then - mandir=${pg_mandir} - fi +dnl Return the PROJ.4 version number +AC_PROJ_VERSION([POSTGIS_PROJ_VERSION]) +AC_DEFINE_UNQUOTED([POSTGIS_PROJ_VERSION], [$POSTGIS_PROJ_VERSION], [PROJ library version]) +AC_SUBST([POSTGIS_PROJ_VERSION]) +CPPFLAGS="$CPPFLAGS_SAVE" - if test "$bindir" = '${exec_prefix}/bin'; then - bindir=${pg_bindir} - fi +dnl Ensure we can link against libproj +LIBS_SAVE="$LIBS" +LIBS="$PROJ_LDFLAGS" +AC_CHECK_LIB([proj], [pj_get_release], + [], + [AC_MSG_ERROR([could not find libproj - you may need to specify the directory of a PROJ.4 installation using --with-projdir])], + []) +LIBS="$LIBS_SAVE" - if test "$libdir" = '${exec_prefix}/lib'; then - libdir=${pg_pkglibdir} - LPATH='\$$libdir' - else - LPATH=$libdir - fi -fi -# --with-template parsing is done in the single -# pg_config --configure scan above -AC_MSG_CHECKING([which template to use]) -template=$PGTEMPLATE - -case $host_os in - aix*) template=aix ;; - beos*) template=beos ;; - bsdi*) template=bsdi ;; - cygwin*) template=cygwin ;; - darwin*) template=darwin ;; - dgux*) template=dgux ;; - freebsd*) template=freebsd ;; - hpux*) template=hpux ;; - irix*) template=irix ;; - linux*|gnu*|k*bsd*-gnu) - template=linux ;; - mingw*) template=win32 ;; - netbsd*) template=netbsd ;; -nextstep*) template=nextstep ;; - openbsd*) template=openbsd ;; - osf*) template=osf ;; - qnx*) template=qnx4 ;; - sco*) template=sco ;; - solaris*) template=solaris ;; - sunos*) template=sunos4 ;; - sysv4.2*) - case $host_vendor in - univel) template=univel ;; - esac ;; - sysv4*) template=svr4 ;; - sysv5*) template=unixware ;; - ultrix*) template=ultrix4 ;; -esac - - if test x"$template" = x"" ; then - AC_MSG_ERROR([[ -******************************************************************* -PostgreSQL has apparently not been ported to your platform yet. -To try a manual configuration, look into the src/template directory -for a similar platform and use the '--with-template=' option. - -Please also contact to see about -rectifying this. Include the above 'checking host system type...' -line. -******************************************************************* -]]) - fi - -AC_MSG_RESULT([$template]) - -PORTNAME=$template -AC_SUBST(PORTNAME) - - -# -# OS-specific settings -# -AC_SUBST(DLSUFFIX) -AC_SUBST(DLFLAGS) -AC_SUBST(EXE) -AC_SUBST(HOST_OS) - -# host_os is defined by AC_CANONICAL_HOST -HOST_OS=$host_os -DLSUFFIX=.so -DLFLAGS=-shared -EXE= -case $host_os in - *mingw*) - PGBEINCLUDES="$PGBEINCLUDES $PGBEINCLUDES/port/win32" - DLSUFFIX=.dll - DLFLAGS='${PGBELIBS}' - EXE=.exe - ;; - *darwin*) - DLFLAGS="-no-cpp-precomp -flat_namespace -undefined suppress -multiply_defined suppress" - ;; -esac - -# Assume system is ELF if it predefines __ELF__ as 1, -# otherwise believe host_os based default. -case $host_os in - freebsd1*|freebsd2*) elf=no;; - freebsd3*|freebsd4*) elf=yes;; -esac - -AC_EGREP_CPP(yes, -[#if __ELF__ - yes -#endif -], -[ELF_SYS=true], -[if test "X$elf" = "Xyes" ; then - ELF_SYS=true -else - ELF_SYS= -fi]) -AC_SUBST(ELF_SYS) +dnl +dnl Define version macros +dnl +POSTGIS_VERSION="$POSTGIS_MAJOR_VERSION.$POSTGIS_MINOR_VERSION USE_GEOS=1 USE_PROJ=1 USE_STATS=1" +POSTGIS_LIB_VERSION="$POSTGIS_MAJOR_VERSION.$POSTGIS_MINOR_VERSION.$POSTGIS_MICRO_VERSION" +POSTGIS_BUILD_DATE=`date -u "+%Y-%m-%d %H:%M:%S"` +POSTGIS_SCRIPTS_VERSION="$POSTGIS_LIB_VERSION" +AC_DEFINE_UNQUOTED([POSTGIS_VERSION], ["$POSTGIS_VERSION"], [PostGIS version]) +AC_DEFINE_UNQUOTED([POSTGIS_LIB_VERSION], ["$POSTGIS_LIB_VERSION"], [PostGIS library version]) +AC_DEFINE_UNQUOTED([POSTGIS_BUILD_DATE], ["$POSTGIS_BUILD_DATE"], [PostGIS build date]) +AC_DEFINE_UNQUOTED([POSTGIS_SCRIPTS_VERSION], ["$POSTGIS_SCRIPTS_VERSION"], [PostGIS scripts version]) -AC_OUTPUT(Makefile.config) +AC_SUBST([POSTGIS_VERSION]) +AC_SUBST([POSTGIS_LIB_VERSION]) +AC_SUBST([POSTGIS_BUILD_DATE]) +AC_SUBST([POSTGIS_SCRIPTS_VERSION]) -AC_MSG_RESULT([ ]) -AC_MSG_RESULT([ SUMMARY]) -AC_MSG_RESULT([ -------------------------------------------------------]) -AC_MSG_RESULT([ ]) -AC_MSG_RESULT([ HOST_OS: $host_os]) -AC_MSG_RESULT([ ]) -AC_MSG_RESULT([ PGSQL: $PGCONFIG]) -if test $USE_JTS -gt 0; then - AC_MSG_RESULT([ JTS: includedir=$JTS_INCLUDES libdir=$JTS_LIBDIR]) -fi +dnl +dnl Other parameters +dnl -# GEOS CAPI information -if test $USE_GEOS -gt 0; then - AC_MSG_RESULT([ GEOS: $GEOSCONFIG (with C-API)]) - AC_MSG_RESULT([ (ldflags: $GEOS_LDFLAGS)]) -fi +dnl Always enable BBOX caching by default +AC_DEFINE_UNQUOTED([POSTGIS_AUTOCACHE_BBOX], [1], [Enable caching of bounding box within geometries]) -# PROJ.4 information -if test $USE_PROJ -gt 0; then - AC_MSG_RESULT([ PROJ: prefix=$PROJ_DIR libdir=$PROJ_LIBDIR]) -fi +dnl Always enable use of ANALYZE statistics by default +AC_DEFINE_UNQUOTED([POSTGIS_USE_STATS], [1], [Enable use of ANALYZE statistics]) -AC_MSG_RESULT([ ICONV: $USE_ICONV $ICONV_LDFLAGS]) -dnl AC_MSG_RESULT([ FLEX: path=$FLEX]) -dnl AC_MSG_RESULT([ YACC: path=$YACC]) - -AC_MSG_RESULT([ ]) -AC_MSG_RESULT([ PORTNAME: $PORTNAME]) -AC_MSG_RESULT([ PREFIX: $prefix]) -AC_MSG_RESULT([ EPREFIX: $exec_prefix]) -AC_MSG_RESULT([ DOC: $docdir]) -AC_MSG_RESULT([ DATA: $datadir]) -AC_MSG_RESULT([ MAN: $mandir]) -AC_MSG_RESULT([ BIN: $bindir]) -if test "$MODULE_INSTALLDIR" = "$LPATH"; then - AC_MSG_RESULT([ EXT: $libdir]) -else - AC_MSG_RESULT([ EXT: $libdir ($LPATH)]) -fi -AC_MSG_RESULT([ -------------------------------------------------------]) -AC_MSG_RESULT([ ]) +CPPFLAGS="$PGSQL_CPPFLAGS $GEOS_CPPFLAGS $PROJ_CPPFLAGS" +dnl AC_MSG_RESULT([CPPFLAGS: $CPPFLAGS]) + +SHLIB_LINK="$PGSQL_LDFLAGS $GEOS_LDFLAGS $PROJ_LDFLAGS -lgeos_c -lproj" +AC_SUBST([SHLIB_LINK]) +dnl AC_MSG_RESULT([SHLIB_LINK: $SHLIB_LINK]) + +dnl Output the relevant files +AC_OUTPUT([lwgeom/Makefile lwgeom/sqldefines.h loader/Makefile.pgsql2shp regress/Makefile]) diff --git a/loader/Makefile b/loader/Makefile index 39247c6d9..3342638f3 100644 --- a/loader/Makefile +++ b/loader/Makefile @@ -1,44 +1,9 @@ -include ../Makefile.config - -# Version handling: -include ../Version.config -POSTGIS_VERSION = $(REL_MAJOR_VERSION).$(REL_MINOR_VERSION).$(REL_MICRO_VERSION) - # -# PostGIS Loader Makefile +# PostGIS PGXS build system # -OBJS = shpopen.o dbfopen.o getopt.o - -#--------------------------------------------------------------- - -ifeq ($(USE_ICONV),1) - override CFLAGS += -DUSE_ICONV - override LDFLAGS += $(ICONV_LDFLAGS) -endif - -override CFLAGS := -g -Wall -I.. $(CFLAGS) -DUSE_VERSION=$(USE_VERSION) -DPOSTGIS_VERSION='"$(POSTGIS_VERSION)"' - -all: shp2pgsql$(EXE) pgsql2shp$(EXE) - -pgsql2shp.o: pgsql2shp.c - $(CC) $(CFLAGS) $(PGFEINCLUDES) -c $< - -pgsql2shp$(EXE): $(OBJS) pgsql2shp.o PQunescapeBytea.o - $(CC) $(CFLAGS) $(OBJS) PQunescapeBytea.o pgsql2shp.o $(LDFLAGS) $(PGFELIBS) -o $@ - -shp2pgsql$(EXE): $(OBJS) shp2pgsql.o - $(CC) $(CFLAGS) $(OBJS) shp2pgsql.o $(LDFLAGS) -o $@ - -install: all - @mkdir -p $(DESTDIR)$(bindir) - $(INSTALL_BIN) pgsql2shp$(EXE) $(DESTDIR)$(bindir)/pgsql2shp$(EXE) - $(INSTALL_BIN) shp2pgsql$(EXE) $(DESTDIR)$(bindir)/shp2pgsql$(EXE) - -uninstall: - rm -f $(DESTDIR)$(bindir)/pgsql2shp$(EXE) - rm -f $(DESTDIR)$(bindir)/shp2pgsql$(EXE) - -clean: - rm -f $(OBJS) shp2pgsql.o pgsql2shp.o PQunescapeBytea.o shp2pgsql$(EXE) pgsql2shp$(EXE) +all: +%: + make -f Makefile.shp2pgsql $@ + make -f Makefile.pgsql2shp $@ diff --git a/loader/Makefile.pgsql2shp.in b/loader/Makefile.pgsql2shp.in new file mode 100644 index 000000000..26fd399df --- /dev/null +++ b/loader/Makefile.pgsql2shp.in @@ -0,0 +1,22 @@ +# +# PostGIS PGXS build system +# +PROGRAM=pgsql2shp + +# List of objects to build +OBJS= shpopen.o \ + dbfopen.o \ + getopt.o \ + pgsql2shp.o \ + PQunescapeBytea.o + +# Link against libpq +PG_CPPFLAGS=@PGSQL_FE_CPPFLAGS@ +PG_LIBS=@PGSQL_FE_LDFLAGS@ -lpq + + +# PGXS information +PG_CONFIG = pg_config +PGXS := $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) + diff --git a/loader/Makefile.shp2pgsql b/loader/Makefile.shp2pgsql new file mode 100644 index 000000000..ee5f89960 --- /dev/null +++ b/loader/Makefile.shp2pgsql @@ -0,0 +1,16 @@ +# +# PostGIS PGXS build system +# +PROGRAM=shp2pgsql + +# List of objects to build +OBJS= shpopen.o \ + dbfopen.o \ + getopt.o \ + shp2pgsql.o + +# PGXS information +PG_CONFIG = pg_config +PGXS := $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) + diff --git a/loader/pgsql2shp.c b/loader/pgsql2shp.c index 3a0f61c4c..e9a784db3 100644 --- a/loader/pgsql2shp.c +++ b/loader/pgsql2shp.c @@ -21,6 +21,8 @@ static char rcsid[] = "$Id$"; +#include "../postgis_config.h" + #include #include #include diff --git a/loader/shp2pgsql.c b/loader/shp2pgsql.c index 718d9278a..60ca24726 100644 --- a/loader/shp2pgsql.c +++ b/loader/shp2pgsql.c @@ -22,7 +22,7 @@ * **********************************************************************/ -#include "../config.h" +#include "../postgis_config.h" #include "shapefil.h" #include #include diff --git a/lwgeom/Makefile b/lwgeom/Makefile index d6362f379..65bc7d23f 100644 --- a/lwgeom/Makefile +++ b/lwgeom/Makefile @@ -1,172 +1,87 @@ -# Configuration Directives -include ../Makefile.config -include ../Version.config - -#--------------------------------------------------------------- -# Default missing CXX variable to c++ -# -ifndef $(CXX) - CXX = c++ -endif - -#--------------------------------------------------------------- -# Shared library parameters. # -NAME=lwgeom -SHLIB_LINK = $(DLFLAGS) - -#--------------------------------------------------------------- -# Postgis version and build date -#--------------------------------------------------------------- - -POSTGIS_VERSION = $(REL_MAJOR_VERSION).$(REL_MINOR_VERSION) USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS) -POSTGIS_LIB_VERSION = $(REL_MAJOR_VERSION).$(REL_MINOR_VERSION).$(REL_MICRO_VERSION) -POSTGIS_BUILD_DATE := $(shell date -u "+%Y-%m-%d %H:%M:%S") -SCRIPTS_VERSION=$(POSTGIS_LIB_VERSION) - -SQL_FLAGS = -DUSE_VERSION=$(USE_VERSION) - -#--------------------------------------------------------------- - -CSTAR_FLAGS = -Wall -g -O2 -fPIC -fexceptions - -override CFLAGS += -DUSE_VERSION=$(USE_VERSION) -override CFLAGS += -DPOSTGIS_LIB_VERSION='"$(POSTGIS_LIB_VERSION)"' -override CFLAGS += -DPOSTGIS_VERSION='"$(POSTGIS_VERSION)"' -override CFLAGS += -DPOSTGIS_SCRIPTS_VERSION='"$(SCRIPTS_VERSION)"' -override CFLAGS += -DPOSTGIS_BUILD_DATE='"$(POSTGIS_BUILD_DATE)"' - -JTS_OBJ=lwgeom_nojts.o -ifeq ($(USE_GEOS),1) - CSTAR_FLAGS += -DUSE_GEOS - CSTAR_FLAGS += -DGEOS_VERNUM=$(GEOS_VERNUM) - SQL_FLAGS += -DUSE_GEOS -DGEOS_VERNUM=$(GEOS_VERNUM) - GEOS_RULES= - CSTAR_FLAGS += -I$(GEOS_DIR)/include - GEOS_WRAPPER= - JTS_OBJ=lwgeom_geos_c.o - SHLIB_LINK += $(GEOS_LDFLAGS) -lgeos_c -endif - -ifeq ($(USE_JTS),1) - CXXFLAGS += -I$(JTS_INCLUDES) - CSTAR_FLAGS += -DUSE_JTS - SQL_FLAGS += -DUSE_JTS - JTS_WRAPPER=lwgeom_jts_wrapper.o - JTS_OBJ=lwgeom_jts.o - SHLIB_LINK += -lgcj -ljts -lstdc++ -L$(JTS_LIBDIR) -endif - -ifeq ($(USE_PROJ),1) - override CFLAGS += -I$(PROJ_DIR)/include -DUSE_PROJ - SHLIB_LINK += -L$(PROJ_LIBDIR) -lproj - SQL_FLAGS += -DUSE_PROJ -endif - -override CFLAGS += $(PGBEINCLUDES) -DAUTOCACHE_BBOX=$(AUTOCACHE_BBOX) - -# memory debug for gcc 2.91, 2.95, 3.0 and 3.1 -# for gcc >= 3.2.2 set GLIBCPP_FORCE_NEW at runtime instead -#override CXXFLAGS += -D__USE_MALLOC - -#--------------------------------------------------------------- -# Add index selectivity to C flags +# PostGIS PGXS build system # -ifeq ($(USE_STATS),1) - override CFLAGS += -DUSE_STATS -endif - -override CFLAGS += $(CSTAR_FLAGS) -override CXXFLAGS += $(CSTAR_FLAGS) - -SA_OBJS=measures.o box2d.o ptarray.o lwgeom_api.o lwgeom.o lwpoint.o lwline.o lwpoly.o lwmpoint.o lwmline.o lwmpoly.o lwcollection.o $(GEOS_WRAPPER) $(JTS_WRAPPER) wktunparse.o lwgparse.o wktparse.tab.o lex.yy.o vsprintf.o - -OBJS=$(SA_OBJS) liblwgeom.o lwgeom_pg.o lwgeom_debug.o lwgeom_spheroid.o lwgeom_ogc.o lwgeom_functions_analytic.o $(JTS_OBJ) lwgeom_inout.o lwgeom_estimate.o lwgeom_functions_basic.o lwgeom_gist.o lwgeom_btree.o lwgeom_transform.o stringBuffer.o lwgeom_box.o lwgeom_box3d.o lwgeom_box2dfloat4.o lwgeom_chip.o lwgeom_svg.o lwgeom_gml.o lwgeom_kml.o lwgeom_geojson.o lwgeom_triggers.o lwgeom_dump.o lwgeom_functions_lrs.o long_xact.o lwcurve.o lwcompound.o lwcurvepoly.o lwmcurve.o lwmsurface.o lwgeom_sqlmm.o lwgeom_rtree.o - -#OTHERS=y.output lex.yy.c wktparse.tab.c wktparse.tab.h lwpostgis.sql -OTHERS=y.output postgis_geos_version.h - -all: $(GEOS_RULES) ../lwpostgis.sql ../regress/lwpostgis.sql ../lwpostgis_upgrade.sql all-shared-lib - -enable_shared=yes -include Makefile.shlib - -MODULE_FILENAME = $(LPATH)/lib$(NAME) -REGRESS_MODULE_FILENAME = $(shell $(PWDREGRESS))/$(shlib) - -#--------------------------------------------------------------- -# Makefile targets - -wktparse.tab.c: wktparse.y - $(YACC) -vd -p lwg_parse_yy wktparse.y - mv -f y.tab.c wktparse.tab.c - mv -f y.tab.h wktparse.tab.h - - -lex.yy.c: wktparse.lex wktparse.tab.c - $(FLEX) -Plwg_parse_yy -i -f -o'lex.yy.c' wktparse.lex - -lwgeom_jts_wrapper.o: lwgeom_jts_wrapper.cpp - -lwgeom_geos_c.o: lwgeom_geos_c.c profile.h - -lwgeom_jts.o: lwgeom_jts.c profile.h - -lwgeom_nojts.o: lwgeom_nojts.c - -lwgeom_functions_basic.o: lwgeom_functions_basic.c profile.h - -# Shared library stuff - -../lwpostgis_upgrade.sql: ../lwpostgis.sql ../utils/postgis_proc_upgrade.pl - $(PERL) ../utils/postgis_proc_upgrade.pl ../lwpostgis.sql > ../lwpostgis_upgrade.sql - -../lwpostgis.sql: lwpostgis.sql.in long_xact.sql.in sqlmm.sql.in sqldefines.h - cpp -P -traditional-cpp $(SQL_FLAGS) $< | 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 '^#' > $@ - -../regress/lwpostgis.sql: lwpostgis.sql.in long_xact.sql.in sqlmm.sql.in sqldefines.h - cpp -P -traditional-cpp $(SQL_FLAGS) $< | 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 '^#' > $@ - -install: all install-lib-shared install-lwgeom-scripts - -install-lwgeom-scripts: - @mkdir -p $(DESTDIR)$(datadir) - $(INSTALL_DATA) ../lwpostgis.sql $(DESTDIR)$(datadir)/lwpostgis.sql - $(INSTALL_DATA) ../lwpostgis_upgrade.sql $(DESTDIR)$(datadir)/lwpostgis_upgrade.sql - $(INSTALL_DATA) ../spatial_ref_sys.sql $(DESTDIR)$(datadir)/spatial_ref_sys.sql - -#---------------------------------------------------------- - -detect_geos_version: - sh ../geos_version.sh $(GEOS_DIR) > postgis_geos_version.h - -uninstall-lwgeom-scripts: - rm -f $(DESTDIR)$(datadir)/lwpostgis.sql - rm -f $(DESTDIR)$(datadir)/lwpostgis_upgrade.sql - rm -f $(DESTDIR)$(datadir)/spatial_ref_sys.sql - -uninstall: uninstall-lib uninstall-lwgeom-scripts - -clean-lwgeom-lib: clean-lib - -clean distclean: clean-lwgeom-lib - rm -f *.o *.so *.a ../lwpostgis.sql ../lwpostgis_upgrade.sql test $(OTHERS) - -maintainer-clean: clean - rm -f lex.yy.c wktparse.tab.c wktparse.tab.h - -liblwgeom_sa.o: liblwgeom.c - $(CC) -DSTANDALONE -o $@ -c $< - -liblwgeom_sa.so: $(SA_OBJS) liblwgeom_sa.o - $(CC) -shared -o $@ $^ - -liblwgeom_sa.a: $(SA_OBJS) liblwgeom_sa.o - $(AR) -rc $@ $^ - - -test: liblwgeom_sa.so liblwgeom_sa.a test.c - $(CC) -Wall -lm -g -o test test.c liblwgeom_sa.a +MODULE_big=lwpostgis + + +# Files to be copied to the contrib/ directory +DATA_built=lwpostgis.sql +DATA=../spatial_ref_sys.sql + +# SQL objects (files requiring C pre-processing) +SQL_OBJS=lwpostgis.sql.in + +# Standalone LWGEOM objects +SA_OBJS=measures.o \ + box2d.o \ + ptarray.o \ + lwgeom_api.o \ + lwgeom.o \ + lwpoint.o \ + lwline.o \ + lwpoly.o \ + lwmpoint.o \ + lwmline.o \ + lwmpoly.o \ + lwcollection.o \ + lwgeom_geos_c.o \ + wktunparse.o \ + lwgparse.o \ + wktparse.tab.o \ + lex.yy.o \ + vsprintf.o + +# PostgreSQL objects +PG_OBJS=liblwgeom.o \ + lwgeom_pg.o \ + lwgeom_debug.o \ + lwgeom_spheroid.o \ + lwgeom_ogc.o \ + lwgeom_functions_analytic.o \ + $(JTS_OBJ) \ + lwgeom_inout.o \ + lwgeom_estimate.o \ + lwgeom_functions_basic.o \ + lwgeom_gist.o \ + lwgeom_btree.o \ + lwgeom_transform.o \ + stringBuffer.o \ + lwgeom_box.o \ + lwgeom_box3d.o \ + lwgeom_box2dfloat4.o \ + lwgeom_chip.o \ + lwgeom_svg.o \ + lwgeom_gml.o \ + lwgeom_kml.o \ + lwgeom_geojson.o \ + lwgeom_triggers.o \ + lwgeom_dump.o \ + lwgeom_functions_lrs.o \ + long_xact.o \ + lwcurve.o \ + lwcompound.o \ + lwcurvepoly.o \ + lwmcurve.o \ + lwmsurface.o \ + lwgeom_sqlmm.o \ + lwgeom_rtree.o + +# Objects to build using PGXS +OBJS=$(SA_OBJS) $(PG_OBJS) + +# Libraries to link into the module (proj, geos) +SHLIB_LINK= -L/usr/lib -lgeos_c -lproj + +# Extra files to remove during 'make clean' +EXTRA_CLEAN=$(SQL_OBJS) + +# PGXS information +PG_CONFIG = pg_config +PGXS := $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) + + +# Generate any .sql.in files from .sql.in.c files by running them through the C pre-processor +$(SQL_OBJS): %.in: %.in.c + $(CPP) -traditional-cpp $< | grep -v '^#' > $@ -tsort: - lorder $(SA_OBJS) | tsort diff --git a/lwgeom/Makefile.in b/lwgeom/Makefile.in new file mode 100644 index 000000000..7a16c2e38 --- /dev/null +++ b/lwgeom/Makefile.in @@ -0,0 +1,87 @@ +# +# PostGIS PGXS build system +# +MODULE_big=lwpostgis + + +# Files to be copied to the contrib/ directory +DATA_built=lwpostgis.sql +DATA=../spatial_ref_sys.sql + +# SQL objects (files requiring C pre-processing) +SQL_OBJS=lwpostgis.sql.in + +# Standalone LWGEOM objects +SA_OBJS=measures.o \ + box2d.o \ + ptarray.o \ + lwgeom_api.o \ + lwgeom.o \ + lwpoint.o \ + lwline.o \ + lwpoly.o \ + lwmpoint.o \ + lwmline.o \ + lwmpoly.o \ + lwcollection.o \ + lwgeom_geos_c.o \ + wktunparse.o \ + lwgparse.o \ + wktparse.tab.o \ + lex.yy.o \ + vsprintf.o + +# PostgreSQL objects +PG_OBJS=liblwgeom.o \ + lwgeom_pg.o \ + lwgeom_debug.o \ + lwgeom_spheroid.o \ + lwgeom_ogc.o \ + lwgeom_functions_analytic.o \ + $(JTS_OBJ) \ + lwgeom_inout.o \ + lwgeom_estimate.o \ + lwgeom_functions_basic.o \ + lwgeom_gist.o \ + lwgeom_btree.o \ + lwgeom_transform.o \ + stringBuffer.o \ + lwgeom_box.o \ + lwgeom_box3d.o \ + lwgeom_box2dfloat4.o \ + lwgeom_chip.o \ + lwgeom_svg.o \ + lwgeom_gml.o \ + lwgeom_kml.o \ + lwgeom_geojson.o \ + lwgeom_triggers.o \ + lwgeom_dump.o \ + lwgeom_functions_lrs.o \ + long_xact.o \ + lwcurve.o \ + lwcompound.o \ + lwcurvepoly.o \ + lwmcurve.o \ + lwmsurface.o \ + lwgeom_sqlmm.o \ + lwgeom_rtree.o + +# Objects to build using PGXS +OBJS=$(SA_OBJS) $(PG_OBJS) + +# Libraries to link into the module (proj, geos) +SHLIB_LINK=@SHLIB_LINK@ + +# Extra files to remove during 'make clean' +EXTRA_CLEAN=$(SQL_OBJS) + +# PGXS information +PG_CONFIG = pg_config +PGXS := $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) + + +# Generate any .sql.in files from .sql.in.c files by running them through the C pre-processor +$(SQL_OBJS): %.in: %.in.c + $(CPP) -traditional-cpp $< | grep -v '^#' > $@ + diff --git a/lwgeom/Makefile.shlib b/lwgeom/Makefile.shlib deleted file mode 100644 index f61ba7d28..000000000 --- a/lwgeom/Makefile.shlib +++ /dev/null @@ -1,417 +0,0 @@ -#------------------------------------------------------------------------- -# -# Makefile.shlib -# Common rules for building shared libraries -# -# Copyright (c) 1998, Regents of the University of California -# -# IDENTIFICATION -# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.90 2004/11/20 21:13:04 tgl Exp $ -# -#------------------------------------------------------------------------- - -# This file should be included by any Postgres module Makefile that -# wants to build a shared library (if possible for the current -# platform). A static library is also built from the same object -# files. Only one library can be built per makefile. -# -# Before including this file, the module Makefile must define these -# variables: -# -# NAME Name of library to build (no suffix nor "lib" prefix) -# REL_MAJOR_VERSION Major version number to use for shared library -# REL_MINOR_VERSION Minor version number to use for shared library -# OBJS List of object files to include in library -# SHLIB_LINK If shared library relies on other libraries, -# additional stuff to put in its link command -# (If you want a patchlevel, include it in REL_MINOR_VERSION, e.g., "6.2".) -# -# Optional flags when building DLL's (only applicable to win32 and cygwin -# platforms). -# DLLTOOL_DEFFLAGS Additional flags when creating the dll .def file -# DLLTOOL_LIBFLAGS Additional flags when creating the lib.a file -# DLLWRAP_FLAGS Additional flags to dllwrap -# DLL_DEFFILE Use pre-existing .def file instead of auto-generating -# one with all exports in it (win32 only). -# -# The module Makefile must also include -# $(top_builddir)/src/Makefile.global before including this file. -# (Makefile.global sets PORTNAME and other needed symbols.) -# -# This makefile provides the following (phony) targets: -# -# all-lib build the static and shared (if applicable) libraries -# install-lib install the libraries into $(libdir) -# uninstall-lib remove the libraries from $(libdir) -# clean-lib delete the static and shared libraries from the build dir -# -# Since `all-lib' is the first rule in this file you probably want to -# have the `all' target before including this file. In the most simple -# case it would look like this: -# -# all: all-lib -# -# Similarly, the install rule might look like -# -# install: install-lib -# -# plus any additional things you want to install. Et cetera. -# -# Got that? Look at src/interfaces/libpq/Makefile for an example. -# -# While the linker allows creation of most shared libraries, -# -Bsymbolic requires resolution of all symbols, making the -# compiler a better choice for shared library creation on ELF platforms. -# With the linker, -Bsymbolic requires the crt1.o startup object file. -# bjm 2001-02-10 - - -COMPILER = $(CC) $(CFLAGS) -LINK.static = $(AR) $(AROPT) - - - -ifeq ($(enable_shared), yes) - -# Default shlib naming convention used by the majority of platforms -shlib = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION).$(REL_MINOR_VERSION) -shlib_major = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION) -shlib_bare = lib$(NAME)$(DLSUFFIX) - -# For each platform we support shared libraries on, set shlib to the -# name of the library (if default above is not right), set -# LINK.shared to the command to link the library, -# and adjust SHLIB_LINK if necessary. - -# Try to keep the sections in some kind of order, folks... - -override CFLAGS += $(CFLAGS_SL) - -soname = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION) - -ifeq ($(PORTNAME), aix) - shlib = lib$(NAME)$(DLSUFFIX) -# SHLIB_LINK += -lc -endif - -ifeq ($(PORTNAME), darwin) - ifneq ($(REL_MAJOR_VERSION), 0) - version_link := -compatibility_version $(REL_MAJOR_VERSION) -current_version $(REL_MAJOR_VERSION).$(REL_MINOR_VERSION) - endif - ifeq ($(DLTYPE), library) - # linkable library - DLSUFFIX := .dylib - LINK.shared = $(COMPILER) -dynamiclib -install_name $(libdir)/lib$(NAME).$(REL_MAJOR_VERSION)$(DLSUFFIX) $(version_link) -multiply_defined suppress - else - # loadable module (default case) - DLSUFFIX := .so - LINK.shared = $(COMPILER) -bundle - endif - shlib = lib$(NAME).$(REL_MAJOR_VERSION).$(REL_MINOR_VERSION)$(DLSUFFIX) - shlib_major = lib$(NAME).$(REL_MAJOR_VERSION)$(DLSUFFIX) -endif - -ifeq ($(PORTNAME), openbsd) - ifdef ELF_SYSTEM - LINK.shared = $(COMPILER) -shared -Wl,-x,-soname,$(soname) - SHLIB_LINK += -lc - else - LINK.shared = $(LD) -x -Bshareable -Bforcearchive - endif -endif - -ifeq ($(PORTNAME), bsdi) - ifeq ($(DLSUFFIX), .so) - LINK.shared = $(COMPILER) -shared -Wl,-x,-soname,$(soname) - SHLIB_LINK += -lc - endif - ifeq ($(DLSUFFIX), .o) - LINK.shared = shlicc -O $(LDREL) - endif -endif - -ifeq ($(PORTNAME), freebsd) - ifdef ELF_SYSTEM - shlib = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION) - LINK.shared = $(COMPILER) -shared -Wl,-x,-soname,$(soname) - else - shlib = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION).$(REL_MINOR_VERSION) - LINK.shared = $(LD) -x -Bshareable -Bforcearchive - endif -endif - -ifeq ($(PORTNAME), netbsd) - ifdef ELF_SYSTEM - LINK.shared = $(COMPILER) -shared -Wl,-x,-soname,$(soname) - else - LINK.shared = $(LD) -x -Bshareable -Bforcearchive - endif -endif - -ifeq ($(PORTNAME), hpux) - shlib = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION) - ifeq ($(GCC), yes) - SHLIB_LINK += `$(CC) $(LDFLAGS) -print-libgcc-file-name` - endif - ifeq ($(with_gnu_ld), yes) - LINK.shared = $(CC) $(LDFLAGS) -shared -Wl,-h -Wl,$(soname) - else - # can't use the CC-syntax rpath pattern here - rpath = - ifeq ($(enable_rpath), yes) - LINK.shared = $(LD) +h $(soname) -b +b $(rpathdir) - else - LINK.shared = $(LD) +h $(soname) -b - endif - endif -endif - -ifeq ($(PORTNAME), irix) - shlib = lib$(NAME)$(DLSUFFIX).$(REL_MAJOR_VERSION) - LINK.shared = $(COMPILER) -shared -Wl,-set_version,sgi$(REL_MAJOR_VERSION).$(REL_MINOR_VERSION) -endif - -ifeq ($(PORTNAME), linux) - LINK.shared = $(COMPILER) -shared -Wl,-soname,$(soname) -endif - -ifeq ($(PORTNAME), solaris) - ifeq ($(GCC), yes) - LINK.shared = $(CC) -shared - else - LINK.shared = $(CC) -G - endif - ifeq ($(with_gnu_ld), yes) - LINK.shared += -Wl,-soname,$(soname) - else - LINK.shared += -h $(soname) - endif -endif - -ifeq ($(PORTNAME), sunos4) - LINK.shared = $(LD) -assert pure-text -Bdynamic -endif - -ifeq ($(PORTNAME), osf) - LINK.shared = $(LD) -shared -expect_unresolved '*' -endif - -ifeq ($(PORTNAME), sco) - ifeq ($(GCC), yes) - LINK.shared = $(CC) -shared - else - LINK.shared = $(CC) -G - endif - LINK.shared += -Wl,-z,text -Wl,-h,$(soname) -endif - -ifeq ($(PORTNAME), svr4) - LINK.shared = $(LD) -G -endif - -ifeq ($(PORTNAME), univel) - LINK.shared = $(LD) -G -z text -endif - -ifeq ($(PORTNAME), unixware) - ifeq ($(GCC), yes) - LINK.shared = $(CC) -shared - else - LINK.shared = $(CC) -G - endif - LINK.shared += -Wl,-z,text -Wl,-h,$(soname) -endif - -ifeq ($(PORTNAME), cygwin) - shlib = $(NAME)$(DLSUFFIX) - # needed for /contrib modules, not sure why - SHLIB_LINK += $(LIBS) - haslibarule = yes -endif - -ifeq ($(PORTNAME), win32) - shlib = lib$(NAME)$(DLSUFFIX) - haslibarule = yes -endif - -ifeq ($(PORTNAME), beos) - shlib = lib$(NAME)$(DLSUFFIX) - LINK.shared = $(LD) -nostart - SHLIB_LINK += -ltermcap -lstdc++.r4 -lbind -lsocket -L/boot/develop/lib/x86 -endif - -SHLIB_LINK := $(filter -L%, $(LDFLAGS)) $(SHLIB_LINK) -ifeq ($(enable_rpath), yes) -SHLIB_LINK += $(rpath) -endif - -endif # enable_shared - - - -## -## BUILD -## - -.PHONY: all-lib all-static-lib all-shared-lib - -all-lib: all-static-lib all-shared-lib - -all-static-lib: lib$(NAME).a - -all-shared-lib: $(shlib) - -ifndef LORDER -MK_NO_LORDER := true -endif - -ifndef haslibarule -lib$(NAME).a: $(OBJS) -ifdef MK_NO_LORDER - $(LINK.static) $@ $^ -else - $(LINK.static) $@ `$(LORDER) $^ | tsort` -endif - $(RANLIB) $@ -endif #haslibarule - -ifeq ($(enable_shared), yes) - -ifneq ($(PORTNAME), win32) -ifneq ($(PORTNAME), cygwin) -ifneq ($(PORTNAME), beos) -ifneq ($(PORTNAME), aix) - -# Normal case -$(shlib): $(OBJS) - $(LINK.shared) $(LDFLAGS_SL) $(OBJS) $(SHLIB_LINK) -o $@ -# If we're using major and minor versions, then make a symlink to major-version-only. -ifneq ($(shlib), $(shlib_major)) - rm -f $(shlib_major) - $(LN_S) $(shlib) $(shlib_major) -endif -# Make sure we have a link to a name without any version numbers -ifneq ($(shlib), $(shlib_bare)) - rm -f $(shlib_bare) - $(LN_S) $(shlib) $(shlib_bare) -endif - -else # PORTNAME == aix - -# AIX case -$(shlib): lib$(NAME).a - $(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF) - $(COMPILER) $(LDFLAGS_SL) -o $@ $< $(LDFLAGS) $(SHLIB_LINK) -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) - -endif # PORTNAME == aix - -else # PORTNAME == beos - -# BEOS case -$(shlib): $(OBJS) - ln -fs $(top_srcdir)/src/backend/postgres _APP_ - $(CC) -Xlinker -soname=$@ $(LDFLAGS_SL) -o $@ _APP_ $(OBJS) $(SHLIB_LINK) - -endif # PORTNAME == beos - -else # PORTNAME == cygwin - -# Cygwin case -$(shlib) lib$(NAME).a: $(OBJS) -ifndef DLL_DEFFILE - $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS) - $(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK) - $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a -else - $(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(DLL_DEFFILE) $(OBJS) $(SHLIB_LINK) - $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib lib$(NAME).a -endif - -endif # PORTNAME == cygwin - -else # PORTNAME == win32 - -# win32 case -$(shlib) lib$(NAME).a: $(OBJS) -ifndef DLL_DEFFILE - $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS) - $(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK) - $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a -else - $(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(DLL_DEFFILE) $(OBJS) $(SHLIB_LINK) - $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib lib$(NAME).a -endif - -endif # PORTNAME == win32 - -endif # enable_shared - - -## -## INSTALL -## - -.PHONY: install-lib install-lib-static install-lib-shared -install-lib: install-lib-static install-lib-shared - -install-lib-static: lib$(NAME).a - $(INSTALL_STLIB) $< $(DESTDIR)$(libdir)/lib$(NAME).a -ifeq ($(PORTNAME), darwin) - cd $(DESTDIR)$(libdir) && \ - ranlib lib$(NAME).a -endif - -ifeq ($(enable_shared), yes) -install-lib-shared: $(shlib) - $(INSTALL_SHLIB) $< $(DESTDIR)$(libdir)/$(shlib) -ifneq ($(PORTNAME), cygwin) -ifneq ($(PORTNAME), win32) -ifneq ($(shlib), $(shlib_major)) - cd $(DESTDIR)$(libdir) && \ - rm -f $(shlib_major) && \ - $(LN_S) $(shlib) $(shlib_major) -endif -ifneq ($(shlib), $(shlib_bare)) - cd $(DESTDIR)$(libdir) && \ - rm -f $(shlib_bare) && \ - $(LN_S) $(shlib) $(shlib_bare) -endif -endif # not win32 -endif # not cygwin -endif # enable_shared - - -## -## UNINSTALL -## - -.PHONY: uninstall-lib -uninstall-lib: - rm -f $(DESTDIR)$(libdir)/lib$(NAME).a -ifeq ($(enable_shared), yes) - rm -f $(DESTDIR)$(libdir)/$(shlib_bare) \ - $(DESTDIR)$(libdir)/$(shlib_major) \ - $(DESTDIR)$(libdir)/$(shlib) -endif # enable_shared - - -## -## CLEAN -## - -.PHONY: clean-lib -clean-lib: - rm -f lib$(NAME).a -ifeq ($(enable_shared), yes) - rm -f $(shlib_bare) $(shlib_major) $(shlib) -ifdef EXPSUFF - rm -f lib$(NAME)$(EXPSUFF) -endif -endif -ifeq ($(PORTNAME), cygwin) - rm -f $(NAME).dll $(NAME).def -endif - -ifeq ($(PORTNAME), win32) - rm -f $(NAME).dll $(NAME).def -endif diff --git a/lwgeom/liblwgeom.c b/lwgeom/liblwgeom.c index ada3658c7..72c6973d5 100644 --- a/lwgeom/liblwgeom.c +++ b/lwgeom/liblwgeom.c @@ -15,6 +15,8 @@ #endif /* Global variables */ +#include "../postgis_config.h" + #if DEFAULT_CONTEXT == CONTEXT_SA #include "liblwgeom.h" lwallocator lwalloc_var = default_allocator; diff --git a/lwgeom/liblwgeom.h b/lwgeom/liblwgeom.h index 06c8a1135..8d2b495aa 100644 --- a/lwgeom/liblwgeom.h +++ b/lwgeom/liblwgeom.h @@ -34,8 +34,10 @@ typedef void (*lwfreeor)(void* mem); typedef void (*lwreporter)(const char* fmt, ...); #ifndef C_H + typedef unsigned int uint32; typedef int int32; + #endif /* diff --git a/lwgeom/long_xact.sql.in b/lwgeom/long_xact.sql.in index a6df7fde8..e0b3f7eae 100644 --- a/lwgeom/long_xact.sql.in +++ b/lwgeom/long_xact.sql.in @@ -211,12 +211,12 @@ CREATEFUNCTION CheckAuth(text, text) CREATEFUNCTION CheckAuthTrigger() RETURNS trigger AS - '@MODULE_FILENAME@', 'check_authorization' + 'MODULE_PATHNAME', 'check_authorization' LANGUAGE C; CREATEFUNCTION GetTransactionID() RETURNS xid AS - '@MODULE_FILENAME@', 'getTransactionID' + 'MODULE_PATHNAME', 'getTransactionID' LANGUAGE C; diff --git a/lwgeom/lwgeom_btree.c b/lwgeom/lwgeom_btree.c index 4fb6713e1..33ef62cd6 100644 --- a/lwgeom/lwgeom_btree.c +++ b/lwgeom/lwgeom_btree.c @@ -29,10 +29,10 @@ Datum lwgeom_cmp(PG_FUNCTION_ARGS); /* #define PGIS_DEBUG */ -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 #define BTREE_SRID_MISMATCH_SEVERITY NOTICE #else -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 #define BTREE_SRID_MISMATCH_SEVERITY WARNING #else #define BTREE_SRID_MISMATCH_SEVERITY ERROR diff --git a/lwgeom/lwgeom_dump.c b/lwgeom/lwgeom_dump.c index b4a0d673d..c27d18795 100644 --- a/lwgeom/lwgeom_dump.c +++ b/lwgeom/lwgeom_dump.c @@ -1,7 +1,9 @@ +#include "../postgis_config.h" + /* * This only works for PGSQL > 72 */ -#if USE_VERSION > 72 +#if POSTGIS_PGSQL_VERSION > 72 #include #include @@ -307,4 +309,4 @@ Datum LWGEOM_dump_rings(PG_FUNCTION_ARGS) } -#endif /* USE_VERSION > 72 */ +#endif /* POSTGIS_PGSQL_VERSION > 72 */ diff --git a/lwgeom/lwgeom_estimate.c b/lwgeom/lwgeom_estimate.c index 25de3f014..9aa2f2984 100644 --- a/lwgeom/lwgeom_estimate.c +++ b/lwgeom/lwgeom_estimate.c @@ -29,7 +29,7 @@ /*#define DEBUG_GEOMETRY_STATS 1*/ -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 #include "commands/vacuum.h" #include "utils/lsyscache.h" @@ -82,7 +82,7 @@ typedef struct GEOM_STATS_T static float8 estimate_selectivity(BOX2DFLOAT4 *box, GEOM_STATS *geomstats); -#endif /* USE_VERSION >= 80 */ +#endif /* POSTGIS_PGSQL_VERSION >= 80 */ #define SHOW_DIGS_DOUBLE 15 #define MAX_DIGS_DOUBLE (SHOW_DIGS_DOUBLE + 6 + 1 + 3 +1) @@ -136,7 +136,7 @@ Datum estimate_lwhistogram2d(PG_FUNCTION_ARGS); Datum LWGEOM_gist_sel(PG_FUNCTION_ARGS); Datum LWGEOM_gist_joinsel(PG_FUNCTION_ARGS); Datum LWGEOM_estimated_extent(PG_FUNCTION_ARGS); -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 Datum LWGEOM_analyze(PG_FUNCTION_ARGS); #endif @@ -405,7 +405,7 @@ Datum build_lwhistogram2d(PG_FUNCTION_ARGS) PG_RETURN_NULL() ; } -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 SPIportal = SPI_cursor_open(NULL, SPIplan, NULL, NULL, 1); #else SPIportal = SPI_cursor_open(NULL, SPIplan, NULL, NULL); @@ -765,7 +765,7 @@ elog(NOTICE," search is in x: %i to %i y: %i to %i",x_idx_min, x_idx_max, y_id } -#if ! REALLY_DO_JOINSEL || USE_VERSION < 80 +#if ! REALLY_DO_JOINSEL || POSTGIS_PGSQL_VERSION < 80 /* * JOIN selectivity in the GiST && operator * for all PG versions @@ -780,7 +780,7 @@ Datum LWGEOM_gist_joinsel(PG_FUNCTION_ARGS) PG_RETURN_FLOAT8(DEFAULT_GEOMETRY_JOINSEL); } -#else /* REALLY_DO_JOINSEL && USE_VERSION >= 80 */ +#else /* REALLY_DO_JOINSEL && POSTGIS_PGSQL_VERSION >= 80 */ int calculate_column_intersection(BOX2DFLOAT4 *search_box, GEOM_STATS *geomstats1, GEOM_STATS *geomstats2); @@ -817,7 +817,7 @@ calculate_column_intersection(BOX2DFLOAT4 *search_box, GEOM_STATS *geomstats1, G PG_FUNCTION_INFO_V1(LWGEOM_gist_joinsel); Datum LWGEOM_gist_joinsel(PG_FUNCTION_ARGS) { -#if USE_VERSION < 81 +#if POSTGIS_PGSQL_VERSION < 81 Query *root = (Query *) PG_GETARG_POINTER(0); #else PlannerInfo *root = (PlannerInfo *) PG_GETARG_POINTER(0); @@ -881,7 +881,7 @@ Datum LWGEOM_gist_joinsel(PG_FUNCTION_ARGS) var1 = (Var *)arg1; var2 = (Var *)arg2; -#if USE_VERSION < 81 +#if POSTGIS_PGSQL_VERSION < 81 relid1 = getrelid(var1->varno, root->rtable); relid2 = getrelid(var2->varno, root->rtable); #else @@ -1052,7 +1052,7 @@ Datum LWGEOM_gist_joinsel(PG_FUNCTION_ARGS) /**************************** FROM POSTGIS ****************/ -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 /* * get_restriction_var * Examine the args of a restriction clause to see if it's of the @@ -1139,7 +1139,7 @@ Datum LWGEOM_gist_sel(PG_FUNCTION_ARGS) double myest; -#ifndef USE_STATS +#ifndef POSTGIS_USE_STATS PG_RETURN_FLOAT8(DEFAULT_GEOMETRY_SEL); #endif @@ -1432,7 +1432,7 @@ Datum LWGEOM_estimated_extent(PG_FUNCTION_ARGS) PG_RETURN_POINTER(box); } -#else /* USE_VERSION >= 80 */ +#else /* POSTGIS_PGSQL_VERSION >= 80 */ /* * This function returns an estimate of the selectivity @@ -1693,7 +1693,7 @@ elog(NOTICE, " avg feat overlaps %f cells", avg_feat_cells); PG_FUNCTION_INFO_V1(LWGEOM_gist_sel); Datum LWGEOM_gist_sel(PG_FUNCTION_ARGS) { -#if USE_VERSION < 81 +#if POSTGIS_PGSQL_VERSION < 81 Query *root = (Query *) PG_GETARG_POINTER(0); #else PlannerInfo *root = (PlannerInfo *) PG_GETARG_POINTER(0); @@ -1788,7 +1788,7 @@ Datum LWGEOM_gist_sel(PG_FUNCTION_ARGS) * Get pg_statistic row */ -#if USE_VERSION < 81 +#if POSTGIS_PGSQL_VERSION < 81 /* relid = getrelid(varRelid, root->rtable); */ relid = getrelid(self->varno, root->rtable); #else @@ -2626,7 +2626,7 @@ Datum LWGEOM_estimated_extent(PG_FUNCTION_ARGS) } -#endif /* USE_VERSION >= 80 */ +#endif /* POSTGIS_PGSQL_VERSION >= 80 */ /********************************************************************** diff --git a/lwgeom/lwgeom_functions_basic.c b/lwgeom/lwgeom_functions_basic.c index cf660ef66..a356a37b4 100644 --- a/lwgeom/lwgeom_functions_basic.c +++ b/lwgeom/lwgeom_functions_basic.c @@ -180,7 +180,7 @@ Datum postgis_uses_stats(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(postgis_autocache_bbox); Datum postgis_autocache_bbox(PG_FUNCTION_ARGS) { -#ifdef AUTOCACHE_BBOX +#ifdef POSTGIS_AUTOCACHE_BBOX PG_RETURN_BOOL(TRUE); #else PG_RETURN_BOOL(FALSE); @@ -1858,13 +1858,13 @@ Datum LWGEOM_accum(PG_FUNCTION_ARGS) Datum datum; PG_LWGEOM *geom; ArrayType *result; -#if USE_VERSION > 72 -# if USE_VERSION == 73 +#if POSTGIS_PGSQL_VERSION > 72 +# if POSTGIS_PGSQL_VERSION == 73 Oid oid = getGeometryOID(); -# else /* USE_VERSION > 73 */ +# else /* POSTGIS_PGSQL_VERSION > 73 */ Oid oid = get_fn_expr_argtype(fcinfo->flinfo, 1); -# endif /* USE_VERSION > 73 */ -#endif /* USE_VERSION > 72 */ +# endif /* POSTGIS_PGSQL_VERSION > 73 */ +#endif /* POSTGIS_PGSQL_VERSION > 72 */ #ifdef PGIS_DEBUG @@ -1926,10 +1926,10 @@ Datum LWGEOM_accum(PG_FUNCTION_ARGS) SET_VARSIZE(result, nbytes); result->ndim = 1; -#if USE_VERSION > 72 +#if POSTGIS_PGSQL_VERSION > 72 result->elemtype = oid; #endif -#if USE_VERSION > 81 +#if POSTGIS_PGSQL_VERSION > 81 result->dataoffset = 0; #endif memcpy(ARR_DIMS(result), &nelems, sizeof(int)); diff --git a/lwgeom/lwgeom_geos_c.c b/lwgeom/lwgeom_geos_c.c index 440b4e009..9c2f37402 100644 --- a/lwgeom/lwgeom_geos_c.c +++ b/lwgeom/lwgeom_geos_c.c @@ -1,9 +1,10 @@ +#include "../postgis_config.h" + #include "postgres.h" #include "utils/array.h" #include "utils/builtins.h" #include "fmgr.h" - #include "lwgeom_pg.h" #include "liblwgeom.h" #include "profile.h" @@ -752,7 +753,7 @@ Datum convexhull(PG_FUNCTION_ARGS) } -#if GEOS_VERNUM >= 30 +#if POSTGIS_GEOS_VERSION >= 30 PG_FUNCTION_INFO_V1(topologypreservesimplify); Datum topologypreservesimplify(PG_FUNCTION_ARGS) diff --git a/lwgeom/lwgeom_gist.c b/lwgeom/lwgeom_gist.c index c32d016e5..7397ee6cf 100644 --- a/lwgeom/lwgeom_gist.c +++ b/lwgeom/lwgeom_gist.c @@ -4,16 +4,19 @@ #include #include +#include "../postgis_config.h" + #include "postgres.h" #include "access/gist.h" #include "access/itup.h" -#if USE_VERSION > 80 +#if POSTGIS_PGSQL_VERSION > 80 #include "access/skey.h" #endif #include "fmgr.h" #include "utils/elog.h" #include "liblwgeom.h" + #include "lwgeom_pg.h" #include "stringBuffer.h" @@ -542,7 +545,7 @@ Datum LWGEOM_gist_compress(PG_FUNCTION_ARGS) if (in != (PG_LWGEOM*)DatumGetPointer(entry->key)) pfree(in); /* PG_FREE_IF_COPY */ -#if USE_VERSION >= 82 +#if POSTGIS_PGSQL_VERSION >= 82 gistentryinit(*retval, PointerGetDatum(rr), entry->rel, entry->page, entry->offset, @@ -562,7 +565,7 @@ Datum LWGEOM_gist_compress(PG_FUNCTION_ARGS) elog(NOTICE,"GIST: LWGEOM_gist_compress got a NULL key"); #endif -#if USE_VERSION >= 82 +#if POSTGIS_PGSQL_VERSION >= 82 gistentryinit(*retval, (Datum) 0, entry->rel, entry->page, entry->offset, FALSE); #else @@ -807,7 +810,7 @@ Datum LWGEOM_gist_decompress(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(LWGEOM_gist_union); Datum LWGEOM_gist_union(PG_FUNCTION_ARGS) { -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 bytea *entryvec = (bytea *) PG_GETARG_POINTER(0); #else GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0); @@ -822,7 +825,7 @@ Datum LWGEOM_gist_union(PG_FUNCTION_ARGS) elog(NOTICE,"GIST: LWGEOM_gist_union called\n"); #endif -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 numranges = (VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY); cur = (BOX2DFLOAT4 *) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[0].key); #else @@ -837,7 +840,7 @@ Datum LWGEOM_gist_union(PG_FUNCTION_ARGS) for (i = 1; i < numranges; i++) { -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 cur = (BOX2DFLOAT4*) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[i].key); #else cur = (BOX2DFLOAT4*) DatumGetPointer(entryvec->vector[i].key); @@ -1030,7 +1033,7 @@ Datum LWGEOM_gist_same(PG_FUNCTION_ARGS) PG_FUNCTION_INFO_V1(LWGEOM_gist_picksplit); Datum LWGEOM_gist_picksplit(PG_FUNCTION_ARGS) { -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 bytea *entryvec = (bytea *) PG_GETARG_POINTER(0); #else GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0); @@ -1053,7 +1056,7 @@ Datum LWGEOM_gist_picksplit(PG_FUNCTION_ARGS) posL = posR = posB = posT = 0; -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 maxoff = ((VARSIZE(entryvec) - VARHDRSZ) / sizeof(GISTENTRY)) - 1; cur = (BOX2DFLOAT4*) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[FirstOffsetNumber].key); #else @@ -1071,7 +1074,7 @@ elog(NOTICE," cur is: <%.16g %.16g,%.16g %.16g>", cur->xmin, cur->ymin, cur->x /* find MBR */ for (i = OffsetNumberNext(FirstOffsetNumber); i <= maxoff; i = OffsetNumberNext(i)) { -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 cur = (BOX2DFLOAT4*) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[i].key); #else cur = (BOX2DFLOAT4 *) DatumGetPointer(entryvec->vector[i].key); @@ -1111,7 +1114,7 @@ elog(NOTICE," pageunion is: <%.16g %.16g,%.16g %.16g>", pageunion.xmin, pageun #ifdef PGIS_DEBUG_GIST6 elog(NOTICE," AllIsEqual!"); #endif -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 cur = (BOX2DFLOAT4*) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[OffsetNumberNext(FirstOffsetNumber)].key); #else cur = (BOX2DFLOAT4*) DatumGetPointer(entryvec->vector[OffsetNumberNext(FirstOffsetNumber)].key); @@ -1167,7 +1170,7 @@ elog(NOTICE," AllIsEqual!"); for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) { -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 cur = (BOX2DFLOAT4*) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[i].key); #else cur = (BOX2DFLOAT4*) DatumGetPointer(entryvec->vector[i].key); @@ -1196,7 +1199,7 @@ elog(NOTICE," unionB is: <%.16g %.16g,%.16g %.16g>", unionB->xmin, unionB->ymi KBsort *arr = (KBsort*)palloc( sizeof(KBsort) * maxoff ); posL = posR = posB = posT = 0; for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) { -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 arr[i-1].key = (BOX2DFLOAT4*) DatumGetPointer(((GISTENTRY *) VARDATA(entryvec))[i].key); #else arr[i-1].key = (BOX2DFLOAT4*) DatumGetPointer(entryvec->vector[i].key); diff --git a/lwgeom/lwgeom_inout.c b/lwgeom/lwgeom_inout.c index 8294d94ee..36a613d34 100644 --- a/lwgeom/lwgeom_inout.c +++ b/lwgeom/lwgeom_inout.c @@ -1,3 +1,5 @@ +#include "../postgis_config.h" + #include "postgres.h" #include @@ -13,7 +15,7 @@ #include "fmgr.h" #include "utils/elog.h" -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 # include "lib/stringinfo.h" /* for binary input */ #endif @@ -37,7 +39,7 @@ Datum LWGEOM_to_text(PG_FUNCTION_ARGS); Datum LWGEOM_to_bytea(PG_FUNCTION_ARGS); Datum LWGEOM_from_bytea(PG_FUNCTION_ARGS); Datum parse_WKT_lwgeom(PG_FUNCTION_ARGS); -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 Datum LWGEOM_recv(PG_FUNCTION_ARGS); Datum LWGEOM_send(PG_FUNCTION_ARGS); #endif @@ -404,7 +406,7 @@ Datum LWGEOM_addBBOX(PG_FUNCTION_ARGS) char is_worth_caching_pglwgeom_bbox(const PG_LWGEOM *in) { -#if ! AUTOCACHE_BBOX +#if ! POSTGIS_AUTOCACHE_BBOX return false; #endif if ( TYPE_GETTYPE(in->type) == POINTTYPE ) return false; @@ -414,7 +416,7 @@ is_worth_caching_pglwgeom_bbox(const PG_LWGEOM *in) char is_worth_caching_serialized_bbox(const uchar *in) { -#if ! AUTOCACHE_BBOX +#if ! POSTGIS_AUTOCACHE_BBOX return false; #endif if ( TYPE_GETTYPE((uchar)in[0]) == POINTTYPE ) return false; @@ -424,7 +426,7 @@ is_worth_caching_serialized_bbox(const uchar *in) char is_worth_caching_lwgeom_bbox(const LWGEOM *in) { -#if ! AUTOCACHE_BBOX +#if ! POSTGIS_AUTOCACHE_BBOX return false; #endif if ( TYPE_GETTYPE(in->type) == POINTTYPE ) return false; @@ -537,7 +539,7 @@ Datum parse_WKT_lwgeom(PG_FUNCTION_ARGS) } -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 /* * This function must advance the StringInfo.cursor pointer * and leave it at the end of StringInfo.buf. If it fails @@ -604,7 +606,7 @@ Datum LWGEOM_send(PG_FUNCTION_ARGS) } -#endif /* USE_VERSION > 73 */ +#endif /* POSTGIS_PGSQL_VERSION > 73 */ PG_FUNCTION_INFO_V1(LWGEOM_to_bytea); Datum LWGEOM_to_bytea(PG_FUNCTION_ARGS) diff --git a/lwgeom/lwgeom_pg.c b/lwgeom/lwgeom_pg.c index 67cd6b0fc..57ab58976 100644 --- a/lwgeom/lwgeom_pg.c +++ b/lwgeom/lwgeom_pg.c @@ -1,3 +1,5 @@ +#include "../postgis_config.h" + #include #include #include @@ -114,7 +116,7 @@ pglwgeom_serialize(LWGEOM *in) size_t size; PG_LWGEOM *result; -#if AUTOCACHE_BBOX +#if POSTGIS_AUTOCACHE_BBOX if ( ! in->bbox && is_worth_caching_lwgeom_bbox(in) ) { lwgeom_addBBOX(in); diff --git a/lwgeom/lwgeom_pg.h b/lwgeom/lwgeom_pg.h index 51bc58db3..43237b149 100644 --- a/lwgeom/lwgeom_pg.h +++ b/lwgeom/lwgeom_pg.h @@ -1,6 +1,7 @@ #ifndef _LWGEOM_PG_H #define _LWGEOM_PG_H 1 +#include "../postgis_config.h" #include "postgres.h" #include "utils/geo_decls.h" #include "fmgr.h" @@ -11,7 +12,7 @@ #define PG_NARGS() (fcinfo->nargs) #endif -#if USE_VERSION < 82 +#if POSTGIS_PGSQL_VERSION < 82 #define ARR_OVERHEAD_NONULLS(x) ARR_OVERHEAD((x)) #endif diff --git a/lwgeom/lwgeom_transform.c b/lwgeom/lwgeom_transform.c index 7c966b8a1..dd4654cf0 100644 --- a/lwgeom/lwgeom_transform.c +++ b/lwgeom/lwgeom_transform.c @@ -28,8 +28,8 @@ Datum transform(PG_FUNCTION_ARGS); Datum transform_geom(PG_FUNCTION_ARGS); Datum postgis_proj_version(PG_FUNCTION_ARGS); -/* if USE_PROJECTION undefined, we get a do-nothing transform() function */ -#ifndef USE_PROJ +/* if POSTGIS_PROJ_VERSION undefined, we get a do-nothing transform() function */ +#ifndef POSTGIS_PROJ_VERSION PG_FUNCTION_INFO_V1(transform); Datum transform(PG_FUNCTION_ARGS) @@ -53,7 +53,7 @@ Datum postgis_proj_version(PG_FUNCTION_ARGS) PG_RETURN_NULL(); } -#else /* defined USE_PROJ */ +#else /* defined POSTGIS_PROJ_VERSION */ #include "projects.h" #include "utils/memutils.h" @@ -122,13 +122,13 @@ typedef struct struct_PJHashEntry /* PJ Hash API */ -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 long mcxt_ptr_hash(void *key, int keysize); #endif -#if USE_VERSION == 73 +#if POSTGIS_PGSQL_VERSION == 73 uint32 mcxt_ptr_hash(void *key, int keysize); #endif -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 uint32 mcxt_ptr_hash(const void *key, Size keysize); #endif @@ -159,7 +159,7 @@ static void PROJ4SRSCacheCheck(MemoryContext context); /* Memory context definition must match the current version of PostgreSQL */ -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 static MemoryContextMethods PROJ4SRSCacheContextMethods = { NULL, NULL, @@ -174,7 +174,7 @@ static MemoryContextMethods PROJ4SRSCacheContextMethods = { }; #endif -#if USE_VERSION == 73 || USE_VERSION == 74 +#if POSTGIS_PGSQL_VERSION == 73 || POSTGIS_PGSQL_VERSION == 74 static MemoryContextMethods PROJ4SRSCacheContextMethods = { NULL, NULL, @@ -190,7 +190,7 @@ static MemoryContextMethods PROJ4SRSCacheContextMethods = { }; #endif -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 static MemoryContextMethods PROJ4SRSCacheContextMethods = { NULL, NULL, @@ -291,13 +291,13 @@ PROJ4SRSCacheCheck(MemoryContext context) * has changed over the years.... */ -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 long mcxt_ptr_hash(void *key, int keysize) #endif -#if USE_VERSION == 73 +#if POSTGIS_PGSQL_VERSION == 73 uint32 mcxt_ptr_hash(void *key, int keysize) #endif -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 uint32 mcxt_ptr_hash(const void *key, Size keysize) #endif { @@ -582,7 +582,7 @@ void DeleteFromPROJ4SRSCache(PROJ4PortalCache *PROJ4Cache, int srid) */ void SetPROJ4LibPath() { -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 char *path; const char **proj_lib_path; diff --git a/lwgeom/lwpostgis.sql.in b/lwgeom/lwpostgis.sql.in.c similarity index 88% rename from lwgeom/lwpostgis.sql.in rename to lwgeom/lwpostgis.sql.in.c index 9ace8d05f..6ecaea6b7 100644 --- a/lwgeom/lwpostgis.sql.in +++ b/lwgeom/lwpostgis.sql.in.c @@ -1,6 +1,6 @@ -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- --- $Id$ +-- $Id: lwpostgis.sql.in 2772 2008-04-24 01:04:52Z pramsey $ -- -- PostGIS - Spatial Types for PostgreSQL -- http://postgis.refractions.net @@ -27,7 +27,7 @@ BEGIN; -- HISTOGRAM2D TYPE (lwhistogram2d) ------------------------------------------------------------------- -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 # define HISTOGRAM_IN_REP opaque # define HISTOGRAM_OUT_REP opaque #else @@ -38,25 +38,25 @@ BEGIN; -- Deprecation in 1.2.3 CREATEFUNCTION histogram2d_in(HISTOGRAM_OUT_REP) RETURNS HISTOGRAM_IN_REP - AS '@MODULE_FILENAME@', 'lwhistogram2d_in' + AS 'MODULE_PATHNAME', 'lwhistogram2d_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_histogram2d_in(HISTOGRAM_OUT_REP) RETURNS HISTOGRAM_IN_REP - AS '@MODULE_FILENAME@', 'lwhistogram2d_in' + AS 'MODULE_PATHNAME', 'lwhistogram2d_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION histogram2d_out(HISTOGRAM_IN_REP) RETURNS HISTOGRAM_OUT_REP - AS '@MODULE_FILENAME@', 'lwhistogram2d_out' + AS 'MODULE_PATHNAME', 'lwhistogram2d_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_histogram2d_out(HISTOGRAM_IN_REP) RETURNS HISTOGRAM_OUT_REP - AS '@MODULE_FILENAME@', 'lwhistogram2d_out' + AS 'MODULE_PATHNAME', 'lwhistogram2d_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); CREATE TYPE histogram2d ( @@ -71,7 +71,7 @@ CREATE TYPE histogram2d ( -- SPHEROID TYPE ------------------------------------------------------------------- -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 # define SPHEROID_IN_REP opaque # define SPHEROID_OUT_REP opaque #else @@ -82,25 +82,25 @@ CREATE TYPE histogram2d ( -- Deprecation in 1.2.3 CREATEFUNCTION spheroid_in(SPHEROID_OUT_REP) RETURNS SPHEROID_IN_REP - AS '@MODULE_FILENAME@','ellipsoid_in' + AS 'MODULE_PATHNAME','ellipsoid_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_spheroid_in(SPHEROID_OUT_REP) RETURNS SPHEROID_IN_REP - AS '@MODULE_FILENAME@','ellipsoid_in' + AS 'MODULE_PATHNAME','ellipsoid_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION spheroid_out(SPHEROID_IN_REP) RETURNS SPHEROID_OUT_REP - AS '@MODULE_FILENAME@','ellipsoid_out' + AS 'MODULE_PATHNAME','ellipsoid_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_spheroid_out(SPHEROID_IN_REP) RETURNS SPHEROID_OUT_REP - AS '@MODULE_FILENAME@','ellipsoid_out' + AS 'MODULE_PATHNAME','ellipsoid_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); CREATE TYPE spheroid ( @@ -114,7 +114,7 @@ CREATE TYPE spheroid ( -- GEOMETRY TYPE (lwgeom) ------------------------------------------------------------------- -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 # define GEOMETRY_IN_REP opaque # define GEOMETRY_OUT_REP opaque #else @@ -125,64 +125,64 @@ CREATE TYPE spheroid ( -- Deprecation in 1.2.3 CREATEFUNCTION geometry_in(GEOMETRY_OUT_REP) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_in' + AS 'MODULE_PATHNAME','LWGEOM_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_in(GEOMETRY_OUT_REP) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_in' + AS 'MODULE_PATHNAME','LWGEOM_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_out(GEOMETRY_IN_REP) RETURNS cstring - AS '@MODULE_FILENAME@','LWGEOM_out' + AS 'MODULE_PATHNAME','LWGEOM_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_out(GEOMETRY_IN_REP) RETURNS cstring - AS '@MODULE_FILENAME@','LWGEOM_out' + AS 'MODULE_PATHNAME','LWGEOM_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 -- Deprecation in 1.2.3 CREATEFUNCTION geometry_analyze(internal) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_analyze' + AS 'MODULE_PATHNAME', 'LWGEOM_analyze' LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_analyze(internal) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_analyze' + AS 'MODULE_PATHNAME', 'LWGEOM_analyze' LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict); #endif -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 -- Deprecation in 1.2.3 CREATEFUNCTION geometry_recv(internal) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_recv' + AS 'MODULE_PATHNAME','LWGEOM_recv' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_recv(internal) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_recv' + AS 'MODULE_PATHNAME','LWGEOM_recv' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_send(geometry) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_send' + AS 'MODULE_PATHNAME','LWGEOM_send' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_send(geometry) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_send' + AS 'MODULE_PATHNAME','LWGEOM_send' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); #endif @@ -190,12 +190,12 @@ CREATE TYPE geometry ( internallength = variable, input = ST_geometry_in, output = ST_geometry_out, -#if USE_VERSION > 73 +#if POSTGIS_PGSQL_VERSION > 73 send = ST_geometry_send, receive = ST_geometry_recv, #endif delimiter = ':', -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 analyze = ST_geometry_analyze, #endif storage = main @@ -209,13 +209,13 @@ CREATE TYPE geometry ( -- Deprecation in 1.2.3 CREATE OR REPLACE FUNCTION Affine(geometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_affine' + AS 'MODULE_PATHNAME', 'LWGEOM_affine' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATE OR REPLACE FUNCTION ST_Affine(geometry,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8,float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_affine' + AS 'MODULE_PATHNAME', 'LWGEOM_affine' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.1.2 @@ -352,20 +352,20 @@ CREATEFUNCTION ST_transscale(geometry,float8,float8,float8,float8) -- Deprecation in 1.2.3 CREATEFUNCTION shift_longitude(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_longitude_shift' + AS 'MODULE_PATHNAME', 'LWGEOM_longitude_shift' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATEFUNCTION ST_shift_longitude(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_longitude_shift' + AS 'MODULE_PATHNAME', 'LWGEOM_longitude_shift' LANGUAGE 'C' _IMMUTABLE_STRICT; ------------------------------------------------------------------- -- BOX3D TYPE ------------------------------------------------------------------- -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 # define BOX3D_IN_REP opaque # define BOX3D_OUT_REP opaque #else @@ -376,25 +376,25 @@ CREATEFUNCTION ST_shift_longitude(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION box3d_in(BOX3D_OUT_REP) RETURNS BOX3D_IN_REP - AS '@MODULE_FILENAME@', 'BOX3D_in' + AS 'MODULE_PATHNAME', 'BOX3D_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION box3d_out(BOX3D_IN_REP) RETURNS BOX3D_OUT_REP - AS '@MODULE_FILENAME@', 'BOX3D_out' + AS 'MODULE_PATHNAME', 'BOX3D_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_box3d_in(BOX3D_OUT_REP) RETURNS BOX3D_IN_REP - AS '@MODULE_FILENAME@', 'BOX3D_in' + AS 'MODULE_PATHNAME', 'BOX3D_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_box3d_out(BOX3D_IN_REP) RETURNS BOX3D_OUT_REP - AS '@MODULE_FILENAME@', 'BOX3D_out' + AS 'MODULE_PATHNAME', 'BOX3D_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); CREATE TYPE box3d ( @@ -407,80 +407,80 @@ CREATE TYPE box3d ( -- Deprecation in 1.2.3 CREATEFUNCTION xmin(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_xmin' + AS 'MODULE_PATHNAME','BOX3D_xmin' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_XMin(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_xmin' + AS 'MODULE_PATHNAME','BOX3D_xmin' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION ymin(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_ymin' + AS 'MODULE_PATHNAME','BOX3D_ymin' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_YMin(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_ymin' + AS 'MODULE_PATHNAME','BOX3D_ymin' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION zmin(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_zmin' + AS 'MODULE_PATHNAME','BOX3D_zmin' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_ZMin(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_zmin' + AS 'MODULE_PATHNAME','BOX3D_zmin' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION xmax(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_xmax' + AS 'MODULE_PATHNAME','BOX3D_xmax' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_XMax(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_xmax' + AS 'MODULE_PATHNAME','BOX3D_xmax' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION ymax(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_ymax' + AS 'MODULE_PATHNAME','BOX3D_ymax' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_YMax(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_ymax' + AS 'MODULE_PATHNAME','BOX3D_ymax' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION zmax(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_zmax' + AS 'MODULE_PATHNAME','BOX3D_zmax' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_ZMax(box3d) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','BOX3D_zmax' + AS 'MODULE_PATHNAME','BOX3D_zmax' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); ------------------------------------------------------------------- -- CHIP TYPE ------------------------------------------------------------------- -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 # define CHIP_IN_REP opaque # define CHIP_OUT_REP opaque #else @@ -491,25 +491,25 @@ CREATEFUNCTION ST_ZMax(box3d) -- Deprecation in 1.2.3 CREATEFUNCTION chip_in(CHIP_OUT_REP) RETURNS CHIP_IN_REP - AS '@MODULE_FILENAME@','CHIP_in' + AS 'MODULE_PATHNAME','CHIP_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_chip_in(CHIP_OUT_REP) RETURNS CHIP_IN_REP - AS '@MODULE_FILENAME@','CHIP_in' + AS 'MODULE_PATHNAME','CHIP_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION chip_out(CHIP_IN_REP) RETURNS CHIP_OUT_REP - AS '@MODULE_FILENAME@','CHIP_out' + AS 'MODULE_PATHNAME','CHIP_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_chip_out(CHIP_IN_REP) RETURNS CHIP_OUT_REP - AS '@MODULE_FILENAME@','CHIP_out' + AS 'MODULE_PATHNAME','CHIP_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); CREATE TYPE chip ( @@ -525,7 +525,7 @@ CREATE TYPE chip ( ----------------------------------------------------------------------- -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 # define BOX2D_IN_REP opaque # define BOX2D_OUT_REP opaque #else @@ -536,25 +536,25 @@ CREATE TYPE chip ( -- Deprecation in 1.2.3 CREATEFUNCTION box2d_in(BOX2D_OUT_REP) RETURNS box2d - AS '@MODULE_FILENAME@','BOX2DFLOAT4_in' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_in(BOX2D_OUT_REP) RETURNS box2d - AS '@MODULE_FILENAME@','BOX2DFLOAT4_in' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_in' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_out(BOX2D_IN_REP) RETURNS cstring - AS '@MODULE_FILENAME@','BOX2DFLOAT4_out' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_out(BOX2D_IN_REP) RETURNS cstring - AS '@MODULE_FILENAME@','BOX2DFLOAT4_out' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_out' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); CREATE TYPE box2d ( @@ -569,109 +569,109 @@ CREATE TYPE box2d ( -- Deprecation in 1.2.3 CREATEFUNCTION box2d_overleft(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_overleft' + AS 'MODULE_PATHNAME', 'BOX2D_overleft' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_overleft(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_overleft' + AS 'MODULE_PATHNAME', 'BOX2D_overleft' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_overright(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_overright' + AS 'MODULE_PATHNAME', 'BOX2D_overright' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_overright(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_overright' + AS 'MODULE_PATHNAME', 'BOX2D_overright' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_left(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_left' + AS 'MODULE_PATHNAME', 'BOX2D_left' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_left(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_left' + AS 'MODULE_PATHNAME', 'BOX2D_left' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_right(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_right' + AS 'MODULE_PATHNAME', 'BOX2D_right' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_right(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_right' + AS 'MODULE_PATHNAME', 'BOX2D_right' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_contain(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_contain' + AS 'MODULE_PATHNAME', 'BOX2D_contain' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_contain(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_contain' + AS 'MODULE_PATHNAME', 'BOX2D_contain' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_contained(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_contained' + AS 'MODULE_PATHNAME', 'BOX2D_contained' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_contained(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_contained' + AS 'MODULE_PATHNAME', 'BOX2D_contained' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_overlap(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_overlap' + AS 'MODULE_PATHNAME', 'BOX2D_overlap' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_overlap(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_overlap' + AS 'MODULE_PATHNAME', 'BOX2D_overlap' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_same(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_same' + AS 'MODULE_PATHNAME', 'BOX2D_same' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_same(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_same' + AS 'MODULE_PATHNAME', 'BOX2D_same' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d_intersects(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_intersects' + AS 'MODULE_PATHNAME', 'BOX2D_intersects' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d_intersects(box2d, box2d) RETURNS bool - AS '@MODULE_FILENAME@', 'BOX2D_intersects' + AS 'MODULE_PATHNAME', 'BOX2D_intersects' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); @@ -684,73 +684,73 @@ CREATEFUNCTION ST_box2d_intersects(box2d, box2d) -- Deprecation in 1.2.3 CREATEFUNCTION geometry_lt(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_lt' + AS 'MODULE_PATHNAME', 'lwgeom_lt' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_lt(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_lt' + AS 'MODULE_PATHNAME', 'lwgeom_lt' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_le(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_le' + AS 'MODULE_PATHNAME', 'lwgeom_le' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_le(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_le' + AS 'MODULE_PATHNAME', 'lwgeom_le' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_gt(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_gt' + AS 'MODULE_PATHNAME', 'lwgeom_gt' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_gt(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_gt' + AS 'MODULE_PATHNAME', 'lwgeom_gt' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_ge(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_ge' + AS 'MODULE_PATHNAME', 'lwgeom_ge' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_ge(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_ge' + AS 'MODULE_PATHNAME', 'lwgeom_ge' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_eq(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_eq' + AS 'MODULE_PATHNAME', 'lwgeom_eq' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_eq(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'lwgeom_eq' + AS 'MODULE_PATHNAME', 'lwgeom_eq' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_cmp(geometry, geometry) RETURNS integer - AS '@MODULE_FILENAME@', 'lwgeom_cmp' + AS 'MODULE_PATHNAME', 'lwgeom_cmp' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_cmp(geometry, geometry) RETURNS integer - AS '@MODULE_FILENAME@', 'lwgeom_cmp' + AS 'MODULE_PATHNAME', 'lwgeom_cmp' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- @@ -786,7 +786,7 @@ CREATE OPERATOR > ( RESTRICT = contsel, JOIN = contjoinsel ); -#if USE_VERSION >= 74 +#if POSTGIS_PGSQL_VERSION >= 74 CREATE OPERATOR CLASS btree_geometry_ops DEFAULT FOR TYPE geometry USING btree AS @@ -804,191 +804,191 @@ CREATE OPERATOR CLASS btree_geometry_ops -- GiST indexes ------------------------------------------------------------------- -- Deprecation in 1.2.3 -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 CREATEFUNCTION postgis_gist_sel(opaque, oid, opaque, int4) #else CREATEFUNCTION postgis_gist_sel (internal, oid, internal, int4) #endif RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_gist_sel' + AS 'MODULE_PATHNAME', 'LWGEOM_gist_sel' LANGUAGE 'C'; -- Availability: 1.2.2 -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 CREATEFUNCTION ST_postgis_gist_sel(opaque, oid, opaque, int4) #else CREATEFUNCTION ST_postgis_gist_sel (internal, oid, internal, int4) #endif RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_gist_sel' + AS 'MODULE_PATHNAME', 'LWGEOM_gist_sel' LANGUAGE 'C'; -- Deprecation in 1.2.3 -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 CREATEFUNCTION postgis_gist_joinsel(opaque, oid, opaque) -#elif USE_VERSION == 73 +#elif POSTGIS_PGSQL_VERSION == 73 CREATEFUNCTION postgis_gist_joinsel(internal, oid, internal) #else CREATEFUNCTION postgis_gist_joinsel(internal, oid, internal, smallint) #endif RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_gist_joinsel' + AS 'MODULE_PATHNAME', 'LWGEOM_gist_joinsel' LANGUAGE 'C'; -- Availability: 1.2.2 -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 CREATEFUNCTION ST_postgis_gist_joinsel(opaque, oid, opaque) -#elif USE_VERSION == 73 +#elif POSTGIS_PGSQL_VERSION == 73 CREATEFUNCTION ST_postgis_gist_joinsel(internal, oid, internal) #else CREATEFUNCTION ST_postgis_gist_joinsel(internal, oid, internal, smallint) #endif RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_gist_joinsel' + AS 'MODULE_PATHNAME', 'LWGEOM_gist_joinsel' LANGUAGE 'C'; -- Deprecation in 1.2.3 CREATEFUNCTION geometry_overleft(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overleft' + AS 'MODULE_PATHNAME', 'LWGEOM_overleft' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_overleft(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overleft' + AS 'MODULE_PATHNAME', 'LWGEOM_overleft' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_overright(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overright' + AS 'MODULE_PATHNAME', 'LWGEOM_overright' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_overright(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overright' + AS 'MODULE_PATHNAME', 'LWGEOM_overright' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_overabove(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overabove' + AS 'MODULE_PATHNAME', 'LWGEOM_overabove' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_overabove(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overabove' + AS 'MODULE_PATHNAME', 'LWGEOM_overabove' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_overbelow(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overbelow' + AS 'MODULE_PATHNAME', 'LWGEOM_overbelow' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_overbelow(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overbelow' + AS 'MODULE_PATHNAME', 'LWGEOM_overbelow' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_left(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_left' + AS 'MODULE_PATHNAME', 'LWGEOM_left' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_left(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_left' + AS 'MODULE_PATHNAME', 'LWGEOM_left' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_right(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_right' + AS 'MODULE_PATHNAME', 'LWGEOM_right' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_right(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_right' + AS 'MODULE_PATHNAME', 'LWGEOM_right' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_above(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_above' + AS 'MODULE_PATHNAME', 'LWGEOM_above' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_above(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_above' + AS 'MODULE_PATHNAME', 'LWGEOM_above' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_below(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_below' + AS 'MODULE_PATHNAME', 'LWGEOM_below' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_below(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_below' + AS 'MODULE_PATHNAME', 'LWGEOM_below' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_contain(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_contain' + AS 'MODULE_PATHNAME', 'LWGEOM_contain' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_contain(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_contain' + AS 'MODULE_PATHNAME', 'LWGEOM_contain' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_contained(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_contained' + AS 'MODULE_PATHNAME', 'LWGEOM_contained' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_contained(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_contained' + AS 'MODULE_PATHNAME', 'LWGEOM_contained' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_overlap(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overlap' + AS 'MODULE_PATHNAME', 'LWGEOM_overlap' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry_overlap(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_overlap' + AS 'MODULE_PATHNAME', 'LWGEOM_overlap' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry_same(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_same' + AS 'MODULE_PATHNAME', 'LWGEOM_same' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); --Availability: 1.2.2 CREATEFUNCTION ST_geometry_same(geometry, geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_same' + AS 'MODULE_PATHNAME', 'LWGEOM_same' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- GEOMETRY operators @@ -1067,7 +1067,7 @@ CREATE OPERATOR ~ ( -- gist support functions -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 #define OPAQUE_TYPE opaque #else #define OPAQUE_TYPE internal @@ -1075,44 +1075,44 @@ CREATE OPERATOR ~ ( CREATEFUNCTION LWGEOM_gist_consistent(OPAQUE_TYPE,geometry,int4) RETURNS bool - AS '@MODULE_FILENAME@' ,'LWGEOM_gist_consistent' + AS 'MODULE_PATHNAME' ,'LWGEOM_gist_consistent' LANGUAGE 'C'; CREATEFUNCTION LWGEOM_gist_compress(OPAQUE_TYPE) RETURNS OPAQUE_TYPE - AS '@MODULE_FILENAME@','LWGEOM_gist_compress' + AS 'MODULE_PATHNAME','LWGEOM_gist_compress' LANGUAGE 'C'; CREATEFUNCTION LWGEOM_gist_penalty(OPAQUE_TYPE,OPAQUE_TYPE,OPAQUE_TYPE) RETURNS OPAQUE_TYPE - AS '@MODULE_FILENAME@' ,'LWGEOM_gist_penalty' + AS 'MODULE_PATHNAME' ,'LWGEOM_gist_penalty' LANGUAGE 'C'; CREATEFUNCTION LWGEOM_gist_picksplit(OPAQUE_TYPE, OPAQUE_TYPE) RETURNS OPAQUE_TYPE - AS '@MODULE_FILENAME@' ,'LWGEOM_gist_picksplit' + AS 'MODULE_PATHNAME' ,'LWGEOM_gist_picksplit' LANGUAGE 'C'; CREATEFUNCTION LWGEOM_gist_union(bytea, OPAQUE_TYPE) RETURNS OPAQUE_TYPE - AS '@MODULE_FILENAME@' ,'LWGEOM_gist_union' + AS 'MODULE_PATHNAME' ,'LWGEOM_gist_union' LANGUAGE 'C'; CREATEFUNCTION LWGEOM_gist_same(box2d, box2d, OPAQUE_TYPE) RETURNS OPAQUE_TYPE - AS '@MODULE_FILENAME@' ,'LWGEOM_gist_same' + AS 'MODULE_PATHNAME' ,'LWGEOM_gist_same' LANGUAGE 'C'; CREATEFUNCTION LWGEOM_gist_decompress(OPAQUE_TYPE) RETURNS OPAQUE_TYPE - AS '@MODULE_FILENAME@' ,'LWGEOM_gist_decompress' + AS 'MODULE_PATHNAME' ,'LWGEOM_gist_decompress' LANGUAGE 'C'; ------------------------------------------- -- GIST opclass index binding entries. ------------------------------------------- -#if USE_VERSION == 72 +#if POSTGIS_PGSQL_VERSION == 72 -- -- Create opclass index binding entries for PG72 @@ -1351,49 +1351,49 @@ UPDATE pg_opclass -- Deprecation in 1.2.3 CREATEFUNCTION addBBOX(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_addBBOX' + AS 'MODULE_PATHNAME','LWGEOM_addBBOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_addBBOX(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_addBBOX' + AS 'MODULE_PATHNAME','LWGEOM_addBBOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION dropBBOX(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_dropBBOX' + AS 'MODULE_PATHNAME','LWGEOM_dropBBOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_dropBBOX(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_dropBBOX' + AS 'MODULE_PATHNAME','LWGEOM_dropBBOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION getSRID(geometry) RETURNS int4 - AS '@MODULE_FILENAME@','LWGEOM_getSRID' + AS 'MODULE_PATHNAME','LWGEOM_getSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION getSRID(geometry) RETURNS int4 - AS '@MODULE_FILENAME@','LWGEOM_getSRID' + AS 'MODULE_PATHNAME','LWGEOM_getSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION getBBOX(geometry) RETURNS box2d - AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION getBBOX(geometry) RETURNS box2d - AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); ------------------------------------------- @@ -1403,91 +1403,91 @@ CREATEFUNCTION getBBOX(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION srid(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getSRID' + AS 'MODULE_PATHNAME','CHIP_getSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_srid(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getSRID' + AS 'MODULE_PATHNAME','CHIP_getSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION height(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getHeight' + AS 'MODULE_PATHNAME','CHIP_getHeight' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_height(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getHeight' + AS 'MODULE_PATHNAME','CHIP_getHeight' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION factor(chip) RETURNS FLOAT4 - AS '@MODULE_FILENAME@','CHIP_getFactor' + AS 'MODULE_PATHNAME','CHIP_getFactor' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_factor(chip) RETURNS FLOAT4 - AS '@MODULE_FILENAME@','CHIP_getFactor' + AS 'MODULE_PATHNAME','CHIP_getFactor' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION width(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getWidth' + AS 'MODULE_PATHNAME','CHIP_getWidth' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_width(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getWidth' + AS 'MODULE_PATHNAME','CHIP_getWidth' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION datatype(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getDatatype' + AS 'MODULE_PATHNAME','CHIP_getDatatype' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_datatype(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getDatatype' + AS 'MODULE_PATHNAME','CHIP_getDatatype' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION compression(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getCompression' + AS 'MODULE_PATHNAME','CHIP_getCompression' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_compression(chip) RETURNS int4 - AS '@MODULE_FILENAME@','CHIP_getCompression' + AS 'MODULE_PATHNAME','CHIP_getCompression' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION setSRID(chip,int4) RETURNS chip - AS '@MODULE_FILENAME@','CHIP_setSRID' + AS 'MODULE_PATHNAME','CHIP_setSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION setFactor(chip,float4) RETURNS chip - AS '@MODULE_FILENAME@','CHIP_setFactor' + AS 'MODULE_PATHNAME','CHIP_setFactor' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_setFactor(chip,float4) RETURNS chip - AS '@MODULE_FILENAME@','CHIP_setFactor' + AS 'MODULE_PATHNAME','CHIP_setFactor' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); ------------------------------------------------------------------------ @@ -1497,49 +1497,49 @@ CREATEFUNCTION ST_setFactor(chip,float4) -- Deprecation in 1.2.3 CREATEFUNCTION mem_size(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_mem_size' + AS 'MODULE_PATHNAME', 'LWGEOM_mem_size' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_mem_size(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_mem_size' + AS 'MODULE_PATHNAME', 'LWGEOM_mem_size' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION summary(geometry) RETURNS text - AS '@MODULE_FILENAME@', 'LWGEOM_summary' + AS 'MODULE_PATHNAME', 'LWGEOM_summary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_summary(geometry) RETURNS text - AS '@MODULE_FILENAME@', 'LWGEOM_summary' + AS 'MODULE_PATHNAME', 'LWGEOM_summary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION npoints(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_npoints' + AS 'MODULE_PATHNAME', 'LWGEOM_npoints' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_npoints(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_npoints' + AS 'MODULE_PATHNAME', 'LWGEOM_npoints' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION nrings(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_nrings' + AS 'MODULE_PATHNAME', 'LWGEOM_nrings' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_nrings(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_nrings' + AS 'MODULE_PATHNAME', 'LWGEOM_nrings' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); ------------------------------------------------------------------------ @@ -1551,36 +1551,36 @@ CREATEFUNCTION ST_nrings(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION length3d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_length_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_length_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_length3d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_length_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_length_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION length2d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_length2d_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_length2d_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_length2d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_length2d_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_length2d_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); CREATEFUNCTION length(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_length_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_length_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: length2d(geometry) CREATEFUNCTION ST_Length(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_length2d_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_length2d_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- this is a fake (for back-compatibility) @@ -1588,37 +1588,37 @@ CREATEFUNCTION ST_Length(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION length3d_spheroid(geometry, spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_length_ellipsoid_linestring' + AS 'MODULE_PATHNAME','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_length3d_spheroid(geometry, spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_length_ellipsoid_linestring' + AS 'MODULE_PATHNAME','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION length_spheroid(geometry, spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_length_ellipsoid_linestring' + AS 'MODULE_PATHNAME','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_length_spheroid(geometry, spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_length_ellipsoid_linestring' + AS 'MODULE_PATHNAME','LWGEOM_length_ellipsoid_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION length2d_spheroid(geometry, spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_length2d_ellipsoid_linestring' + AS 'MODULE_PATHNAME','LWGEOM_length2d_ellipsoid_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_length2d_spheroid(geometry, spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_length2d_ellipsoid_linestring' + AS 'MODULE_PATHNAME','LWGEOM_length2d_ellipsoid_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- this is a fake (for back-compatibility) @@ -1626,37 +1626,37 @@ CREATEFUNCTION ST_length2d_spheroid(geometry, spheroid) -- Deprecation in 1.2.3 CREATEFUNCTION perimeter3d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_perimeter_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_perimeter_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_perimeter3d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_perimeter_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_perimeter_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION perimeter2d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_perimeter2d_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_perimeter2d_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_perimeter2d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_perimeter2d_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_perimeter2d_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION perimeter(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_perimeter_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_perimeter_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: perimeter2d(geometry) CREATEFUNCTION ST_Perimeter(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_perimeter2d_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_perimeter2d_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- this is an alias for 'area(geometry)' @@ -1664,99 +1664,99 @@ CREATEFUNCTION ST_Perimeter(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION area2d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_area_polygon' + AS 'MODULE_PATHNAME', 'LWGEOM_area_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_area2d(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@', 'LWGEOM_area_polygon' + AS 'MODULE_PATHNAME', 'LWGEOM_area_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION area(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_area_polygon' + AS 'MODULE_PATHNAME','LWGEOM_area_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: area(geometry) CREATEFUNCTION ST_Area(geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_area_polygon' + AS 'MODULE_PATHNAME','LWGEOM_area_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION distance_spheroid(geometry,geometry,spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_distance_ellipsoid_point' + AS 'MODULE_PATHNAME','LWGEOM_distance_ellipsoid_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_distance_spheroid(geometry,geometry,spheroid) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_distance_ellipsoid_point' + AS 'MODULE_PATHNAME','LWGEOM_distance_ellipsoid_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION distance_sphere(geometry,geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_distance_sphere' + AS 'MODULE_PATHNAME','LWGEOM_distance_sphere' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_distance_sphere(geometry,geometry) RETURNS FLOAT8 - AS '@MODULE_FILENAME@','LWGEOM_distance_sphere' + AS 'MODULE_PATHNAME','LWGEOM_distance_sphere' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Minimum distance. 2d only. -- Deprecation in 1.2.3 CREATEFUNCTION distance(geometry,geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_mindistance2d' + AS 'MODULE_PATHNAME', 'LWGEOM_mindistance2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: distance(geometry,geometry) CREATEFUNCTION ST_Distance(geometry,geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_mindistance2d' + AS 'MODULE_PATHNAME', 'LWGEOM_mindistance2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Maximum distance between linestrings. 2d only. Very bogus. -- Deprecation in 1.2.3 CREATEFUNCTION max_distance(geometry,geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_maxdistance2d_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_maxdistance2d_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_max_distance(geometry,geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_maxdistance2d_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_maxdistance2d_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION point_inside_circle(geometry,float8,float8,float8) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_inside_circle_point' + AS 'MODULE_PATHNAME', 'LWGEOM_inside_circle_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_point_inside_circle(geometry,float8,float8,float8) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_inside_circle_point' + AS 'MODULE_PATHNAME', 'LWGEOM_inside_circle_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION azimuth(geometry,geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_azimuth' + AS 'MODULE_PATHNAME', 'LWGEOM_azimuth' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_azimuth(geometry,geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_azimuth' + AS 'MODULE_PATHNAME', 'LWGEOM_azimuth' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); ------------------------------------------------------------------------ @@ -1766,110 +1766,110 @@ CREATEFUNCTION ST_azimuth(geometry,geometry) -- Deprecation in 1.2.3 CREATEFUNCTION force_2d(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_2d' + AS 'MODULE_PATHNAME', 'LWGEOM_force_2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_force_2d(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_2d' + AS 'MODULE_PATHNAME', 'LWGEOM_force_2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION force_3dz(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_3dz' + AS 'MODULE_PATHNAME', 'LWGEOM_force_3dz' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_force_3dz(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_3dz' + AS 'MODULE_PATHNAME', 'LWGEOM_force_3dz' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- an alias for force_3dz -- Deprecation in 1.2.3 CREATEFUNCTION force_3d(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_3dz' + AS 'MODULE_PATHNAME', 'LWGEOM_force_3dz' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_force_3d(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_3dz' + AS 'MODULE_PATHNAME', 'LWGEOM_force_3dz' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION force_3dm(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_3dm' + AS 'MODULE_PATHNAME', 'LWGEOM_force_3dm' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_force_3dm(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_3dm' + AS 'MODULE_PATHNAME', 'LWGEOM_force_3dm' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION force_4d(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_4d' + AS 'MODULE_PATHNAME', 'LWGEOM_force_4d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_force_4d(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_4d' + AS 'MODULE_PATHNAME', 'LWGEOM_force_4d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION force_collection(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_collection' + AS 'MODULE_PATHNAME', 'LWGEOM_force_collection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_force_collection(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_collection' + AS 'MODULE_PATHNAME', 'LWGEOM_force_collection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION multi(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_multi' + AS 'MODULE_PATHNAME', 'LWGEOM_force_multi' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_multi(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_force_multi' + AS 'MODULE_PATHNAME', 'LWGEOM_force_multi' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION collector(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_collect' + AS 'MODULE_PATHNAME', 'LWGEOM_collect' LANGUAGE 'C' _IMMUTABLE; -- Availability: 1.2.2 CREATEFUNCTION ST_collector(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_collect' + AS 'MODULE_PATHNAME', 'LWGEOM_collect' LANGUAGE 'C' _IMMUTABLE; -- Deprecation in 1.2.3 CREATEFUNCTION collect(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_collect' + AS 'MODULE_PATHNAME', 'LWGEOM_collect' LANGUAGE 'C' _IMMUTABLE; -- Availability: 1.2.2 CREATEFUNCTION ST_collect(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_collect' + AS 'MODULE_PATHNAME', 'LWGEOM_collect' LANGUAGE 'C' _IMMUTABLE; -- Deprecation in 1.2.3 @@ -1889,13 +1889,13 @@ CREATE AGGREGATE ST_memcollect( -- Deprecation in 1.2.3 CREATEFUNCTION geom_accum (geometry[],geometry) RETURNS geometry[] - AS '@MODULE_FILENAME@', 'LWGEOM_accum' + AS 'MODULE_PATHNAME', 'LWGEOM_accum' LANGUAGE 'C' _IMMUTABLE; -- Availability: 1.2.2 CREATEFUNCTION ST_geom_accum (geometry[],geometry) RETURNS geometry[] - AS '@MODULE_FILENAME@', 'LWGEOM_accum' + AS 'MODULE_PATHNAME', 'LWGEOM_accum' LANGUAGE 'C' _IMMUTABLE; -- Deprecation in 1.2.3 @@ -1915,13 +1915,13 @@ CREATE AGGREGATE ST_accum ( -- Deprecation in 1.2.3 CREATEFUNCTION collect_garray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_collect_garray' + AS 'MODULE_PATHNAME', 'LWGEOM_collect_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATEFUNCTION ST_collect_garray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_collect_garray' + AS 'MODULE_PATHNAME', 'LWGEOM_collect_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Deprecation in 1.2.3 @@ -1944,217 +1944,217 @@ CREATE AGGREGATE ST_collect ( -- Deprecation in 1.2.3 CREATEFUNCTION expand(box3d,float8) RETURNS box3d - AS '@MODULE_FILENAME@', 'BOX3D_expand' + AS 'MODULE_PATHNAME', 'BOX3D_expand' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_Expand(box3d,float8) RETURNS box3d - AS '@MODULE_FILENAME@', 'BOX3D_expand' + AS 'MODULE_PATHNAME', 'BOX3D_expand' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION expand(box2d,float8) RETURNS box2d - AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_expand' + AS 'MODULE_PATHNAME', 'BOX2DFLOAT4_expand' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_expand(box2d,float8) RETURNS box2d - AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_expand' + AS 'MODULE_PATHNAME', 'BOX2DFLOAT4_expand' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION expand(geometry,float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_expand' + AS 'MODULE_PATHNAME', 'LWGEOM_expand' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_expand(geometry,float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_expand' + AS 'MODULE_PATHNAME', 'LWGEOM_expand' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION envelope(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_envelope' + AS 'MODULE_PATHNAME', 'LWGEOM_envelope' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- PostGIS equivalent function: envelope(geometry) CREATEFUNCTION ST_Envelope(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_envelope' + AS 'MODULE_PATHNAME', 'LWGEOM_envelope' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION reverse(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_reverse' + AS 'MODULE_PATHNAME', 'LWGEOM_reverse' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_Reverse(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_reverse' + AS 'MODULE_PATHNAME', 'LWGEOM_reverse' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION ForceRHR(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_forceRHR_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_forceRHR_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_ForceRHR(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_forceRHR_poly' + AS 'MODULE_PATHNAME', 'LWGEOM_forceRHR_poly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION noop(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_noop' + AS 'MODULE_PATHNAME', 'LWGEOM_noop' LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_noop(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_noop' + AS 'MODULE_PATHNAME', 'LWGEOM_noop' LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION zmflag(geometry) RETURNS smallint - AS '@MODULE_FILENAME@', 'LWGEOM_zmflag' + AS 'MODULE_PATHNAME', 'LWGEOM_zmflag' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_zmflag(geometry) RETURNS smallint - AS '@MODULE_FILENAME@', 'LWGEOM_zmflag' + AS 'MODULE_PATHNAME', 'LWGEOM_zmflag' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION hasBBOX(geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_hasBBOX' + AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availabitily: 1.2.2 CREATEFUNCTION ST_HasBBOX(geometry) RETURNS bool - AS '@MODULE_FILENAME@', 'LWGEOM_hasBBOX' + AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION ndims(geometry) RETURNS smallint - AS '@MODULE_FILENAME@', 'LWGEOM_ndims' + AS 'MODULE_PATHNAME', 'LWGEOM_ndims' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_NDims(geometry) RETURNS smallint - AS '@MODULE_FILENAME@', 'LWGEOM_ndims' + AS 'MODULE_PATHNAME', 'LWGEOM_ndims' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION AsEWKT(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asEWKT' + AS 'MODULE_PATHNAME','LWGEOM_asEWKT' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsEWKT(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asEWKT' + AS 'MODULE_PATHNAME','LWGEOM_asEWKT' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsEWKB(geometry) RETURNS BYTEA - AS '@MODULE_FILENAME@','WKBFromLWGEOM' + AS 'MODULE_PATHNAME','WKBFromLWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsEWKB(geometry) RETURNS BYTEA - AS '@MODULE_FILENAME@','WKBFromLWGEOM' + AS 'MODULE_PATHNAME','WKBFromLWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsHEXEWKB(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asHEXEWKB' + AS 'MODULE_PATHNAME','LWGEOM_asHEXEWKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsHEXEWKB(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asHEXEWKB' + AS 'MODULE_PATHNAME','LWGEOM_asHEXEWKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsHEXEWKB(geometry, text) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asHEXEWKB' + AS 'MODULE_PATHNAME','LWGEOM_asHEXEWKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsHEXEWKB(geometry, text) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asHEXEWKB' + AS 'MODULE_PATHNAME','LWGEOM_asHEXEWKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsEWKB(geometry,text) RETURNS bytea - AS '@MODULE_FILENAME@','WKBFromLWGEOM' + AS 'MODULE_PATHNAME','WKBFromLWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsEWKB(geometry,text) RETURNS bytea - AS '@MODULE_FILENAME@','WKBFromLWGEOM' + AS 'MODULE_PATHNAME','WKBFromLWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION GeomFromEWKB(bytea) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOMFromWKB' + AS 'MODULE_PATHNAME','LWGEOMFromWKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_GeomFromEWKB(bytea) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOMFromWKB' + AS 'MODULE_PATHNAME','LWGEOMFromWKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION GeomFromEWKT(text) RETURNS geometry - AS '@MODULE_FILENAME@','parse_WKT_lwgeom' + AS 'MODULE_PATHNAME','parse_WKT_lwgeom' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_GeomFromEWKT(text) RETURNS geometry - AS '@MODULE_FILENAME@','parse_WKT_lwgeom' + AS 'MODULE_PATHNAME','parse_WKT_lwgeom' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION cache_bbox() RETURNS trigger - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C'; -- Availability: 1.2.2 CREATEFUNCTION ST_Cache_BBox() RETURNS trigger - AS '@MODULE_FILENAME@','cache_bbox' + AS 'MODULE_PATHNAME','cache_bbox' LANGUAGE 'C'; ------------------------------------------------------------------------ @@ -2164,157 +2164,157 @@ CREATEFUNCTION ST_Cache_BBox() -- Deprecation in 1.2.3 CREATEFUNCTION MakePoint(float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakePoint(float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakePoint(float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakePoint(float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakePoint(float8, float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakePoint(float8, float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakePointM(float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint3dm' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint3dm' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION MakePointM(float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint3dm' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint3dm' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakeBox2d(geometry, geometry) RETURNS box2d - AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_construct' + AS 'MODULE_PATHNAME', 'BOX2DFLOAT4_construct' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakeBox2d(geometry, geometry) RETURNS box2d - AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_construct' + AS 'MODULE_PATHNAME', 'BOX2DFLOAT4_construct' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakeBox3d(geometry, geometry) RETURNS box3d - AS '@MODULE_FILENAME@', 'BOX3D_construct' + AS 'MODULE_PATHNAME', 'BOX3D_construct' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakeBox3d(geometry, geometry) RETURNS box3d - AS '@MODULE_FILENAME@', 'BOX3D_construct' + AS 'MODULE_PATHNAME', 'BOX3D_construct' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION makeline_garray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makeline_garray' + AS 'MODULE_PATHNAME', 'LWGEOM_makeline_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATEFUNCTION ST_MakeLine_GArray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makeline_garray' + AS 'MODULE_PATHNAME', 'LWGEOM_makeline_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Deprecation in 1.2.3 CREATEFUNCTION LineFromMultiPoint(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_from_mpoint' + AS 'MODULE_PATHNAME', 'LWGEOM_line_from_mpoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_LineFromMultiPoint(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_from_mpoint' + AS 'MODULE_PATHNAME', 'LWGEOM_line_from_mpoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakeLine(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makeline' + AS 'MODULE_PATHNAME', 'LWGEOM_makeline' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakeLine(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makeline' + AS 'MODULE_PATHNAME', 'LWGEOM_makeline' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION AddPoint(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' + AS 'MODULE_PATHNAME', 'LWGEOM_addpoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_AddPoint(geometry, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' + AS 'MODULE_PATHNAME', 'LWGEOM_addpoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION AddPoint(geometry, geometry, integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' + AS 'MODULE_PATHNAME', 'LWGEOM_addpoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_AddPoint(geometry, geometry, integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_addpoint' + AS 'MODULE_PATHNAME', 'LWGEOM_addpoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION RemovePoint(geometry, integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_removepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_removepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_RemovePoint(geometry, integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_removepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_removepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION SetPoint(geometry, integer, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_setpoint_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_setpoint_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_SetPoint(geometry, integer, geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_setpoint_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_setpoint_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 @@ -2336,61 +2336,61 @@ CREATE AGGREGATE ST_MakeLine ( -- Deprecation in 1.2.3 CREATEFUNCTION MakePolygon(geometry, geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakePolygon(geometry, geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION MakePolygon(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_MakePolygon(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoly' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoly' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION BuildArea(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_buildarea' + AS 'MODULE_PATHNAME', 'LWGEOM_buildarea' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_BuildArea(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_buildarea' + AS 'MODULE_PATHNAME', 'LWGEOM_buildarea' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION Polygonize_GArray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'polygonize_garray' + AS 'MODULE_PATHNAME', 'polygonize_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATEFUNCTION ST_Polygonize_GArray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@', 'polygonize_garray' + AS 'MODULE_PATHNAME', 'polygonize_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Deprecation in 1.2.3 CREATEFUNCTION LineMerge(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'linemerge' + AS 'MODULE_PATHNAME', 'linemerge' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATEFUNCTION ST_LineMerge(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'linemerge' + AS 'MODULE_PATHNAME', 'linemerge' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Deprecation in 1.2.3 @@ -2409,32 +2409,32 @@ CREATE AGGREGATE ST_Polygonize ( finalfunc = ST_polygonize_garray ); -#if USE_VERSION > 72 +#if POSTGIS_PGSQL_VERSION > 72 CREATE TYPE geometry_dump AS (path integer[], geom geometry); -- Deprecation in 1.2.3 CREATEFUNCTION Dump(geometry) RETURNS SETOF geometry_dump - AS '@MODULE_FILENAME@', 'LWGEOM_dump' + AS 'MODULE_PATHNAME', 'LWGEOM_dump' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_Dump(geometry) RETURNS SETOF geometry_dump - AS '@MODULE_FILENAME@', 'LWGEOM_dump' + AS 'MODULE_PATHNAME', 'LWGEOM_dump' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION DumpRings(geometry) RETURNS SETOF geometry_dump - AS '@MODULE_FILENAME@', 'LWGEOM_dump_rings' + AS 'MODULE_PATHNAME', 'LWGEOM_dump_rings' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_DumpRings(geometry) RETURNS SETOF geometry_dump - AS '@MODULE_FILENAME@', 'LWGEOM_dump_rings' + AS 'MODULE_PATHNAME', 'LWGEOM_dump_rings' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); #endif @@ -2448,13 +2448,13 @@ CREATEFUNCTION ST_DumpRings(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION combine_bbox(box2d,geometry) RETURNS box2d - AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_combine' + AS 'MODULE_PATHNAME', 'BOX2DFLOAT4_combine' LANGUAGE 'C' _IMMUTABLE; -- Availability: 1.2.2 CREATEFUNCTION ST_Combine_BBox(box2d,geometry) RETURNS box2d - AS '@MODULE_FILENAME@', 'BOX2DFLOAT4_combine' + AS 'MODULE_PATHNAME', 'BOX2DFLOAT4_combine' LANGUAGE 'C' _IMMUTABLE; -- Deprecation in 1.2.3 @@ -2474,13 +2474,13 @@ CREATE AGGREGATE ST_Extent( -- Deprecation in 1.2.3 CREATEFUNCTION combine_bbox(box3d,geometry) RETURNS box3d - AS '@MODULE_FILENAME@', 'BOX3D_combine' + AS 'MODULE_PATHNAME', 'BOX3D_combine' LANGUAGE 'C' _IMMUTABLE; -- Availability: 1.2.2 CREATEFUNCTION ST_Combine_BBox(box3d,geometry) RETURNS box3d - AS '@MODULE_FILENAME@', 'BOX3D_combine' + AS 'MODULE_PATHNAME', 'BOX3D_combine' LANGUAGE 'C' _IMMUTABLE; -- Deprecation in 1.2.3 @@ -2507,13 +2507,13 @@ CREATE AGGREGATE ST_Extent3d( -- Deprecation in 1.2.3 CREATEFUNCTION create_histogram2d(box2d,int) RETURNS histogram2d - AS '@MODULE_FILENAME@','create_lwhistogram2d' + AS 'MODULE_PATHNAME','create_lwhistogram2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_create_histogram2d(box2d,int) RETURNS histogram2d - AS '@MODULE_FILENAME@','create_lwhistogram2d' + AS 'MODULE_PATHNAME','create_lwhistogram2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); ----------------------------------------------------------------------- @@ -2522,16 +2522,16 @@ CREATEFUNCTION ST_create_histogram2d(box2d,int) -- Deprecation in 1.2.3 CREATEFUNCTION build_histogram2d (histogram2d,text,text) RETURNS histogram2d - AS '@MODULE_FILENAME@','build_lwhistogram2d' + AS 'MODULE_PATHNAME','build_lwhistogram2d' LANGUAGE 'C' _STABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_build_histogram2d (histogram2d,text,text) RETURNS histogram2d - AS '@MODULE_FILENAME@','build_lwhistogram2d' + AS 'MODULE_PATHNAME','build_lwhistogram2d' LANGUAGE 'C' _STABLE_STRICT; -- WITH (isstrict); -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 ----------------------------------------------------------------------- -- BUILD_HISTOGRAM2D(,,,) ----------------------------------------------------------------------- @@ -2568,13 +2568,13 @@ LANGUAGE 'plpgsql' _STABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION explode_histogram2d (histogram2d,text) RETURNS histogram2d - AS '@MODULE_FILENAME@','explode_lwhistogram2d' + AS 'MODULE_PATHNAME','explode_lwhistogram2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_explode_histogram2d (histogram2d,text) RETURNS histogram2d - AS '@MODULE_FILENAME@','explode_lwhistogram2d' + AS 'MODULE_PATHNAME','explode_lwhistogram2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); ----------------------------------------------------------------------- @@ -2583,13 +2583,13 @@ CREATEFUNCTION ST_explode_histogram2d (histogram2d,text) -- Deprecation in 1.2.3 CREATEFUNCTION estimate_histogram2d(histogram2d,box2d) RETURNS float8 - AS '@MODULE_FILENAME@','estimate_lwhistogram2d' + AS 'MODULE_PATHNAME','estimate_lwhistogram2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_estimate_histogram2d(histogram2d,box2d) RETURNS float8 - AS '@MODULE_FILENAME@','estimate_lwhistogram2d' + AS 'MODULE_PATHNAME','estimate_lwhistogram2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); ----------------------------------------------------------------------- @@ -2597,12 +2597,12 @@ CREATEFUNCTION ST_estimate_histogram2d(histogram2d,box2d) ----------------------------------------------------------------------- -- Deprecation in 1.2.3 CREATEFUNCTION estimated_extent(text,text,text) RETURNS box2d AS - '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' + 'MODULE_PATHNAME', 'LWGEOM_estimated_extent' LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER; -- Availability: 1.2.2 CREATEFUNCTION ST_estimated_extent(text,text,text) RETURNS box2d AS - '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' + 'MODULE_PATHNAME', 'LWGEOM_estimated_extent' LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER; ----------------------------------------------------------------------- @@ -2610,12 +2610,12 @@ CREATEFUNCTION ST_estimated_extent(text,text,text) RETURNS box2d AS ----------------------------------------------------------------------- -- Deprecation in 1.2.3 CREATEFUNCTION estimated_extent(text,text) RETURNS box2d AS - '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' + 'MODULE_PATHNAME', 'LWGEOM_estimated_extent' LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER; -- Availability: 1.2.2 CREATEFUNCTION ST_estimated_extent(text,text) RETURNS box2d AS - '@MODULE_FILENAME@', 'LWGEOM_estimated_extent' + 'MODULE_PATHNAME', 'LWGEOM_estimated_extent' LANGUAGE 'C' _IMMUTABLE_STRICT _SECURITY_DEFINER; ----------------------------------------------------------------------- @@ -2713,7 +2713,7 @@ CREATE TABLE geometry_columns ( coord_dimension integer not null, srid integer not null, type varchar(30) not null, -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 attrelid oid, varattnum int, stats histogram2d, @@ -2765,12 +2765,12 @@ DECLARE result text; linked integer; deleted integer; -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 foundschema integer; #endif BEGIN -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 -- Since 7.3 schema support has been added. -- Previous postgis versions used to put the database name in -- the schema column. This needs to be fixed, so we try to @@ -2812,7 +2812,7 @@ BEGIN GET DIAGNOSTICS foundschema = ROW_COUNT; #endif -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 -- no linkage to system table needed return ''fixed:''||foundschema::text; #endif @@ -2823,14 +2823,14 @@ BEGIN SELECT gc.oid as gcrec, a.attrelid as attrelid, a.attnum as attnum FROM geometry_columns gc, pg_class c, -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 pg_namespace n, pg_attribute a #else pg_attribute a #endif WHERE ( gc.attrelid IS NULL OR gc.attrelid != a.attrelid OR gc.varattnum IS NULL OR gc.varattnum != a.attnum) -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 AND n.nspname = gc.f_table_schema::name AND c.relnamespace = n.oid #endif @@ -2852,7 +2852,7 @@ BEGIN GET DIAGNOSTICS deleted = ROW_COUNT; result = -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 ''fixed:'' || foundschema::text || #endif '' linked:'' || linked::text || @@ -2888,7 +2888,7 @@ BEGIN SELECT count(*) INTO probed FROM pg_class c, pg_attribute a, pg_type t, -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 pg_namespace n, pg_constraint sridcheck, pg_constraint typecheck #else @@ -2898,13 +2898,13 @@ BEGIN WHERE t.typname = ''geometry'' AND a.atttypid = t.oid AND a.attrelid = c.oid -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 AND c.relnamespace = n.oid AND sridcheck.connamespace = n.oid AND typecheck.connamespace = n.oid #endif -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 AND sridcheck.conrelid = c.oid AND sridcheck.consrc LIKE ''(srid(''||a.attname||'') = %)'' AND typecheck.conrelid = c.oid @@ -2921,7 +2921,7 @@ BEGIN INSERT INTO geometry_columns SELECT ''''::varchar as f_table_catalogue, -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 n.nspname::varchar as f_table_schema, #else ''''::varchar as f_table_schema, @@ -2929,7 +2929,7 @@ BEGIN c.relname::varchar as f_table_name, a.attname::varchar as f_geometry_column, 2 as coord_dimension, -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 trim(both '' =)'' from substr(sridcheck.consrc, strpos(sridcheck.consrc, ''='')))::integer as srid, trim(both '' =)'''''' from substr(typecheck.consrc, @@ -2947,13 +2947,13 @@ BEGIN ))::varchar as type #endif -#if USE_VERSION < 80 +#if POSTGIS_PGSQL_VERSION < 80 , a.attrelid, a.attnum as varattnum, null::histogram2d as stats #endif FROM pg_class c, pg_attribute a, pg_type t, -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 pg_namespace n, pg_constraint sridcheck, pg_constraint typecheck #else @@ -2962,7 +2962,7 @@ BEGIN WHERE t.typname = ''geometry'' AND a.atttypid = t.oid AND a.attrelid = c.oid -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 AND c.relnamespace = n.oid AND sridcheck.connamespace = n.oid AND typecheck.connamespace = n.oid @@ -2982,7 +2982,7 @@ BEGIN AND NOT EXISTS ( SELECT oid FROM geometry_columns gc WHERE c.relname::varchar = gc.f_table_name -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 AND n.nspname::varchar = gc.f_table_schema #endif AND a.attname::varchar = gc.f_geometry_column @@ -3034,7 +3034,7 @@ DECLARE new_srid alias for $5; new_type alias for $6; new_dim alias for $7; -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 rec RECORD; schema_ok bool; real_schema name; @@ -3093,7 +3093,7 @@ BEGIN return ''fail''; END IF; -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 IF ( schema_name != '''' ) THEN schema_ok = ''f''; FOR rec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP @@ -3116,7 +3116,7 @@ BEGIN -- Add geometry column EXECUTE ''ALTER TABLE '' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 quote_ident(real_schema) || ''.'' || quote_ident(table_name) #else quote_ident(table_name) @@ -3130,7 +3130,7 @@ BEGIN EXECUTE ''DELETE FROM geometry_columns WHERE f_table_catalog = '' || quote_literal('''') || '' AND f_table_schema = '' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 quote_literal(real_schema) || #else quote_literal('''') || @@ -3143,7 +3143,7 @@ BEGIN EXECUTE ''INSERT INTO geometry_columns VALUES ('' || quote_literal('''') || '','' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 quote_literal(real_schema) || '','' || #else quote_literal('''') || '','' || @@ -3156,7 +3156,7 @@ BEGIN -- Add table checks EXECUTE ''ALTER TABLE '' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 quote_ident(real_schema) || ''.'' || quote_ident(table_name) #else quote_ident(table_name) @@ -3167,7 +3167,7 @@ BEGIN '') = '' || new_srid::text || '')'' ; EXECUTE ''ALTER TABLE '' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 quote_ident(real_schema) || ''.'' || quote_ident(table_name) #else quote_ident(table_name) @@ -3179,7 +3179,7 @@ BEGIN IF (not(new_type = ''GEOMETRY'')) THEN EXECUTE ''ALTER TABLE '' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 quote_ident(real_schema) || ''.'' || quote_ident(table_name) #else quote_ident(table_name) @@ -3193,7 +3193,7 @@ BEGIN END IF; return -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 real_schema || ''.'' || #endif table_name || ''.'' || column_name || @@ -3266,7 +3266,7 @@ DECLARE BEGIN -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 -- Find, check or fix schema_name IF ( schema_name != '''' ) THEN okay = ''f''; @@ -3304,7 +3304,7 @@ BEGIN quote_literal(table_name) || '' and f_geometry_column = '' || quote_literal(column_name); -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 -- Remove not-null constraint to table column EXECUTE ''update pg_attribute set attnotnull = false from pg_class where pg_attribute.attrelid = pg_class.oid and pg_class.relname = '' || quote_literal(table_name) ||'' and pg_attribute.attname = '' || quote_literal(column_name); -- update the given table/column so that it it all NULLS @@ -3389,7 +3389,7 @@ DECLARE BEGIN -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 IF ( schema_name = '''' ) THEN SELECT current_schema() into real_schema; ELSE @@ -3399,7 +3399,7 @@ BEGIN -- Remove refs from geometry_columns table EXECUTE ''DELETE FROM geometry_columns WHERE '' || -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 ''f_table_schema = '' || quote_literal(real_schema) || '' AND '' || #endif @@ -3407,13 +3407,13 @@ BEGIN -- Remove table EXECUTE ''DROP TABLE '' -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 || quote_ident(real_schema) || ''.'' || #endif quote_ident(table_name); RETURN -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 real_schema || ''.'' || #endif table_name ||'' dropped.''; @@ -3473,7 +3473,7 @@ DECLARE BEGIN -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 -- Find, check or fix schema_name IF ( schema_name != '''' ) THEN okay = ''f''; @@ -3513,7 +3513,7 @@ BEGIN cname = ''enforce_srid_'' || column_name; -- Drop enforce_srid constraint -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 EXECUTE ''ALTER TABLE '' || quote_ident(table_name) || #else EXECUTE ''ALTER TABLE '' || quote_ident(real_schema) || @@ -3522,7 +3522,7 @@ BEGIN '' DROP constraint '' || quote_ident(cname); -- Update geometries SRID -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 EXECUTE ''UPDATE '' || quote_ident(table_name) || #else EXECUTE ''UPDATE '' || quote_ident(real_schema) || @@ -3533,7 +3533,7 @@ BEGIN '', '' || new_srid::text || '')''; -- Reset enforce_srid constraint -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 EXECUTE ''ALTER TABLE '' || quote_ident(table_name) || #else EXECUTE ''ALTER TABLE '' || quote_ident(real_schema) || @@ -3592,7 +3592,7 @@ LANGUAGE 'plpgsql' _VOLATILE_STRICT; -- WITH (isstrict); -- It is defined also for PG>=75 for back-compatibility -- ----------------------------------------------------------------------- -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 CREATEFUNCTION update_geometry_stats() RETURNS text AS ' SELECT ''update_geometry_stats() has been obsoleted. Statistics are automatically built running the ANALYZE command''::text' LANGUAGE 'sql'; #else @@ -3606,7 +3606,7 @@ DECLARE BEGIN UPDATE geometry_columns SET -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 stats = (build_histogram2d(create_histogram2d( find_extent(f_table_schema, f_table_name, f_geometry_column), 40), f_table_schema, f_table_name, f_geometry_column)) FROM pg_class c, pg_attribute a, pg_namespace n @@ -3645,7 +3645,7 @@ LANGUAGE 'plpgsql' _VOLATILE_STRICT; -- It is defined also for PG>=75 for back-compatibility -- ----------------------------------------------------------------------- -#if USE_VERSION >= 80 +#if POSTGIS_PGSQL_VERSION >= 80 CREATEFUNCTION update_geometry_stats(varchar,varchar) RETURNS text AS 'SELECT update_geometry_stats();' LANGUAGE 'sql' ; #else @@ -3660,7 +3660,7 @@ DECLARE BEGIN EXECUTE ''UPDATE geometry_columns SET -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 stats = (build_histogram2d(create_histogram2d( find_extent(f_table_schema, f_table_name, @@ -3753,18 +3753,18 @@ LANGUAGE 'plpgsql' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); CREATEFUNCTION transform_geometry(geometry,text,text,int) RETURNS geometry - AS '@MODULE_FILENAME@','transform_geom' + AS 'MODULE_PATHNAME','transform_geom' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); CREATEFUNCTION transform(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@','transform' + AS 'MODULE_PATHNAME','transform' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: transform(geometry,integer) CREATEFUNCTION ST_Transform(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@','transform' + AS 'MODULE_PATHNAME','transform' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); @@ -3773,11 +3773,11 @@ CREATEFUNCTION ST_Transform(geometry,integer) ----------------------------------------------------------------------- CREATEFUNCTION postgis_version() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; CREATEFUNCTION postgis_proj_version() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; -- @@ -3787,36 +3787,36 @@ CREATEFUNCTION postgis_proj_version() RETURNS text -- Do not modify this w/out also changing postgis_proc_upgrade.pl -- CREATEFUNCTION postgis_scripts_installed() RETURNS text - AS 'SELECT ''@POSTGIS_SCRIPTS_VERSION@''::text AS version' + AS _POSTGIS_SQL_SELECT_POSTGIS_VERSION LANGUAGE 'sql' _IMMUTABLE; CREATEFUNCTION postgis_lib_version() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; -- a new lib will require a new session -- NOTE: starting at 1.1.0 this is the same of postgis_lib_version() CREATEFUNCTION postgis_scripts_released() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; CREATEFUNCTION postgis_uses_stats() RETURNS bool - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; CREATEFUNCTION postgis_geos_version() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; CREATEFUNCTION postgis_jts_version() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; CREATEFUNCTION postgis_scripts_build_date() RETURNS text - AS 'SELECT ''@POSTGIS_BUILD_DATE@''::text AS version' + AS _POSTGIS_SQL_SELECT_POSTGIS_BUILD_DATE LANGUAGE 'sql' _IMMUTABLE; CREATEFUNCTION postgis_lib_build_date() RETURNS text - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE; @@ -3878,85 +3878,85 @@ LANGUAGE 'plpgsql' _IMMUTABLE; -- Deprecation in 1.2.3 CREATEFUNCTION box2d(geometry) RETURNS box2d - AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d(geometry) RETURNS box2d - AS '@MODULE_FILENAME@','LWGEOM_to_BOX2DFLOAT4' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box3d(geometry) RETURNS box3d - AS '@MODULE_FILENAME@','LWGEOM_to_BOX3D' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box3d(geometry) RETURNS box3d - AS '@MODULE_FILENAME@','LWGEOM_to_BOX3D' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box(geometry) RETURNS box - AS '@MODULE_FILENAME@','LWGEOM_to_BOX' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box(geometry) RETURNS box - AS '@MODULE_FILENAME@','LWGEOM_to_BOX' + AS 'MODULE_PATHNAME','LWGEOM_to_BOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box2d(box3d) RETURNS box2d - AS '@MODULE_FILENAME@','BOX3D_to_BOX2DFLOAT4' + AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box2d(box3d) RETURNS box2d - AS '@MODULE_FILENAME@','BOX3D_to_BOX2DFLOAT4' + AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box3d(box2d) RETURNS box3d - AS '@MODULE_FILENAME@','BOX2DFLOAT4_to_BOX3D' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box3d(box2d) RETURNS box3d - AS '@MODULE_FILENAME@','BOX2DFLOAT4_to_BOX3D' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION box(box3d) RETURNS box - AS '@MODULE_FILENAME@','BOX3D_to_BOX' + AS 'MODULE_PATHNAME','BOX3D_to_BOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_box(box3d) RETURNS box - AS '@MODULE_FILENAME@','BOX3D_to_BOX' + AS 'MODULE_PATHNAME','BOX3D_to_BOX' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION text(geometry) RETURNS text - AS '@MODULE_FILENAME@','LWGEOM_to_text' + AS 'MODULE_PATHNAME','LWGEOM_to_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_text(geometry) RETURNS text - AS '@MODULE_FILENAME@','LWGEOM_to_text' + AS 'MODULE_PATHNAME','LWGEOM_to_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- this is kept for backward-compatibility @@ -3969,89 +3969,89 @@ CREATEFUNCTION box3dtobox(box3d) -- Deprecation in 1.2.3 CREATEFUNCTION geometry(box2d) RETURNS geometry - AS '@MODULE_FILENAME@','BOX2DFLOAT4_to_LWGEOM' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_LWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry(box2d) RETURNS geometry - AS '@MODULE_FILENAME@','BOX2DFLOAT4_to_LWGEOM' + AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_LWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry(box3d) RETURNS geometry - AS '@MODULE_FILENAME@','BOX3D_to_LWGEOM' + AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry(box3d) RETURNS geometry - AS '@MODULE_FILENAME@','BOX3D_to_LWGEOM' + AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry(text) RETURNS geometry - AS '@MODULE_FILENAME@','parse_WKT_lwgeom' + AS 'MODULE_PATHNAME','parse_WKT_lwgeom' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry(text) RETURNS geometry - AS '@MODULE_FILENAME@','parse_WKT_lwgeom' + AS 'MODULE_PATHNAME','parse_WKT_lwgeom' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry(chip) RETURNS geometry - AS '@MODULE_FILENAME@','CHIP_to_LWGEOM' + AS 'MODULE_PATHNAME','CHIP_to_LWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry(chip) RETURNS geometry - AS '@MODULE_FILENAME@','CHIP_to_LWGEOM' + AS 'MODULE_PATHNAME','CHIP_to_LWGEOM' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION geometry(bytea) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_bytea' + AS 'MODULE_PATHNAME','LWGEOM_from_bytea' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_geometry(bytea) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_bytea' + AS 'MODULE_PATHNAME','LWGEOM_from_bytea' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION bytea(geometry) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_to_bytea' + AS 'MODULE_PATHNAME','LWGEOM_to_bytea' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_bytea(geometry) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_to_bytea' + AS 'MODULE_PATHNAME','LWGEOM_to_bytea' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION text(bool) RETURNS text - AS '@MODULE_FILENAME@','BOOL_to_text' + AS 'MODULE_PATHNAME','BOOL_to_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_text(bool) RETURNS text - AS '@MODULE_FILENAME@','BOOL_to_text' + AS 'MODULE_PATHNAME','BOOL_to_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- 7.3+ explicit casting definitions -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 CREATE CAST (geometry AS box2d) WITH FUNCTION ST_box2d(geometry) AS IMPLICIT; CREATE CAST (geometry AS box3d) WITH FUNCTION ST_box3d(geometry) AS IMPLICIT; CREATE CAST (geometry AS box) WITH FUNCTION ST_box(geometry) AS IMPLICIT; @@ -4075,26 +4075,26 @@ CREATE CAST (geometry AS bytea) WITH FUNCTION ST_bytea(geometry) AS IMPLICIT; -- Deprecation in 1.2.3 CREATEFUNCTION Simplify(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_simplify2d' + AS 'MODULE_PATHNAME', 'LWGEOM_simplify2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_Simplify(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_simplify2d' + AS 'MODULE_PATHNAME', 'LWGEOM_simplify2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- SnapToGrid(input, xoff, yoff, xsize, ysize) -- Deprecation in 1.2.3 CREATEFUNCTION SnapToGrid(geometry, float8, float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_snaptogrid' + AS 'MODULE_PATHNAME', 'LWGEOM_snaptogrid' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_SnapToGrid(geometry, float8, float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_snaptogrid' + AS 'MODULE_PATHNAME', 'LWGEOM_snaptogrid' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- SnapToGrid(input, xsize, ysize) # offsets=0 @@ -4127,25 +4127,25 @@ CREATEFUNCTION ST_SnapToGrid(geometry, float8) -- Deprecation in 1.2.3 CREATEFUNCTION SnapToGrid(geometry, geometry, float8, float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_snaptogrid_pointoff' + AS 'MODULE_PATHNAME', 'LWGEOM_snaptogrid_pointoff' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_SnapToGrid(geometry, geometry, float8, float8, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_snaptogrid_pointoff' + AS 'MODULE_PATHNAME', 'LWGEOM_snaptogrid_pointoff' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION Segmentize(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_segmentize2d' + AS 'MODULE_PATHNAME', 'LWGEOM_segmentize2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_Segmentize(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_segmentize2d' + AS 'MODULE_PATHNAME', 'LWGEOM_segmentize2d' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); --------------------------------------------------------------- @@ -4155,49 +4155,49 @@ CREATEFUNCTION ST_Segmentize(geometry, float8) -- Deprecation in 1.2.3 CREATEFUNCTION line_interpolate_point(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_interpolate_point' + AS 'MODULE_PATHNAME', 'LWGEOM_line_interpolate_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_line_interpolate_point(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_interpolate_point' + AS 'MODULE_PATHNAME', 'LWGEOM_line_interpolate_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION line_substring(geometry, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_substring' + AS 'MODULE_PATHNAME', 'LWGEOM_line_substring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_line_substring(geometry, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_substring' + AS 'MODULE_PATHNAME', 'LWGEOM_line_substring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION line_locate_point(geometry, geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_line_locate_point' + AS 'MODULE_PATHNAME', 'LWGEOM_line_locate_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_line_locate_point(geometry, geometry) RETURNS float8 - AS '@MODULE_FILENAME@', 'LWGEOM_line_locate_point' + AS 'MODULE_PATHNAME', 'LWGEOM_line_locate_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION locate_between_measures(geometry, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_locate_between_m' + AS 'MODULE_PATHNAME', 'LWGEOM_locate_between_m' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Availability: 1.2.2 CREATEFUNCTION ST_locate_between_measures(geometry, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_locate_between_m' + AS 'MODULE_PATHNAME', 'LWGEOM_locate_between_m' LANGUAGE 'C' _IMMUTABLE_STRICT; -- Deprecation in 1.2.3 @@ -4219,118 +4219,118 @@ CREATEFUNCTION ST_locate_along_measure(geometry, float8) -- Deprecation in 1.2.3 CREATEFUNCTION intersection(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','intersection' + AS 'MODULE_PATHNAME','intersection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: intersection(geometry,geometry) CREATEFUNCTION ST_Intersection(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','intersection' + AS 'MODULE_PATHNAME','intersection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION buffer(geometry,float8) RETURNS geometry - AS '@MODULE_FILENAME@','buffer' + AS 'MODULE_PATHNAME','buffer' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: buffer(geometry,float8) CREATEFUNCTION ST_Buffer(geometry,float8) RETURNS geometry - AS '@MODULE_FILENAME@','buffer' + AS 'MODULE_PATHNAME','buffer' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION buffer(geometry,float8,integer) RETURNS geometry - AS '@MODULE_FILENAME@','buffer' + AS 'MODULE_PATHNAME','buffer' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_buffer(geometry,float8,integer) RETURNS geometry - AS '@MODULE_FILENAME@','buffer' + AS 'MODULE_PATHNAME','buffer' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION convexhull(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','convexhull' + AS 'MODULE_PATHNAME','convexhull' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: convexhull(geometry) CREATEFUNCTION ST_ConvexHull(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','convexhull' + AS 'MODULE_PATHNAME','convexhull' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -#if GEOS_VERNUM >= 30 +#if POSTGIS_GEOS_VERSION >= 30 -- Requires GEOS >= 3.0.0 -- Availability: 1.3.3 CREATEFUNCTION ST_SimplifyPreserveTopology(geometry, float8) RETURNS geometry - AS '@MODULE_FILENAME@','topologypreservesimplify' + AS 'MODULE_PATHNAME','topologypreservesimplify' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); #endif -- Deprecation in 1.2.3 CREATEFUNCTION difference(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','difference' + AS 'MODULE_PATHNAME','difference' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: difference(geometry,geometry) CREATEFUNCTION ST_Difference(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','difference' + AS 'MODULE_PATHNAME','difference' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION boundary(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','boundary' + AS 'MODULE_PATHNAME','boundary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: boundary(geometry) CREATEFUNCTION ST_Boundary(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','boundary' + AS 'MODULE_PATHNAME','boundary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION symdifference(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','symdifference' + AS 'MODULE_PATHNAME','symdifference' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: symdifference(geometry,geometry) CREATEFUNCTION ST_SymDifference(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','symdifference' + AS 'MODULE_PATHNAME','symdifference' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION symmetricdifference(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','symdifference' + AS 'MODULE_PATHNAME','symdifference' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_symmetricdifference(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','symdifference' + AS 'MODULE_PATHNAME','symdifference' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION GeomUnion(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','geomunion' + AS 'MODULE_PATHNAME','geomunion' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: GeomUnion(geometry,geometry) CREATEFUNCTION ST_Union(geometry,geometry) RETURNS geometry - AS '@MODULE_FILENAME@','geomunion' + AS 'MODULE_PATHNAME','geomunion' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 @@ -4350,13 +4350,13 @@ CREATE AGGREGATE ST_MemUnion ( -- Deprecation in 1.2.3 CREATEFUNCTION unite_garray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_unite_garray (geometry[]) RETURNS geometry - AS '@MODULE_FILENAME@','unite_garray' + AS 'MODULE_PATHNAME','unite_garray' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 @@ -4378,49 +4378,49 @@ CREATE AGGREGATE ST_Union ( -- Deprecation in 1.2.3 CREATEFUNCTION relate(geometry,geometry) RETURNS text - AS '@MODULE_FILENAME@','relate_full' + AS 'MODULE_PATHNAME','relate_full' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_relate(geometry,geometry) RETURNS text - AS '@MODULE_FILENAME@','relate_full' + AS 'MODULE_PATHNAME','relate_full' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION relate(geometry,geometry,text) RETURNS boolean - AS '@MODULE_FILENAME@','relate_pattern' + AS 'MODULE_PATHNAME','relate_pattern' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: relate(geometry,geometry,text) CREATEFUNCTION ST_Relate(geometry,geometry,text) RETURNS boolean - AS '@MODULE_FILENAME@','relate_pattern' + AS 'MODULE_PATHNAME','relate_pattern' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION disjoint(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: disjoint(geometry,geometry) CREATEFUNCTION ST_Disjoint(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','disjoint' + AS 'MODULE_PATHNAME','disjoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION touches(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: touches(geometry,geometry) CREATEFUNCTION _ST_Touches(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','touches' + AS 'MODULE_PATHNAME','touches' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4439,13 +4439,13 @@ CREATEFUNCTION ST_DWithin(geometry, geometry, float8) -- Deprecation in 1.2.3 CREATEFUNCTION intersects(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: intersects(geometry,geometry) CREATEFUNCTION _ST_Intersects(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','intersects' + AS 'MODULE_PATHNAME','intersects' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4457,13 +4457,13 @@ CREATEFUNCTION ST_Intersects(geometry,geometry) -- Deprecation in 1.2.3 CREATEFUNCTION crosses(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: crosses(geometry,geometry) CREATEFUNCTION _ST_Crosses(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','crosses' + AS 'MODULE_PATHNAME','crosses' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4476,13 +4476,13 @@ CREATEFUNCTION ST_Crosses(geometry,geometry) -- Deprecation in 1.2.3 CREATEFUNCTION within(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: within(geometry,geometry) CREATEFUNCTION _ST_Within(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','within' + AS 'MODULE_PATHNAME','within' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4495,13 +4495,13 @@ CREATEFUNCTION ST_Within(geometry,geometry) -- Deprecation in 1.2.3 CREATEFUNCTION Contains(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: contains(geometry,geometry) CREATEFUNCTION _ST_Contains(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','contains' + AS 'MODULE_PATHNAME','contains' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4511,11 +4511,11 @@ CREATEFUNCTION ST_Contains(geometry,geometry) AS 'SELECT $1 && $2 AND _ST_Contains($1,$2)' LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable); -#if GEOS_VERNUM >= 30 +#if POSTGIS_GEOS_VERSION >= 30 -- Availability: 1.2.2 CREATEFUNCTION _ST_CoveredBy(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'coveredby' + AS 'MODULE_PATHNAME', 'coveredby' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4527,7 +4527,7 @@ CREATEFUNCTION ST_CoveredBy(geometry,geometry) -- Availability: 1.2.2 CREATEFUNCTION _ST_Covers(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'covers' + AS 'MODULE_PATHNAME', 'covers' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4541,13 +4541,13 @@ CREATEFUNCTION ST_Covers(geometry,geometry) -- Deprecation in 1.2.3 CREATEFUNCTION overlaps(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: overlaps(geometry,geometry) CREATEFUNCTION _ST_Overlaps(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','overlaps' + AS 'MODULE_PATHNAME','overlaps' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 @@ -4560,86 +4560,86 @@ CREATEFUNCTION ST_Overlaps(geometry,geometry) -- Deprecation in 1.2.3 CREATEFUNCTION IsValid(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'isvalid' + AS 'MODULE_PATHNAME', 'isvalid' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: IsValid(geometry) -- TODO: change null returns to true CREATEFUNCTION ST_IsValid(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'isvalid' + AS 'MODULE_PATHNAME', 'isvalid' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION GEOSnoop(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'GEOSnoop' + AS 'MODULE_PATHNAME', 'GEOSnoop' LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION JTSnoop(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'JTSnoop' + AS 'MODULE_PATHNAME', 'JTSnoop' LANGUAGE 'C' _VOLATILE_STRICT; -- WITH (isstrict,iscachable); -- This is also available w/out GEOS CREATEFUNCTION Centroid(geometry) RETURNS geometry - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: Centroid(geometry) CREATEFUNCTION ST_Centroid(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'centroid' + AS 'MODULE_PATHNAME', 'centroid' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION IsRing(geometry) RETURNS boolean - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: IsRing(geometry) CREATEFUNCTION ST_IsRing(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'isring' + AS 'MODULE_PATHNAME', 'isring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION PointOnSurface(geometry) RETURNS geometry - AS '@MODULE_FILENAME@' + AS 'MODULE_PATHNAME' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: PointOnSurface(geometry) CREATEFUNCTION ST_PointOnSurface(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'pointonsurface' + AS 'MODULE_PATHNAME', 'pointonsurface' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION IsSimple(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'issimple' + AS 'MODULE_PATHNAME', 'issimple' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: IsSimple(geometry) CREATEFUNCTION ST_IsSimple(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'issimple' + AS 'MODULE_PATHNAME', 'issimple' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION Equals(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','geomequals' + AS 'MODULE_PATHNAME','geomequals' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: Equals(geometry,geometry) CREATEFUNCTION ST_Equals(geometry,geometry) RETURNS boolean - AS '@MODULE_FILENAME@','geomequals' + AS 'MODULE_PATHNAME','geomequals' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); ----------------------------------------------------------------------- @@ -4647,12 +4647,12 @@ CREATEFUNCTION ST_Equals(geometry,geometry) -- requires GEOS 3.1.0-CAPI-1.5.0 or better ----------------------------------------------------------------------- -#if GEOS_VERNUM >= 31 +#if POSTGIS_GEOS_VERSION >= 31 -- Availability: 1.4.0 CREATEFUNCTION _ST_ContainsPrepared(geometry,geometry,integer) RETURNS boolean - AS '@MODULE_FILENAME@','containsPrepared' + AS 'MODULE_PATHNAME','containsPrepared' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.4.0 @@ -4665,7 +4665,7 @@ CREATEFUNCTION ST_Contains(geometry,geometry,integer) -- Availability: 1.4.0 CREATEFUNCTION _ST_ContainsProperlyPrepared(geometry,geometry,integer) RETURNS boolean - AS '@MODULE_FILENAME@','containsProperlyPrepared' + AS 'MODULE_PATHNAME','containsProperlyPrepared' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.4.0 @@ -4685,7 +4685,7 @@ CREATE OR REPLACE FUNCTION ST_ContainsProperly(geometry,geometry) -- Availability: 1.4.0 CREATEFUNCTION _ST_CoversPrepared(geometry,geometry,integer) RETURNS boolean - AS '@MODULE_FILENAME@','coversPrepared' + AS 'MODULE_PATHNAME','coversPrepared' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.4.0 @@ -4698,7 +4698,7 @@ CREATEFUNCTION ST_Covers(geometry,geometry,integer) -- Availability: 1.4.0 CREATEFUNCTION _ST_IntersectsPrepared(geometry,geometry,integer) RETURNS boolean - AS '@MODULE_FILENAME@','intersectsPrepared' + AS 'MODULE_PATHNAME','intersectsPrepared' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.4.0 @@ -4716,37 +4716,37 @@ CREATEFUNCTION ST_Intersects(geometry,geometry,integer) -- Deprecation in 1.2.3 CREATEFUNCTION AsSVG(geometry,int4,int4) RETURNS TEXT - AS '@MODULE_FILENAME@','assvg_geometry' + AS 'MODULE_PATHNAME','assvg_geometry' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsSVG(geometry,int4,int4) RETURNS TEXT - AS '@MODULE_FILENAME@','assvg_geometry' + AS 'MODULE_PATHNAME','assvg_geometry' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsSVG(geometry,int4) RETURNS TEXT - AS '@MODULE_FILENAME@','assvg_geometry' + AS 'MODULE_PATHNAME','assvg_geometry' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsSVG(geometry,int4) RETURNS TEXT - AS '@MODULE_FILENAME@','assvg_geometry' + AS 'MODULE_PATHNAME','assvg_geometry' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsSVG(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','assvg_geometry' + AS 'MODULE_PATHNAME','assvg_geometry' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsSVG(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','assvg_geometry' + AS 'MODULE_PATHNAME','assvg_geometry' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); ----------------------------------------------------------------------- @@ -4755,7 +4755,7 @@ CREATEFUNCTION ST_AsSVG(geometry) -- _ST_AsGML(version, geom, precision) CREATEFUNCTION _ST_AsGML(int4, geometry, int4) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asGML' + AS 'MODULE_PATHNAME','LWGEOM_asGML' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- AsGML(geom, precision) / version=2 @@ -4804,10 +4804,9 @@ CREATEFUNCTION ST_AsGML(int4, geometry, int4) -- _ST_AsKML(version, geom, precision) CREATEFUNCTION _ST_AsKML(int4, geometry, int4) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asKML' + AS 'MODULE_PATHNAME','LWGEOM_asKML' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -#ifdef USE_PROJ -- AsKML(geom, precision) / version=2 -- Deprecation in 1.2.3 CREATEFUNCTION AsKML(geometry, int4) @@ -4854,7 +4853,6 @@ CREATEFUNCTION ST_AsKML(int4, geometry, int4) RETURNS TEXT AS 'SELECT _ST_AsKML($1, transform($2,4326), $3)' LANGUAGE 'SQL' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -#endif ----------------------------------------------------------------------- -- GEOJSON OUTPUT @@ -4863,7 +4861,7 @@ CREATEFUNCTION ST_AsKML(int4, geometry, int4) -- _ST_AsGeoJson(version, geom, precision, options) CREATEFUNCTION _ST_AsGeoJson(int4, geometry, int4, int4) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asGeoJson' + AS 'MODULE_PATHNAME','LWGEOM_asGeoJson' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- ST_AsGeoJson(geom, precision) / version=1 options=0 @@ -4910,103 +4908,103 @@ CREATEFUNCTION ST_AsGeoJson(int4, geometry, int4, int4) -- Deprecation in 1.2.3 CREATEFUNCTION NumPoints(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_numpoints_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_numpoints_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: NumPoints(geometry) CREATEFUNCTION ST_NumPoints(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_numpoints_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_numpoints_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION NumGeometries(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_numgeometries_collection' + AS 'MODULE_PATHNAME', 'LWGEOM_numgeometries_collection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: NumGeometries(geometry) CREATEFUNCTION ST_NumGeometries(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_numgeometries_collection' + AS 'MODULE_PATHNAME', 'LWGEOM_numgeometries_collection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION GeometryN(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_geometryn_collection' + AS 'MODULE_PATHNAME', 'LWGEOM_geometryn_collection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: GeometryN(geometry) CREATEFUNCTION ST_GeometryN(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_geometryn_collection' + AS 'MODULE_PATHNAME', 'LWGEOM_geometryn_collection' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION Dimension(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_dimension' + AS 'MODULE_PATHNAME', 'LWGEOM_dimension' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: Dimension(geometry) CREATEFUNCTION ST_Dimension(geometry) RETURNS int4 - AS '@MODULE_FILENAME@', 'LWGEOM_dimension' + AS 'MODULE_PATHNAME', 'LWGEOM_dimension' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION ExteriorRing(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_exteriorring_polygon' + AS 'MODULE_PATHNAME','LWGEOM_exteriorring_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: ExteriorRing(geometry) CREATEFUNCTION ST_ExteriorRing(geometry) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_exteriorring_polygon' + AS 'MODULE_PATHNAME','LWGEOM_exteriorring_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION NumInteriorRings(geometry) RETURNS integer - AS '@MODULE_FILENAME@','LWGEOM_numinteriorrings_polygon' + AS 'MODULE_PATHNAME','LWGEOM_numinteriorrings_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: NumInteriorRings(geometry) CREATEFUNCTION ST_NumInteriorRings(geometry) RETURNS integer - AS '@MODULE_FILENAME@','LWGEOM_numinteriorrings_polygon' + AS 'MODULE_PATHNAME','LWGEOM_numinteriorrings_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION NumInteriorRing(geometry) RETURNS integer - AS '@MODULE_FILENAME@','LWGEOM_numinteriorrings_polygon' + AS 'MODULE_PATHNAME','LWGEOM_numinteriorrings_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_NumInteriorRing(geometry) RETURNS integer - AS '@MODULE_FILENAME@','LWGEOM_numinteriorrings_polygon' + AS 'MODULE_PATHNAME','LWGEOM_numinteriorrings_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION InteriorRingN(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_interiorringn_polygon' + AS 'MODULE_PATHNAME','LWGEOM_interiorringn_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: InteriorRingN(geometry) CREATEFUNCTION ST_InteriorRingN(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_interiorringn_polygon' + AS 'MODULE_PATHNAME','LWGEOM_interiorringn_polygon' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION GeometryType(geometry) RETURNS text - AS '@MODULE_FILENAME@', 'LWGEOM_getTYPE' + AS 'MODULE_PATHNAME', 'LWGEOM_getTYPE' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Not quite equivalent to GeometryType @@ -5039,199 +5037,199 @@ CREATEFUNCTION ST_GeometryType(geometry) -- Deprecation in 1.2.3 CREATEFUNCTION PointN(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_pointn_linestring' + AS 'MODULE_PATHNAME','LWGEOM_pointn_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: PointN(geometry,integer) CREATEFUNCTION ST_PointN(geometry,integer) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_pointn_linestring' + AS 'MODULE_PATHNAME','LWGEOM_pointn_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION X(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_x_point' + AS 'MODULE_PATHNAME','LWGEOM_x_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: X(geometry) CREATEFUNCTION ST_X(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_x_point' + AS 'MODULE_PATHNAME','LWGEOM_x_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION Y(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_y_point' + AS 'MODULE_PATHNAME','LWGEOM_y_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: Y(geometry) CREATEFUNCTION ST_Y(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_y_point' + AS 'MODULE_PATHNAME','LWGEOM_y_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION Z(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_z_point' + AS 'MODULE_PATHNAME','LWGEOM_z_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: Z(geometry) CREATEFUNCTION SE_Z(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_z_point' + AS 'MODULE_PATHNAME','LWGEOM_z_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_Z(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_z_point' + AS 'MODULE_PATHNAME','LWGEOM_z_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION M(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_m_point' + AS 'MODULE_PATHNAME','LWGEOM_m_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Availability: 1.2.2 CREATEFUNCTION ST_M(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_m_point' + AS 'MODULE_PATHNAME','LWGEOM_m_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION StartPoint(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_startpoint_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_startpoint_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: StartPoint(geometry)) CREATEFUNCTION ST_StartPoint(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_startpoint_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_startpoint_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION EndPoint(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_endpoint_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_endpoint_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: EndPoint(geometry)) CREATEFUNCTION ST_EndPoint(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_endpoint_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_endpoint_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION IsClosed(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'LWGEOM_isclosed_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_isclosed_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: IsClosed(geometry) CREATEFUNCTION ST_IsClosed(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'LWGEOM_isclosed_linestring' + AS 'MODULE_PATHNAME', 'LWGEOM_isclosed_linestring' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION IsEmpty(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'LWGEOM_isempty' + AS 'MODULE_PATHNAME', 'LWGEOM_isempty' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: IsEmpty(geometry) CREATEFUNCTION ST_IsEmpty(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'LWGEOM_isempty' + AS 'MODULE_PATHNAME', 'LWGEOM_isempty' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- Deprecation in 1.2.3 CREATEFUNCTION SRID(geometry) RETURNS int4 - AS '@MODULE_FILENAME@','LWGEOM_getSRID' + AS 'MODULE_PATHNAME','LWGEOM_getSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: getSRID(geometry) CREATEFUNCTION ST_SRID(geometry) RETURNS int4 - AS '@MODULE_FILENAME@','LWGEOM_getSRID' + AS 'MODULE_PATHNAME','LWGEOM_getSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION SetSRID(geometry,int4) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_setSRID' + AS 'MODULE_PATHNAME','LWGEOM_setSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_SetSRID(geometry,int4) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_setSRID' + AS 'MODULE_PATHNAME','LWGEOM_setSRID' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsBinary(geometry) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_asBinary' + AS 'MODULE_PATHNAME','LWGEOM_asBinary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: AsBinary(geometry) CREATEFUNCTION ST_AsBinary(geometry) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_asBinary' + AS 'MODULE_PATHNAME','LWGEOM_asBinary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsBinary(geometry,text) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_asBinary' + AS 'MODULE_PATHNAME','LWGEOM_asBinary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_AsBinary(geometry,text) RETURNS bytea - AS '@MODULE_FILENAME@','LWGEOM_asBinary' + AS 'MODULE_PATHNAME','LWGEOM_asBinary' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION AsText(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asText' + AS 'MODULE_PATHNAME','LWGEOM_asText' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- PostGIS equivalent function: AsText(geometry) CREATEFUNCTION ST_AsText(geometry) RETURNS TEXT - AS '@MODULE_FILENAME@','LWGEOM_asText' + AS 'MODULE_PATHNAME','LWGEOM_asText' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION GeometryFromText(text) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_text' + AS 'MODULE_PATHNAME','LWGEOM_from_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_GeometryFromText(text) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_text' + AS 'MODULE_PATHNAME','LWGEOM_from_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 CREATEFUNCTION GeometryFromText(text, int4) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_text' + AS 'MODULE_PATHNAME','LWGEOM_from_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_GeometryFromText(text, int4) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_text' + AS 'MODULE_PATHNAME','LWGEOM_from_text' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 @@ -5658,13 +5656,13 @@ CREATEFUNCTION ST_GeomCollFromText(text) -- Deprecation in 1.2.3 CREATEFUNCTION GeomFromWKB(bytea) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_WKB' + AS 'MODULE_PATHNAME','LWGEOM_from_WKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Availability: 1.2.2 CREATEFUNCTION ST_GeomFromWKB(bytea) RETURNS geometry - AS '@MODULE_FILENAME@','LWGEOM_from_WKB' + AS 'MODULE_PATHNAME','LWGEOM_from_WKB' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- Deprecation in 1.2.3 @@ -6312,7 +6310,7 @@ LANGUAGE 'plpgsql' _IMMUTABLE_STRICT; -- the given number of segments per quarter circle. CREATEFUNCTION ST_CurveToLine(geometry, integer) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_curve_segmentize' + AS 'MODULE_PATHNAME', 'LWGEOM_curve_segmentize' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); -- -- SQL-MM @@ -6328,12 +6326,12 @@ CREATEFUNCTION ST_CurveToLine(geometry) CREATEFUNCTION ST_HasArc(geometry) RETURNS boolean - AS '@MODULE_FILENAME@', 'LWGEOM_has_arc' + AS 'MODULE_PATHNAME', 'LWGEOM_has_arc' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); CREATEFUNCTION ST_LineToCurve(geometry) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_line_desegmentize' + AS 'MODULE_PATHNAME', 'LWGEOM_line_desegmentize' LANGUAGE 'C' _IMMUTABLE_STRICT; --------------------------------------------------------------- -- END diff --git a/lwgeom/pgsql_compat.h b/lwgeom/pgsql_compat.h index 6c3ebe53e..a849d75e8 100644 --- a/lwgeom/pgsql_compat.h +++ b/lwgeom/pgsql_compat.h @@ -1,11 +1,11 @@ #ifndef _PGSQL_COMPAT_H -#if USE_VERSION < 73 +#if POSTGIS_PGSQL_VERSION < 73 #define WARNING NOTICE #endif /* PostgreSQL < 8.3 uses VARATT_SIZEP rather than SET_VARSIZE for varlena types */ -#if USE_VERSION < 83 +#if POSTGIS_PGSQL_VERSION < 83 #define SET_VARSIZE(var, size) VARATT_SIZEP(var) = size #endif diff --git a/lwgeom/sqldefines.h b/lwgeom/sqldefines.h index d0104d117..de967a8e5 100644 --- a/lwgeom/sqldefines.h +++ b/lwgeom/sqldefines.h @@ -1,9 +1,25 @@ #ifndef _LWPGIS_DEFINES #define _LWPGIS_DEFINES +/* + * Define just the version numbers; otherwise we get some strange substitutions in lwpostgis.sql.in + */ +#define POSTGIS_PGSQL_VERSION 83 +#define POSTGIS_GEOS_VERSION 30 +#define POSTGIS_PROJ_VERSION 46 + +/* + * Define the build date and the version number + * (these substitiutions are done with extra quotes sinces CPP + * won't substitute within apostrophes) + */ +#define _POSTGIS_SQL_SELECT_POSTGIS_VERSION 'SELECT ''1.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1''::text AS version' +#define _POSTGIS_SQL_SELECT_POSTGIS_BUILD_DATE 'SELECT ''2008-05-14 08:59:43''::text AS version' + + #define CREATEFUNCTION CREATE OR REPLACE FUNCTION -#if USE_VERSION > 72 +#if POSTGIS_PGSQL_VERSION > 72 # define _IMMUTABLE_STRICT IMMUTABLE STRICT # define _IMMUTABLE IMMUTABLE # define _STABLE_STRICT STABLE STRICT @@ -23,7 +39,7 @@ # define _SECURITY_DEFINER #endif -#if USE_VERSION >= 73 +#if POSTGIS_PGSQL_VERSION >= 73 # define HAS_SCHEMAS 1 #endif diff --git a/lwgeom/sqldefines.h.in b/lwgeom/sqldefines.h.in new file mode 100644 index 000000000..73fc34ff5 --- /dev/null +++ b/lwgeom/sqldefines.h.in @@ -0,0 +1,46 @@ +#ifndef _LWPGIS_DEFINES +#define _LWPGIS_DEFINES + +/* + * Define just the version numbers; otherwise we get some strange substitutions in lwpostgis.sql.in + */ +#define POSTGIS_PGSQL_VERSION @POSTGIS_PGSQL_VERSION@ +#define POSTGIS_GEOS_VERSION @POSTGIS_GEOS_VERSION@ +#define POSTGIS_PROJ_VERSION @POSTGIS_PROJ_VERSION@ + +/* + * Define the build date and the version number + * (these substitiutions are done with extra quotes sinces CPP + * won't substitute within apostrophes) + */ +#define _POSTGIS_SQL_SELECT_POSTGIS_VERSION 'SELECT ''@POSTGIS_VERSION@''::text AS version' +#define _POSTGIS_SQL_SELECT_POSTGIS_BUILD_DATE 'SELECT ''@POSTGIS_BUILD_DATE@''::text AS version' + + +#define CREATEFUNCTION CREATE OR REPLACE FUNCTION + +#if POSTGIS_PGSQL_VERSION > 72 +# define _IMMUTABLE_STRICT IMMUTABLE STRICT +# define _IMMUTABLE IMMUTABLE +# define _STABLE_STRICT STABLE STRICT +# define _STABLE STABLE +# define _VOLATILE_STRICT VOLATILE STRICT +# define _VOLATILE VOLATILE +# define _STRICT STRICT +# define _SECURITY_DEFINER SECURITY DEFINER +#else +# define _IMMUTABLE_STRICT with(iscachable,isstrict) +# define _IMMUTABLE with(iscachable) +# define _STABLE_STRICT with(isstrict) +# define _STABLE +# define _VOLATILE_STRICT with(isstrict) +# define _VOLATILE +# define _STRICT with(isstrict) +# define _SECURITY_DEFINER +#endif + +#if POSTGIS_PGSQL_VERSION >= 73 +# define HAS_SCHEMAS 1 +#endif + +#endif /* _LWPGIS_DEFINES */ diff --git a/lwgeom/sqlmm.sql.in b/lwgeom/sqlmm.sql.in index fda42e4bd..536c8fd15 100644 --- a/lwgeom/sqlmm.sql.in +++ b/lwgeom/sqlmm.sql.in @@ -118,7 +118,7 @@ CREATEFUNCTION ST_WKBToSQL(bytea) -- TODO: SE_AsShape(geometry) --CREATEFUNCTION SE_AsShape(geometry) -- RETURNS bytea --- AS '@MODULE_FILENAME@','LWGEOM_AsShape' +-- AS 'MODULE_PATHNAME','LWGEOM_AsShape' -- LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable); ------------------------------------------------------------------------------- @@ -128,7 +128,7 @@ CREATEFUNCTION ST_WKBToSQL(bytea) -- PostGIS equivalent function: ndims(geometry) CREATEFUNCTION ST_CoordDim(geometry) RETURNS smallint - AS '@MODULE_FILENAME@', 'LWGEOM_ndims' + AS 'MODULE_PATHNAME', 'LWGEOM_ndims' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- ST_Dimension(geometry) - already defined. @@ -193,19 +193,19 @@ CREATEFUNCTION SE_IsMeasured(geometry) -- PostGIS equivalent function: makePoint(float8,float8) CREATEFUNCTION ST_Point(float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_makepoint' + AS 'MODULE_PATHNAME', 'LWGEOM_makepoint' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (iscachable,isstrict); -- PostGIS equivalent function: Z(geometry) CREATEFUNCTION SE_Z(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_z_point' + AS 'MODULE_PATHNAME','LWGEOM_z_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); -- PostGIS equivalent function: M(geometry) CREATEFUNCTION SE_M(geometry) RETURNS float8 - AS '@MODULE_FILENAME@','LWGEOM_m_point' + AS 'MODULE_PATHNAME','LWGEOM_m_point' LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict); ------------------------------------------------------------------------------- @@ -321,7 +321,7 @@ CREATEFUNCTION SE_LocateAlong(geometry, float8) -- PostGIS equivalent function: locate_between_measures(geometry, float8, float8) CREATEFUNCTION SE_LocateBetween(geometry, float8, float8) RETURNS geometry - AS '@MODULE_FILENAME@', 'LWGEOM_locate_between_m' + AS 'MODULE_PATHNAME', 'LWGEOM_locate_between_m' LANGUAGE 'C' _IMMUTABLE_STRICT; diff --git a/macros/ac_proj4_version.m4 b/macros/ac_proj4_version.m4 new file mode 100644 index 000000000..50f8f7c4a --- /dev/null +++ b/macros/ac_proj4_version.m4 @@ -0,0 +1,32 @@ +dnl +dnl Return the PROJ.4 version number +dnl +dnl Written by Mark Cave-Ayland +dnl + +AC_DEFUN([AC_PROJ_VERSION], [ + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([ + #ifdef HAVE_STDINT_H + #include + #endif + #include "proj_api.h" + ], + [ + FILE *fp; + + fp = fopen("conftest.out", "w"); + fprintf(fp, "%d\n", PJ_VERSION); + fclose(fp)]) + ], + [ + dnl The program ran successfully, so return the version number in the form MAJORMINOR + $1=`cat conftest.out | sed 's/\([[0-9]]\)\([[0-9]]\)\([[0-9]]\)/\1\2/'` + ], + [ + dnl The program failed so return an empty variable + $1="" + ] + ) +]) + diff --git a/postgis_config.h.in b/postgis_config.h.in new file mode 100644 index 000000000..2e9547a17 --- /dev/null +++ b/postgis_config.h.in @@ -0,0 +1,67 @@ +/* postgis_config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `geos_c' library (-lgeos_c). */ +#undef HAVE_LIBGEOS_C + +/* Define to 1 if you have the `pq' library (-lpq). */ +#undef HAVE_LIBPQ + +/* Define to 1 if you have the `proj' library (-lproj). */ +#undef HAVE_LIBPROJ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Enable caching of bounding box within geometries */ +#undef POSTGIS_AUTOCACHE_BBOX + +/* PostGIS build date */ +#undef POSTGIS_BUILD_DATE + +/* GEOS library version */ +#undef POSTGIS_GEOS_VERSION + +/* PostGIS library version */ +#undef POSTGIS_LIB_VERSION + +/* PostgreSQL server version */ +#undef POSTGIS_PGSQL_VERSION + +/* PROJ library version */ +#undef POSTGIS_PROJ_VERSION + +/* PostGIS scripts version */ +#undef POSTGIS_SCRIPTS_VERSION + +/* Enable use of ANALYZE statistics */ +#undef POSTGIS_USE_STATS + +/* PostGIS version */ +#undef POSTGIS_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS diff --git a/regress/Makefile b/regress/Makefile.in similarity index 62% rename from regress/Makefile rename to regress/Makefile.in index 78ed87384..4c5aff14b 100644 --- a/regress/Makefile +++ b/regress/Makefile.in @@ -1,6 +1,8 @@ TMPDIR?=/tmp -include ../Makefile.config +POSTGIS_PGSQL_VERSION=@POSTGIS_PGSQL_VERSION@ +POSTGIS_GEOS_VERSION=@POSTGIS_GEOS_VERSION@ +POSTGIS_PROJ_VERSION=@POSTGIS_PROJ_VERSION@ TESTS = \ loader/Point \ @@ -36,7 +38,12 @@ TESTS = \ sql-mm-general \ sql-mm-multicurve \ sql-mm-multisurface \ - geojson + geojson \ + regress_ogc \ + regress_bdpoly \ + regress_proj \ + kml + PREPROC = \ sql-mm-circularstring_expected \ @@ -46,42 +53,29 @@ PREPROC = \ sql-mm-multisurface_expected -# GEOS tests only if GEOS is available -ifeq ($(USE_GEOS),1) - TESTS += regress_ogc regress_bdpoly - # Covers/CoveredBy only if GEOS >= 3.0 -ifeq ($(shell expr $(GEOS_VERNUM) ">=" 30),1) +ifeq ($(shell expr $(POSTGIS_GEOS_VERSION) ">=" 30),1) TESTS += regress_ogc_cover # PreparedGeometry only if GEOS >= 3.1 -ifeq ($(shell expr $(GEOS_VERNUM) ">=" 31),1) +ifeq ($(shell expr $(POSTGIS_GEOS_VERSION) ">=" 31),1) TESTS += regress_ogc_prep endif endif -endif -ifeq ($(USE_PROJ),1) - TESTS += regress_proj kml -endif all: test -test check: lwpostgis.sql ../lwgeom/liblwgeom.so ../loader/pgsql2shp ../loader/shp2pgsql $(PREPROC) - @USE_VERSION="$(USE_VERSION)" ./run_test $(TESTS) - -lwpostgis.sql: ../lwgeom/lwpostgis.sql.in - $(MAKE) -C ../lwgeom ../regress/lwpostgis.sql +test check: ../lwgeom/liblwgeom.so ../loader/pgsql2shp ../loader/shp2pgsql $(PREPROC) + cp ../lwgeom/lwpostgis.sql . + @USE_VERSION="$(POSTGIS_PGSQL_VERSION)" ./run_test $(TESTS) ../lwgeom/liblwgeom.so: - $(MAKE) -C ../lwgeom all-shared-lib - -../loader/pgsql2shp: - $(MAKE) -C ../loader pgsql2shp + $(MAKE) -C ../lwgeom -../loader/shp2pgsql: - $(MAKE) -C ../loader shp2pgsql +../loader/pgsql2shp ../loader/shp2pgsql: + $(MAKE) -C ../loader $(PREPROC): cpp -P -traditional-cpp $@.in | grep -v "^$$" > $@ diff --git a/regress/run_test b/regress/run_test index 791efffc5..a324b6449 100755 --- a/regress/run_test +++ b/regress/run_test @@ -130,7 +130,7 @@ run_simple_test () > "${OUTFILE}" rm ${TMPFILE} - if diff "${_expected}" "${OUTFILE}" > ${DIFFILE}; then + if diff -c "${_expected}" "${OUTFILE}" > ${DIFFILE}; then #SUCCESS=`expr $SUCCESS + 1` rm "${OUTFILE}" "${DIFFILE}" # we don't need these anymore return 0 diff --git a/regress/sql-mm-circularstring_expected.in b/regress/sql-mm-circularstring_expected.in index d3c056963..766f90ec3 100644 --- a/regress/sql-mm-circularstring_expected.in +++ b/regress/sql-mm-circularstring_expected.in @@ -1,4 +1,4 @@ -#include "../config.h" +#include "../postgis_config.h" ndims01|4 geometrytype01|CIRCULARSTRING ndims02|3 diff --git a/regress/sql-mm-compoundcurve_expected.in b/regress/sql-mm-compoundcurve_expected.in index 48b9d4a7a..6cc32f943 100644 --- a/regress/sql-mm-compoundcurve_expected.in +++ b/regress/sql-mm-compoundcurve_expected.in @@ -1,4 +1,4 @@ -#include "../config.h" +#include "../postgis_config.h" ndims01|4 geometrytype01|COMPOUNDCURVE ndims02|3 diff --git a/regress/sql-mm-curvepoly_expected.in b/regress/sql-mm-curvepoly_expected.in index 15c22a12e..259861d36 100644 --- a/regress/sql-mm-curvepoly_expected.in +++ b/regress/sql-mm-curvepoly_expected.in @@ -1,4 +1,4 @@ -#include "../config.h" +#include "../postgis_config.h" ndims01|4 geometrytype01|CURVEPOLYGON ndims02|3 diff --git a/regress/sql-mm-multicurve_expected.in b/regress/sql-mm-multicurve_expected.in index 205f3792a..b6d5ee2be 100644 --- a/regress/sql-mm-multicurve_expected.in +++ b/regress/sql-mm-multicurve_expected.in @@ -1,4 +1,4 @@ -#include "../config.h" +#include "../postgis_config.h" ndims01|4 geometrytype01|MULTICURVE ndims02|3 diff --git a/regress/sql-mm-multisurface_expected.in b/regress/sql-mm-multisurface_expected.in index 28e34a3d2..0173081ad 100644 --- a/regress/sql-mm-multisurface_expected.in +++ b/regress/sql-mm-multisurface_expected.in @@ -1,4 +1,4 @@ -#include "../config.h" +#include "../postgis_config.h" ndims01|4 geometrytype01|MULTISURFACE ndims02|3 -- 2.50.1