diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2c06935..72a34ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,6 +60,15 @@ jobs: PG_CONFIG=/usr/lib/postgresql/${{ matrix.pg }}/bin/pg_config \ PHP_CONFIG=php-config${{ matrix.php }} install + - name: Build and install hstore_plphp + run: | + make -C hstore_plphp \ + PG_CONFIG=/usr/lib/postgresql/${{ matrix.pg }}/bin/pg_config \ + PHP_CONFIG=php-config${{ matrix.php }} + sudo make -C hstore_plphp \ + PG_CONFIG=/usr/lib/postgresql/${{ matrix.pg }}/bin/pg_config \ + PHP_CONFIG=php-config${{ matrix.php }} install + - name: Build and install bytea_plphp run: | make -C bytea_plphp \ @@ -92,6 +101,13 @@ jobs: make -C jsonb_plphp \ PG_CONFIG=/usr/lib/postgresql/${{ matrix.pg }}/bin/pg_config installcheck + - name: Run the hstore_plphp regression tests + run: | + port=$(pg_lsclusters | awk '$1 == "${{ matrix.pg }}" && $2 == "main" { print $3 }') + sudo -u postgres env PGPORT=$port \ + make -C hstore_plphp \ + PG_CONFIG=/usr/lib/postgresql/${{ matrix.pg }}/bin/pg_config installcheck + - name: Run the bytea_plphp regression tests run: | port=$(pg_lsclusters | awk '$1 == "${{ matrix.pg }}" && $2 == "main" { print $3 }') @@ -104,6 +120,7 @@ jobs: run: | cat regression.diffs 2>/dev/null || true cat jsonb_plphp/regression.diffs 2>/dev/null || true + cat hstore_plphp/regression.diffs 2>/dev/null || true cat bytea_plphp/regression.diffs 2>/dev/null || true asan: @@ -136,6 +153,10 @@ jobs: ASAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer" sudo make -C jsonb_plphp PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config PHP_CONFIG=php-config8.3 \ ASAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer" install + make -C hstore_plphp PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config PHP_CONFIG=php-config8.3 \ + ASAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer" + sudo make -C hstore_plphp PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config PHP_CONFIG=php-config8.3 \ + ASAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer" install make -C bytea_plphp PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config PHP_CONFIG=php-config8.3 \ ASAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer" sudo make -C bytea_plphp PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config PHP_CONFIG=php-config8.3 \ @@ -167,6 +188,9 @@ jobs: sudo -u postgres env PGPORT=$port \ make -C jsonb_plphp \ PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config installcheck + sudo -u postgres env PGPORT=$port \ + make -C hstore_plphp \ + PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config installcheck sudo -u postgres env PGPORT=$port \ make -C bytea_plphp \ PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config installcheck @@ -178,4 +202,5 @@ jobs: sudo tail -50 /tmp/pg-asan.log 2>/dev/null || true cat regression.diffs 2>/dev/null || true cat jsonb_plphp/regression.diffs 2>/dev/null || true + cat hstore_plphp/regression.diffs 2>/dev/null || true cat bytea_plphp/regression.diffs 2>/dev/null || true diff --git a/hstore_plphp/expected/hstore_plphp.out b/hstore_plphp/expected/hstore_plphp.out index 00fc879..3358735 100644 --- a/hstore_plphp/expected/hstore_plphp.out +++ b/hstore_plphp/expected/hstore_plphp.out @@ -213,18 +213,9 @@ SELECT ht_via_spi(); string (1 row) +-- Tear down. The CASCADE notice lists dependent objects in a +-- version-dependent way (how PostgreSQL records TRANSFORM dependencies has +-- changed across releases), so silence it to keep the test output stable. +SET client_min_messages = warning; DROP EXTENSION hstore_plphp CASCADE; -NOTICE: drop cascades to 13 other objects -DETAIL: drop cascades to function ht_classes(hstore) -drop cascades to function ht_upcase(hstore) -drop cascades to function ht_build(integer) -drop cascades to function ht_merge(hstore,hstore) -drop cascades to function ht_empty(hstore) -drop cascades to function ht_bad() -drop cascades to function ht_nested() -drop cascades to function ht_normalize() -drop cascades to function ht_field(ht_rec) -drop cascades to function ht_make(integer) -drop cascades to function ht_shatter(hstore) -drop cascades to function ht_table(integer) -drop cascades to function ht_via_spi() +RESET client_min_messages; diff --git a/hstore_plphp/sql/hstore_plphp.sql b/hstore_plphp/sql/hstore_plphp.sql index 6bd60b6..9945405 100644 --- a/hstore_plphp/sql/hstore_plphp.sql +++ b/hstore_plphp/sql/hstore_plphp.sql @@ -148,4 +148,9 @@ TRANSFORM FOR TYPE hstore LANGUAGE plphp AS $$ $$; SELECT ht_via_spi(); +-- Tear down. The CASCADE notice lists dependent objects in a +-- version-dependent way (how PostgreSQL records TRANSFORM dependencies has +-- changed across releases), so silence it to keep the test output stable. +SET client_min_messages = warning; DROP EXTENSION hstore_plphp CASCADE; +RESET client_min_messages;