From: Sarah Hoffmann Date: Thu, 7 Mar 2024 10:39:24 +0000 (+0100) Subject: Merge pull request #3358 from lonvia/pg-module-for-pg16 X-Git-Tag: v4.4.0~1 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/11ced26025fc5db0b5085b9b5abb012266ea2aef?hp=e929693caef46af05ac60bda0debb49a0b522225 Merge pull request #3358 from lonvia/pg-module-for-pg16 Fix compilation of legacy module for PostgreSQL 16 --- diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index d1079375..7ce6320d 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -134,6 +134,10 @@ jobs: needs: create-archive runs-on: ubuntu-20.04 + strategy: + matrix: + postgresql: ["13", "16"] + steps: - uses: actions/download-artifact@v4 with: @@ -149,11 +153,13 @@ jobs: - uses: ./Nominatim/.github/actions/setup-postgresql with: - postgresql-version: 13 + postgresql-version: ${{ matrix.postgresql }} postgis-version: 3 - name: Install Postgresql server dev - run: sudo apt-get install postgresql-server-dev-13 + run: sudo apt-get install postgresql-server-dev-$PGVER + env: + PGVER: ${{ matrix.postgresql }} - uses: ./Nominatim/.github/actions/build-nominatim with: diff --git a/module/CMakeLists.txt b/module/CMakeLists.txt index c8594298..01831f90 100644 --- a/module/CMakeLists.txt +++ b/module/CMakeLists.txt @@ -1,6 +1,6 @@ # just use the pgxs makefile -foreach(suffix ${PostgreSQL_ADDITIONAL_VERSIONS} "15" "14" "13" "12" "11" "10" "9.6") +foreach(suffix ${PostgreSQL_ADDITIONAL_VERSIONS} "16" "15" "14" "13" "12" "11" "10" "9.6") list(APPEND PG_CONFIG_HINTS "/usr/pgsql-${suffix}/bin") endforeach() diff --git a/module/nominatim.c b/module/nominatim.c index 9d43c22f..54632f76 100644 --- a/module/nominatim.c +++ b/module/nominatim.c @@ -11,10 +11,12 @@ #include "mb/pg_wchar.h" #include -#ifdef PG_MODULE_MAGIC -PG_MODULE_MAGIC; +#if PG_MAJORVERSION_NUM > 15 +#include "varatt.h" #endif +PG_MODULE_MAGIC; + Datum transliteration( PG_FUNCTION_ARGS ); Datum gettokenstring( PG_FUNCTION_ARGS ); void str_replace(char* buffer, int* len, int* changes, char* from, int fromlen, char* to, int tolen, int);