diff --git a/.github/workflows/code_layout.yml b/.github/workflows/code_layout.yml
index 5516ada8..9e170a28 100644
--- a/.github/workflows/code_layout.yml
+++ b/.github/workflows/code_layout.yml
@@ -9,7 +9,7 @@ on:
jobs:
c_code_layout:
name: C linter
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- name: Check out repository code
uses: actions/checkout@v2
diff --git a/.github/workflows/jammy_postgres18_postgis33.yml b/.github/workflows/jammy_postgres18_postgis33.yml
new file mode 100644
index 00000000..a7e39537
--- /dev/null
+++ b/.github/workflows/jammy_postgres18_postgis33.yml
@@ -0,0 +1,28 @@
+name: "[ubuntu-22.04] PostgreSQL 18 and PostGIS 3.3"
+
+on:
+ push:
+ branches:
+ - master
+
+ pull_request:
+
+jobs:
+ build:
+ name: Building and testing
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Check out repository code
+ uses: actions/checkout@v2
+ - name: Install PostgreSQL and PostGIS
+ env:
+ POSTGRESQL_VERSION: 18
+ POSTGIS_VERSION: 3
+ run: .github/scripts/postgresql_postgis.sh
+ - name: Install and check PgPointCloud
+ run: .github/scripts/pgpointcloud.sh
+ - name: Error
+ if: ${{ failure() }}
+ run: cat pgsql/regression.diffs
+ - name: Dump and restore tests
+ run: .github/scripts/test_dump_restore.sh
diff --git a/.github/workflows/jammy_postgres19_postgis33.yml b/.github/workflows/jammy_postgres19_postgis33.yml
new file mode 100644
index 00000000..f5a0d4b2
--- /dev/null
+++ b/.github/workflows/jammy_postgres19_postgis33.yml
@@ -0,0 +1,28 @@
+name: "[ubuntu-22.04] PostgreSQL 19 and PostGIS 3.3"
+
+on:
+ push:
+ branches:
+ - master
+
+ pull_request:
+
+jobs:
+ build:
+ name: Building and testing
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Check out repository code
+ uses: actions/checkout@v2
+ - name: Install PostgreSQL and PostGIS
+ env:
+ POSTGRESQL_VERSION: 19
+ POSTGIS_VERSION: 3
+ run: .github/scripts/postgresql_postgis.sh
+ - name: Install and check PgPointCloud
+ run: .github/scripts/pgpointcloud.sh
+ - name: Error
+ if: ${{ failure() }}
+ run: cat pgsql/regression.diffs
+ - name: Dump and restore tests
+ run: .github/scripts/test_dump_restore.sh
diff --git a/.github/workflows/noble_postgres18_postgis33.yml b/.github/workflows/noble_postgres18_postgis33.yml
new file mode 100644
index 00000000..eb0efe2b
--- /dev/null
+++ b/.github/workflows/noble_postgres18_postgis33.yml
@@ -0,0 +1,28 @@
+name: "[ubuntu-24.04] PostgreSQL 18 and PostGIS 3.3"
+
+on:
+ push:
+ branches:
+ - master
+
+ pull_request:
+
+jobs:
+ build:
+ name: Building and testing
+ runs-on: ubuntu-24.04
+ steps:
+ - name: Check out repository code
+ uses: actions/checkout@v2
+ - name: Install PostgreSQL and PostGIS
+ env:
+ POSTGRESQL_VERSION: 18
+ POSTGIS_VERSION: 3
+ run: .github/scripts/postgresql_postgis.sh
+ - name: Install and check PgPointCloud
+ run: .github/scripts/pgpointcloud.sh
+ - name: Error
+ if: ${{ failure() }}
+ run: cat pgsql/regression.diffs
+ - name: Dump and restore tests
+ run: .github/scripts/test_dump_restore.sh
diff --git a/.github/workflows/noble_postgres19_postgis33.yml b/.github/workflows/noble_postgres19_postgis33.yml
new file mode 100644
index 00000000..80614718
--- /dev/null
+++ b/.github/workflows/noble_postgres19_postgis33.yml
@@ -0,0 +1,28 @@
+name: "[ubuntu-24.04] PostgreSQL 19 and PostGIS 3.3"
+
+on:
+ push:
+ branches:
+ - master
+
+ pull_request:
+
+jobs:
+ build:
+ name: Building and testing
+ runs-on: ubuntu-24.04
+ steps:
+ - name: Check out repository code
+ uses: actions/checkout@v2
+ - name: Install PostgreSQL and PostGIS
+ env:
+ POSTGRESQL_VERSION: 19
+ POSTGIS_VERSION: 3
+ run: .github/scripts/postgresql_postgis.sh
+ - name: Install and check PgPointCloud
+ run: .github/scripts/pgpointcloud.sh
+ - name: Error
+ if: ${{ failure() }}
+ run: cat pgsql/regression.diffs
+ - name: Dump and restore tests
+ run: .github/scripts/test_dump_restore.sh
diff --git a/README.md b/README.md
index b1dd31ae..3cd65957 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,8 @@ https://pgpointcloud.github.io/pointcloud/ for more information.
## Continuous integration
+The CI matrix below covers supported PostgreSQL and Ubuntu versions, with and without PostGIS. Each workflow builds the extension, runs the unit tests, generates the documentation, and performs C code formatting and SQL linting checks.
+
| | w/o PostGIS | PostGIS 3.3 |
| ------------------ |:-----------:|:-----------:|
| PostgreSQL 13 | 
 | 
 |
@@ -22,3 +24,5 @@ https://pgpointcloud.github.io/pointcloud/ for more information.
| PostgreSQL 15 | 
 | 
 |
| PostgreSQL 16 | 
 | 
 |
| PostgreSQL 17 | 
 | 
 |
+| PostgreSQL 18 | 
 | 
 |
+| PostgreSQL 19 | 
 | 
 |
diff --git a/doc/development.rst b/doc/development.rst
index 98a3a942..7ca3cd19 100644
--- a/doc/development.rst
+++ b/doc/development.rst
@@ -179,8 +179,9 @@ is based on PostgreSQL 14, PostGIS 3 and the laz-perf support is activated.
Continuous Integration
------------------------------------------------------------------------------
-pgPointcloud tests are run with `Github Actions`_ on several Ubuntu versions
-and with various PostgreSQL/PostGIS releases:
+pgPointcloud tests are run with `Github Actions`_.
+
+The CI matrix below covers supported PostgreSQL and Ubuntu versions, with and without PostGIS. Each workflow builds the extension, runs the unit tests, generates the documentation, and performs C code formatting and SQL linting checks.
+--------------------+-----------------------+-------------------------+
| | w/o PostGIS | PostGIS 3.3 |
@@ -205,6 +206,14 @@ and with various PostgreSQL/PostGIS releases:
| | | |
| | |17_33_noble| | |17_33_noble| |
+--------------------+-----------------------+-------------------------+
+| PostgreSQL 18 | |18_33_jammy| | |18_33_jammy| |
+| | | |
+| | |18_33_noble| | |18_33_noble| |
++--------------------+-----------------------+-------------------------+
+| PostgreSQL 19 | |19_33_jammy| | |19_33_jammy| |
+| | | |
+| | |19_33_noble| | |19_33_noble| |
++--------------------+-----------------------+-------------------------+
.. |13_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22
@@ -216,6 +225,10 @@ and with various PostgreSQL/PostGIS releases:
.. |17_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres17_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+17+and+PostGIS+3.3%22
+.. |18_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres18_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+18+and+PostGIS+3.3%22
+
+.. |19_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres19_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+19+and+PostGIS+3.3%22
+
.. |13_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres13_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+13+and+PostGIS+3.3%22
.. |14_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres14_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+14+and+PostGIS+3.3%22
@@ -226,6 +239,10 @@ and with various PostgreSQL/PostGIS releases:
.. |17_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres17_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+17+and+PostGIS+3.3%22
+.. |18_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres18_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+18+and+PostGIS+3.3%22
+
+.. |19_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres19_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+19+and+PostGIS+3.3%22
+
.. _`source`: https://github.com/hobu/laz-perf
.. _`DockerHub`: https://hub.docker.com/_/postgres
.. _`GitHub Actions`: https://github.com/pgpointcloud/pointcloud/actions
diff --git a/lib/cunit/cu_tester.h b/lib/cunit/cu_tester.h
index 8f3dfb10..dc0091fd 100644
--- a/lib/cunit/cu_tester.h
+++ b/lib/cunit/cu_tester.h
@@ -14,7 +14,7 @@
#define PC_TEST(test_func) \
{ \
-#test_func, test_func \
+ #test_func, test_func \
}
#define MAX_CUNIT_MSG_LENGTH 512
#define CU_ASSERT_SUCCESS(rv) CU_ASSERT((rv) == PC_SUCCESS)
diff --git a/pgsql/pc_pgsql.c b/pgsql/pc_pgsql.c
index 59438812..87bf5542 100644
--- a/pgsql/pc_pgsql.c
+++ b/pgsql/pc_pgsql.c
@@ -57,9 +57,8 @@ static Oid pointcloud_get_full_version_schema()
FuncnameGetCandidates(names, -1, NIL, false, false, false, false);
#else
int fgc_flags;
- FuncCandidateList clist =
- FuncnameGetCandidates(names, -1, NIL, false, false, false, false,
- &fgc_flags);
+ FuncCandidateList clist = FuncnameGetCandidates(names, -1, NIL, false, false,
+ false, false, &fgc_flags);
#endif
if (!clist)
return InvalidOid;