Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#4876 closed defect (fixed)

PostgreSQL 14 regress failure on uninstall and raster regresses many

Reported by: robe Owned by: pramsey
Priority: blocker Milestone: PostGIS 3.1.2
Component: postgis Version: master
Keywords: Cc:

Description

https://debbie.postgis.net/job/PostGIS_Regress/16554/consoleFull

23:59:40  -------------- Compiler Info ------------- 
23:59:40   C compiler:           gcc -std=gnu99 -g -O2 -fno-math-errno -fno-signed-zeros
23:59:40   C++ compiler (Wagyu): gcc -std=c++11 -x c++ 
23:59:40   CPPFLAGS:              -I/var/lib/jenkins/workspace/geos/rel-3.10w64/include   -I/usr/include/libxml2 -I/usr/include -I/usr/include/json-c  -DNDEBUG 
23:59:40   LDFLAGS:               -lm
23:59:40   SQL preprocessor:     /usr/bin/cpp -traditional-cpp -w -P
23:59:40 
23:59:40  -------------- Additional Info ------------- 
23:59:40   Interrupt Tests:   DISABLED use: --with-interrupt-tests to enable
23:59:40 
23:59:40  -------------- Dependencies -------------- 
23:59:40   GEOS config:          /var/lib/jenkins/workspace/geos/rel-3.10w64/bin/geos-config
23:59:40   GEOS version:         3.10.0dev
23:59:40   GDAL config:          /var/lib/jenkins/workspace/gdal/rel-3.2w64/bin/gdal-config
23:59:40   GDAL version:         3.2.2
23:59:40   SFCGAL config:        /usr/bin/sfcgal-config
23:59:40   SFCGAL version:       1.3.8
23:59:40   PostgreSQL config:    /var/lib/jenkins/workspace/pg/rel/pg14w64/bin/pg_config
23:59:40   PostgreSQL version:   PostgreSQL 14devel
23:59:40   PROJ4 version:        72
23:59:40   Libxml2 config:       /usr/bin/xml2-config
23:59:40   Libxml2 version:      2.9.10
23:59:40   JSON-C support:       yes
23:59:40   protobuf support:     yes
23:59:40   protobuf-c version:   1003003
23:59:40   PCRE support:         no
23:59:40   Perl:                 /usr/bin/perl
23:59:40 
23:59:40  --------------- Extensions --------------- 
23:59:40   PostGIS Raster:                     enabled
23:59:40   PostGIS Topology:                   enabled
23:59:40   SFCGAL support:                     enabled
23:59:40   Address Standardizer support:       disabled
23:59:40 
23:59:40  -------- Documentation Generation -------- 
23:59:40   xsltproc:             /usr/bin/xsltproc
23:59:40   xsl style sheets:     /usr/share/xml/docbook/stylesheet/docbook-xsl
23:59:40   dblatex:              /usr/bin/dblatex
23:59:40   convert:              /usr/bin/convert
23:59:40   mathml2.dtd:          /usr/share/xml/schema/w3c/mathml/dtd/mathml2.dtd
23:59:40 
00:05:54 psql:/var/lib/jenkins/workspace/postgis/branches/3.2/regress/00-regress-install/share/contrib/postgis/uninstall_postgis.sql:82: ERROR:  cannot drop operator @(geometry,geometry) because other objects depend on it
00:05:54 DETAIL:  constraint enforce_max_extent_rast on table loadedrast depends on operator @(geometry,geometry)
00:05:54 HINT:  Use DROP ... CASCADE to drop the dependent objects too.
00:05:54 -----------------------------------------------------------------------------
00:05:54 . failed (Object count pre-install (5173) != post-uninstall (6584))
00:05:54 
00:05:54 Run tests: 293
00:05:54 Failed: 30

Started happening around 3/8 or so but hard to say what caused it.

Attachments (2)

rtpostgis.sql.patch (8.9 KB ) - added by pramsey 4 years ago.
rtpg_band_properties.c.patch (4.3 KB ) - added by pramsey 4 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 by robe, 4 years ago

https://debbie.postgis.net/job/PG_Version_Dev_Git/7459/

Looks like it started failing after these PostgreSQL master commits:

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=fed10d4eec79242688382d03ddca82007160ee6f

    Properly mark pg_stat_get_subscription() as returning a set. (details)
    Complain if a function-in-FROM returns a set when it shouldn't. (details)

Commit fed10d4eec79242688382d03ddca82007160ee6f by tgl

Properly mark pg_stat_get_subscription() as returning a set.

The initial catalog data for this function failed to set proretset
or provide a prorows estimate.  It accidentally worked anyway when
invoked in the FROM clause, because the executor isn't too picky
about this; but the planner didn't expect the function to return
multiple rows, which could lead to bad plans.  Also the function
would fail if invoked in the SELECT list.

We can't easily back-patch this fix, but fortunately the bug's
consequences aren't awful in most cases.  Getting this right is
mainly an exercise in future-proofing.

Discussion: https://postgr.es/m/1636062.1615141782@sss.pgh.pa.us

The file was modified	src/include/catalog/catversion.h
The file was modified	src/include/catalog/pg_proc.dat
Commit d4545dc19b8ea670bf62e06d22b0e4e6fcb45153 by tgl

Complain if a function-in-FROM returns a set when it shouldn't.

Throw a "function protocol violation" error if a function in FROM
tries to return a set though it wasn't marked proretset.  Although
such cases work at the moment, it doesn't seem like something we
want to guarantee will keep working.  Besides, there are other
negative consequences of not setting the proretset flag, such as
potentially bad plans.

No back-patch, since if there is any third-party code violating
this expectation, people wouldn't appreciate us breaking it in
a minor release.

Discussion: https://postgr.es/m/1636062.1615141782@sss.pgh.pa.us

The file was modified	src/backend/executor/execSRF.c

and https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d4545dc19b8ea670bf62e06d22b0e4e6fcb45153

    Complain if a function-in-FROM returns a set when it shouldn't. 


Last edited 4 years ago by robe (previous) (diff)

comment:2 by robe, 4 years ago

Summary: PostgreSQL 14 regress failure on uninstallPostgreSQL 14 regress failure on uninstall and raster regresses many

As pramsey pointed out, many raster failures as well, but they all look to have started around these PostgreSQL commits.

 ./raster/test/regress/check_raster_columns .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_200_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/check_raster_columns_expected	2020-04-18 02:09:34.698593750 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_200_out	2021-03-09 02:13:27.076727945 +0000
@@ -1,23 +1,34 @@
 raster_columns
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
-test_raster_columns|rast|0|1|1|2|2|t|f|1|{8BUI}|{0}|POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+test_raster_columns|rast|0|1|1|2|2|t|f|1|||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 t
 test_raster_columns|rast|0|||||f|f||||
 t
 test_raster_columns|rast|0|||2|2|f|f||||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 t
 test_raster_columns|rast|0|||2|2|f|f||||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
-test_raster_columns|rast|0|1|1|2|2|t|f|1||{0}|POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+test_raster_columns|rast|0|1|1|2|2|t|f|1|||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 t
-test_raster_columns|rast|0|||2|2|t|f|1||{0}|POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+test_raster_columns|rast|0|||2|2|t|f|1|||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
 t
-test_raster_columns|rast|0|1|1|3|3|t|t|1|{8BUI}|{0}|POLYGON((0 0,0 6,6 6,6 0,0 0))
+test_raster_columns|rast|0|1|1|3|3|t|t|1|||POLYGON((0 0,0 6,6 6,6 0,0 0))
 ERROR:  conflicting key value violates exclusion constraint "enforce_spatially_unique_test_raster_columns_rast"
 ERROR:  new row for relation "test_raster_columns" violates check constraint "enforce_coverage_tile_rast"
 t
-test_raster_columns|rast|0|1|1|3|3|t|f|1|{8BUI}|{0}|POLYGON((0 0,0 6,6 6,6 0,0 0))
+test_raster_columns|rast|0|1|1|3|3|t|f|1|||POLYGON((0 0,0 6,6 6,6 0,0 0))
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
 t
-----------------------------------------------------------------------------
 ./raster/test/regress/check_raster_overviews .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_201_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/check_raster_overviews_expected	2020-04-18 02:09:34.702593719 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_201_out	2021-03-09 02:13:27.592711807 +0000
@@ -1,15 +1,18 @@
 raster_overviews
 test_raster_columns|rast|0|||||f|f||||
 test_raster_overviews|rast|0|||||f|f||||
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
-test_raster_columns|rast|0|1|1|2|2|t|f|1|{8BUI}|{0}|POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+test_raster_columns|rast|0|1|1|2|2|t|f|1|||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 test_raster_overviews|rast|0|||||f|f||||
 t
-test_raster_columns|rast|0|1|1|2|2|t|f|1|{8BUI}|{0}|POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+test_raster_columns|rast|0|1|1|2|2|t|f|1|||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 test_raster_overviews|rast|0|||||f|f||||
 test_raster_overviews|rast|test_raster_columns|rast|1
 t
-test_raster_columns|rast|0|1|1|2|2|t|f|1|{8BUI}|{0}|POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
+test_raster_columns|rast|0|1|1|2|2|t|f|1|||POLYGON((-2 -2,-2 4,4 4,4 -2,-2 -2))
 test_raster_overviews|rast|0|||||f|f||||
 t
 test_raster_columns|rast|0|||||f|f||||
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_io .. ok in 163 ms
 ./raster/test/regress/rt_bytea .. ok in 127 ms
 ./raster/test/regress/rt_wkb .. ok in 149 ms
 ./raster/test/regress/box3d .. ok in 162 ms
 ./raster/test/regress/rt_addband .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_206_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_addband_expected	2020-04-18 02:09:34.714593626 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_206_out	2021-03-09 02:13:28.588680658 +0000
@@ -90,35 +90,12 @@
 NOTICE:  RASTER_copyBand: Could not add band to raster. Returning original raster.
 1234.5678
 1234.567|255
-1|4BUI|0|f||||
-2|8BUI|0|f||||
-3|16BUI|0|f||||
-4|32BUI|0|f||||
-5|64BF|0|f||||
-1|2BUI|0|f||||
-2|4BUI|0|f||||
-3|8BUI|0|f||||
-4|16BUI|0|f||||
-5|32BUI|0|f||||
-6|64BF|0|f||||
-1|4BUI|0|f||||
-2|8BUI|0|f||||
-3|16BUI|0|f||||
-4|32BUI|0|f||||
-5|64BF|0|f||||
-6|2BUI|0|f||||
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
 90
-1|1|t|t
-1|2|t|t
-1|3|t|t
-2|1|t|t
-2|2|t|t
-2|3|t|t
-3|1|f|
-3|2|t|t
-4|1|t|t
-4|2|f|
-NOTICE:  Attempting to get pixel value with out of range raster coordinates: (99, 99)
-255
-90
-255
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_band .. ok in 241 ms
 ./raster/test/regress/rt_tile .. ok in 138 ms
 ./raster/test/regress/rt_dimensions .. ok in 137 ms
 ./raster/test/regress/rt_scale .. ok in 128 ms
 ./raster/test/regress/rt_pixelsize .. ok in 141 ms
 ./raster/test/regress/rt_upperleft .. ok in 129 ms
 ./raster/test/regress/rt_rotation .. ok in 157 ms
 ./raster/test/regress/rt_georeference .. ok in 178 ms
 ./raster/test/regress/rt_set_properties .. ok in 136 ms
 ./raster/test/regress/rt_isempty .. ok in 117 ms
 ./raster/test/regress/rt_hasnoband .. ok in 113 ms
 ./raster/test/regress/rt_metadata .. ok in 91 ms
 ./raster/test/regress/rt_rastertoworldcoord .. ok in 188 ms
 ./raster/test/regress/rt_worldtorastercoord .. ok in 201 ms
 ./raster/test/regress/rt_convexhull .. ok in 142 ms
 ./raster/test/regress/rt_envelope .. ok in 96 ms
 ./raster/test/regress/rt_band_properties .. ok in 138 ms
 ./raster/test/regress/rt_set_band_properties .. ok in 123 ms
 ./raster/test/regress/rt_pixelaspolygons .. ok in 137 ms
 ./raster/test/regress/rt_pixelaspoints .. ok in 203 ms
 ./raster/test/regress/rt_pixelascentroids .. ok in 149 ms
 ./raster/test/regress/rt_setvalues_array .. ok in 208 ms
 ./raster/test/regress/rt_summarystats .. ok in 128 ms
 ./raster/test/regress/rt_count .. ok in 128 ms
 ./raster/test/regress/rt_histogram .. ok in 115 ms
 ./raster/test/regress/rt_quantile .. ok in 115 ms
 ./raster/test/regress/rt_valuecount .. ok in 133 ms
 ./raster/test/regress/rt_valuepercent .. ok in 125 ms
 ./raster/test/regress/rt_bandmetadata .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_235_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_bandmetadata_expected	2020-04-18 02:09:34.714593626 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_235_out	2021-03-09 02:13:34.096508399 +0000
@@ -1,15 +1,9 @@
-8BUI||f||
-8BUI|1.000|f||
-8BUI|2.000|f||
-8BUI|3.000|f||
-8BUI|4.000|f||
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  Invalid band index: 6. Indices must be 1-based. Returning NULL
 ||||
-1|1.000|f||
-2|2.000|f||
-5|5.000|f||
-1|1.000|f||
-2|2.000|f||
-3|3.000|f||
-4|4.000|f||
-5|5.000|f||
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_pixelvalue .. ok in 147 ms
 ./raster/test/regress/rt_neighborhood .. ok in 143 ms
 ./raster/test/regress/rt_nearestvalue .. ok in 155 ms
 ./raster/test/regress/rt_pixelofvalue .. ok in 134 ms
 ./raster/test/regress/rt_polygon .. ok in 147 ms
 ./raster/test/regress/rt_setbandpath .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_241_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_setbandpath_expected	2020-04-18 02:09:34.738593441 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_241_out	2021-03-09 02:13:35.212473498 +0000
@@ -1,6 +1 @@
-1|1|t|t|1
-1|2|t|t|2
-1|3|t|t|3
-2|1|t|t|2
-2|2|t|t|2
-2|3|t|t|3
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_utility .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_242_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_utility_expected	2020-04-18 02:09:34.742593410 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_242_out	2021-03-09 02:13:35.428466742 +0000
@@ -31,26 +31,9 @@
 test 11.9|t
 test 11.10|t
 test 11.11|t
-Raster of 10x10 pixels has 3 bands and extent of BOX(0 -10,10 0)
-    band 1 of pixtype 8BUI is in-db with NODATA value of 0
-    band 2 of pixtype 32BF is in-db with NODATA value of -9999
-    band 3 of pixtype 16BSI is in-db with no NODATA value
-Skewed raster of 10x10 pixels has 1 band and extent of BOX(0 -10,10 0.0001)
-    band 1 of pixtype 8BUI is in-db with NODATA value of 0
-1|Raster of 90x50 pixels has 3 bands and extent of BOX(0 -50,90 0)
-    band 1 of pixtype 8BUI is out-db with no NODATA value
-    band 2 of pixtype 8BUI is out-db with no NODATA value
-    band 3 of pixtype 8BUI is out-db with no NODATA value
-2|Raster of 90x50 pixels has 3 bands and extent of BOX(0 -50,90 0)
-    band 1 of pixtype 8BUI is out-db with no NODATA value
-    band 2 of pixtype 8BUI is out-db with no NODATA value
-    band 3 of pixtype 8BUI is out-db with no NODATA value
-3|Raster of 90x50 pixels has 2 bands and extent of BOX(0 -50,90 0)
-    band 1 of pixtype 8BUI is in-db with NODATA value of 0
-    band 2 of pixtype 8BUI is out-db with no NODATA value
-4|Raster of 90x50 pixels has 2 bands and extent of BOX(0 -50,90 0)
-    band 1 of pixtype 8BUI is out-db with NODATA value of 255
-    band 2 of pixtype 8BUI is in-db with NODATA value of 0
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
 ms1|64
 NOTICE:  Could not find raster band of index 1 when getting band path. Returning NULL
 bandpath1|
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_fromgdalraster .. ok in 114 ms
 ./raster/test/regress/rt_asgdalraster .. ok in 181 ms
 ./raster/test/regress/rt_astiff .. ok in 170 ms
 ./raster/test/regress/rt_asjpeg .. ok in 117 ms
 ./raster/test/regress/rt_aspng .. ok in 127 ms
 ./raster/test/regress/rt_reclass .. ok in 118 ms
 ./raster/test/regress/rt_gdalwarp .. ok in 993 ms
 ./raster/test/regress/rt_asraster .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_250_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_asraster_expected	2020-04-18 02:09:34.714593626 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_250_out	2021-03-09 02:13:38.168381052 +0000
@@ -10,55 +10,4 @@
 NOTICE:  The geometry's SRID (993310) is not the same as the raster's SRID (992163).  The geometry will be transformed to the raster's projection
 NOTICE:  The geometry's SRID (993310) is not the same as the raster's SRID (992163).  The geometry will be transformed to the raster's projection
 NOTICE:  The geometry's SRID (993310) is not the same as the raster's SRID (992163).  The geometry will be transformed to the raster's projection
-NOTICE:  The rasters have different scales on the X axis
-NOTICE:  The rasters have different scales on the X axis
-NOTICE:  The rasters have different scales on the X axis
-NOTICE:  The rasters have different scales on the X axis
-1.0||||||||||||||||
-1.1|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|1.000|1.000|
-1.10|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|32BF|0.000|t|1.000|1.000|
-1.11|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|8BSI|0.000|t|1.000|1.000|
-1.12|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|16BUI|0.000|t|1.000|1.000|
-1.13|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|32BF|0.000|t|255.000|255.000|
-1.14|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|32BF|1.000|t|255.000|255.000|
-1.15|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|1.000|1.000|
-1.16|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|32BF||t|0.000|255.000|
-1.17|993310|141|87|2|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|32BF||t|0.000|255.000|
-1.18|993310|10|10|2|14065.366|-8691.142|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|255.000|255.000|
-1.19|993310|141|87|3|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|32BF||t|0.000|255.000|
-1.2|993310|1407|869|1|100.000|-100.000|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|1.000|1.000|
-1.20|993310|141|87|2|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|1BB|1.000|f|||
-1.3|993310|500|500|1|281.307|-173.823|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|1.000|1.000|
-1.4|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|1.000|1.000|
-1.5|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|8BSI|0.000|t|1.000|1.000|
-1.6|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|16BUI|0.000|t|1.000|1.000|
-1.7|993310|1407|869|1|100.000|-100.000|0.000|0.000|-175453.086|114987.661|32BF|0.000|t|1.000|1.000|
-1.8|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|8BSI|0.000|t|1.000|1.000|
-1.9|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175453.086|114987.661|16BUI|0.000|t|1.000|1.000|
-2.0||||||||||||||||
-2.1||||||||||||||||
-2.2|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-175400.000|115000.000|8BUI|0.000|t|255.000|255.000|
-2.3|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-170000.000|114988.000|8BUI|0.000|t|255.000|255.000|
-2.4|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-170000.000|110000.000|8BUI|0.000|t|255.000|255.000|
-2.5|993310|141|87|1|1000.000|-1000.000|0.000|0.000|-179000.000|119000.000|8BUI|0.000|t|255.000|255.000|
-2.6|993310|100|100|1|1406.537|-869.114|0.000|0.000|-179000.000|119000.000|8BUI|0.000|t|255.000|255.000|
-2.7|993310|100|100|1|1406.537|-869.114|0.000|0.000|-179000.000|119000.000|8BUI|0.000|t|255.000|255.000|
-3.0||||||||||||||||
-3.1|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|255.000|255.000|
-3.2|993310|100|100|1|1406.537|-869.114|0.000|0.000|-175453.086|114987.661|8BUI|0.000|t|255.000|255.000|
-3.3|993310|100|100|1|1406.537|-869.114|1.000|0.000|-175565.609|114987.661|8BUI|0.000|t|255.000|255.000|
-3.4|993310|100|100|1|1406.537|-869.114|0.000|1.000|-175453.086|114987.661|8BUI|0.000|t|255.000|255.000|
-3.5|993310|101|101|1|1406.537|-869.114|10.000|-5.000|-176465.793|115491.747|8BUI|0.000|t|255.000|255.000|
-3.6|993310|100|101|1|1406.537|-869.114|-5.000|10.000|-175453.086|114987.661|8BUI|0.000|t|255.000|255.000|
-4.0||||||||||||||||
-4.1|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|8BUI|0.000|t|1.000|1.000|t
-4.10|993310|142|88|1|1000.000|-1000.000|0.000|0.000|-176100.000|115100.000|16BUI|0.000|t|13.000|13.000|f
-4.11|993310|142|88|1|1000.000|-1000.000|0.000|0.000|-176100.000|115100.000|16BUI|0.000|t|13.000|13.000|f
-4.2|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|64BF|0.000|t|1.000|1.000|t
-4.3|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|16BUI|0.000|t|13.000|13.000|t
-4.4|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|16BUI||t|0.000|13.000|t
-4.5|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|16BUI|0.000|t|13.000|13.000|t
-4.6|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|16BUI||t|0.000|13.000|t
-4.7|992163|150|117|1|1000.000|-1000.000|0.000|0.000|-1898000.000|-412000.000|16BUI|0.000|t|13.000|13.000|t
-4.8|993310|142|88|1|1000.000|-1000.000|0.000|0.000|-176000.000|115000.000|16BUI|0.000|t|13.000|13.000|f
-4.9|993310|142|88|1|1000.000|-1000.000|0.000|0.000|-176453.000|115987.000|16BUI|0.000|t|13.000|13.000|f
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_dumpvalues .. ok in 145 ms
 ./raster/test/regress/rt_makeemptycoverage .. ok in 102 ms
 ./raster/test/regress/rt_createoverview .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_253_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_createoverview_expected	2020-04-18 02:09:34.718593595 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_253_out	2021-03-09 02:13:44.548181525 +0000
@@ -1,7 +1,22 @@
-t
-t
-t
-t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
 res1|r|0|1|-1|10|10|t|t|t|t|t|t
 o_2_res1|r|0|2|-2|10|10|t|t|t|t|t|t
@@ -13,10 +28,25 @@
 o_8_res1|r|res1|r|8
 o_16_res1|r|res1|r|16
 count|544|136|36|10|3
-t
-t
-t
-t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
+t
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 t
 oschm|res1|r|0|1|-1|10|10|t|t|t|t|t|t
 oschm|o_4_res1|r|0|4|-4|10|10|t|t|t|t|t|t
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_mapalgebraexpr .. ok in 162 ms
 ./raster/test/regress/rt_mapalgebrafct .. ok in 154 ms
 ./raster/test/regress/rt_mapalgebraexpr_2raster .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_256_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_mapalgebraexpr_2raster_expected	2020-04-18 02:09:34.730593503 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_256_out	2021-03-09 02:13:45.220160510 +0000
@@ -46,215 +46,4 @@
 NOTICE:  The SECOND raster is NULL.  Returning NULL
 NOTICE:  The SECOND raster is NULL.  Returning NULL
 NOTICE:  The two rasters provided are NULL.  Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-0|1|INTERSECTION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|2|INTERSECTION|1.000|-1.000|1|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|3|INTERSECTION|1.000|1.000|1|1|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|4|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10|11|INTERSECTION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|INTERSECTION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|INTERSECTION|1.000|1.000|2|1|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|14|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|0|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|1|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|2|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|3|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|4|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|10|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|11|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|12|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|13|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|14|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-0||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-1||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-2||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-3||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-4||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-11||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-12||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-13||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-14||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-||INTERSECTION||||||||||||||
-0|1|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.500
-0|2|UNION|-2.000|-2.000|5|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|3|UNION|-2.000|-2.000|5|5|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|4.000
-0|4|UNION|-2.000|-2.000|6|6|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|5.000
-10|11|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|UNION|-2.000|-2.000|4|5|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|
-10|14|UNION|-2.000|-2.000|4|6|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|
-0|1|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|1.500
-0|2|UNION|-2.000|-2.000|5|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|
-0|3|UNION|-2.000|-2.000|5|5|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|100.000
-0|4|UNION|-2.000|-2.000|6|6|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|100.000
-10|11|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|200.000
-10|12|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|200.000
-10|13|UNION|-2.000|-2.000|4|5|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|
-10|14|UNION|-2.000|-2.000|4|6|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|
-|0|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-|1|UNION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-|2|UNION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-|3|UNION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-|4|UNION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-|10|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|11|UNION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-|12|UNION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-|13|UNION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-|14|UNION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-0||UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-1||UNION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-2||UNION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-3||UNION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-4||UNION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10||UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-11||UNION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-12||UNION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-13||UNION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-14||UNION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-||UNION||||||||||||||
-0|1|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|2|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|3|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|4|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-10|11|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|14|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|0|FIRST||||||||||||||
-|1|FIRST||||||||||||||
-|2|FIRST||||||||||||||
-|3|FIRST||||||||||||||
-|4|FIRST||||||||||||||
-|10|FIRST||||||||||||||
-|11|FIRST||||||||||||||
-|12|FIRST||||||||||||||
-|13|FIRST||||||||||||||
-|14|FIRST||||||||||||||
-0||FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-1||FIRST|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-2||FIRST|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-3||FIRST|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-4||FIRST|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10||FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-11||FIRST|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-12||FIRST|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-13||FIRST|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-14||FIRST|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-||FIRST||||||||||||||
-0|1|SECOND|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-0|2|SECOND|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||3.000
-0|3|SECOND|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||4.000
-0|4|SECOND|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10|11|SECOND|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-10|12|SECOND|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-10|13|SECOND|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||4.000
-10|14|SECOND|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-|0|SECOND|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-|1|SECOND|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-|2|SECOND|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-|3|SECOND|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-|4|SECOND|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-|10|SECOND|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|11|SECOND|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-|12|SECOND|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-|13|SECOND|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-|14|SECOND|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-0||SECOND||||||||||||||
-1||SECOND||||||||||||||
-2||SECOND||||||||||||||
-3||SECOND||||||||||||||
-4||SECOND||||||||||||||
-10||SECOND||||||||||||||
-11||SECOND||||||||||||||
-12||SECOND||||||||||||||
-13||SECOND||||||||||||||
-14||SECOND||||||||||||||
-||SECOND||||||||||||||
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_mapalgebrafct_2raster .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_257_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_mapalgebrafct_2raster_expected	2020-04-18 02:09:34.730593503 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_257_out	2021-03-09 02:13:45.496151878 +0000
@@ -64,207 +64,4 @@
 NOTICE:  The SECOND raster is NULL.  Returning NULL
 NOTICE:  The SECOND raster is NULL.  Returning NULL
 NOTICE:  The two rasters provided are NULL.  Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Raster provided has no bands
-NOTICE:  Raster provided has no bands
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-NOTICE:  Could not find raster band of index 1 when getting pixel value. Returning NULL
-0|1|INTERSECTION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|2|INTERSECTION|1.000|-1.000|1|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|3|INTERSECTION|1.000|1.000|1|1|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|4|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10|11|INTERSECTION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|INTERSECTION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|INTERSECTION|1.000|1.000|2|1|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|14|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|0|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|1|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|2|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|3|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|4|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|10|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|11|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|12|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|13|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|14|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-0||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-1||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-2||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-3||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-4||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-11||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-12||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-13||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-14||INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-||INTERSECTION||||||||||||||
-0|1|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.500
-0|2|UNION|-2.000|-2.000|5|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|3|UNION|-2.000|-2.000|5|5|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|4.000
-0|4|UNION|-2.000|-2.000|6|6|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|5.000
-10|11|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|UNION|-2.000|-2.000|4|5|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|
-10|14|UNION|-2.000|-2.000|4|6|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|
-|0|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-|1|UNION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-|2|UNION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-|3|UNION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-|4|UNION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-|10|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|11|UNION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-|12|UNION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-|13|UNION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-|14|UNION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-0||UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-1||UNION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-2||UNION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-3||UNION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-4||UNION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10||UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-11||UNION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-12||UNION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-13||UNION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-14||UNION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-||UNION||||||||||||||
-0|1|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|2|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|3|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|4|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-10|11|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|14|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|0|FIRST||||||||||||||
-|1|FIRST||||||||||||||
-|2|FIRST||||||||||||||
-|3|FIRST||||||||||||||
-|4|FIRST||||||||||||||
-|10|FIRST||||||||||||||
-|11|FIRST||||||||||||||
-|12|FIRST||||||||||||||
-|13|FIRST||||||||||||||
-|14|FIRST||||||||||||||
-0||FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-1||FIRST|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-2||FIRST|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-3||FIRST|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-4||FIRST|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10||FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-11||FIRST|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-12||FIRST|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-13||FIRST|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-14||FIRST|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-||FIRST||||||||||||||
-0|1|SECOND|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-0|2|SECOND|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||3.000
-0|3|SECOND|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||4.000
-0|4|SECOND|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10|11|SECOND|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-10|12|SECOND|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-10|13|SECOND|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||4.000
-10|14|SECOND|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-|0|SECOND|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-|1|SECOND|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-|2|SECOND|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-|3|SECOND|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-|4|SECOND|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-|10|SECOND|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|11|SECOND|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-|12|SECOND|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-|13|SECOND|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-|14|SECOND|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-0||SECOND||||||||||||||
-1||SECOND||||||||||||||
-2||SECOND||||||||||||||
-3||SECOND||||||||||||||
-4||SECOND||||||||||||||
-10||SECOND||||||||||||||
-11||SECOND||||||||||||||
-12||SECOND||||||||||||||
-13||SECOND||||||||||||||
-14||SECOND||||||||||||||
-||SECOND||||||||||||||
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_mapalgebrafctngb .. ok in 143 ms
 ./raster/test/regress/rt_mapalgebrafctngb_userfunc .. ok in 153 ms
 ./raster/test/regress/rt_intersection .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_260_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_intersection_expected	2020-09-27 18:07:37.102763007 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_260_out	2021-03-09 02:13:46.080133614 +0000
@@ -1,27 +1,4 @@
-0|1|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|2|8BUI|0.000|1.000|1.000
-0|2|1.000|-1.000|1|2|1.000|1.000|0.000|0.000|0|2|8BUI|0.000|1.000|1.000
-0|3|1.000|1.000|1|1|1.000|1.000|0.000|0.000|0|2|8BUI|0.000|1.000|1.000
-0|4|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10|11|-0.900|-0.900|3|3|1.000|1.000|0.100|0.100|0|2|8BUI|0.000|1.000|1.000
-10|12|-1.900|-1.000|2|2|1.000|1.000|0.100|0.100|0|2|8BUI|0.000|1.000|1.000
-10|13|0.000|-1.800|2|2|1.000|1.000|0.100|0.100|0|2|8BUI|0.000|1.000|1.000
-10|14||||||||||||||
-0|1|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|8BUI|0.000|1.000|1.000
-0|2|1.000|-1.000|1|2|1.000|1.000|0.000|0.000|0|1|8BUI|0.000|1.000|1.000
-0|3|1.000|1.000|1|1|1.000|1.000|0.000|0.000|0|1|8BUI|0.000|1.000|1.000
-0|4|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10|11|-0.900|-0.900|3|3|1.000|1.000|0.100|0.100|0|1|8BUI|0.000|1.000|1.000
-10|12|-1.900|-1.000|2|2|1.000|1.000|0.100|0.100|0|1|8BUI|0.000|1.000|1.000
-10|13|0.000|-1.800|2|2|1.000|1.000|0.100|0.100|0|1|8BUI|0.000|1.000|1.000
-10|14||||||||||||||
-0|1|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|8BUI|0.000|2.000|2.000
-0|2|1.000|-1.000|1|2|1.000|1.000|0.000|0.000|0|1|8BUI|0.000|3.000|3.000
-0|3|1.000|1.000|1|1|1.000|1.000|0.000|0.000|0|1|8BUI|0.000|4.000|4.000
-0|4|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10|11|-0.900|-0.900|3|3|1.000|1.000|0.100|0.100|0|1|8BUI|0.000|2.000|2.000
-10|12|-1.900|-1.000|2|2|1.000|1.000|0.100|0.100|0|1|8BUI|0.000|3.000|3.000
-10|13|0.000|-1.800|2|2|1.000|1.000|0.100|0.100|0|1|8BUI|0.000|4.000|4.000
-10|14||||||||||||||
+ERROR:  table-function protocol for value-per-call mode was not followed
 0|1|1|1|1|1|POLYGON((0 0,1 0,1 1,0 1,0 0))
 0|1|1|1|1|1|POLYGON((0 0,1 0,1 1,0 1,0 0))
 0|1|1|1|1|2|POLYGON((0 0,1 0,1 1,0 1,0 0))
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_clip .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_261_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_clip_expected	2020-04-18 02:09:34.718593595 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_261_out	2021-03-09 02:13:46.304126609 +0000
@@ -1,43 +1,4 @@
-1|1|1|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-1|1|2|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-1|1|3|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-1|1|4|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-1|1|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-1|2|1|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-1|2|2|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-1|2|3|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-1|2|4|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-1|2|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-2|1|1|0.000|0.000|0|0|1.000|-1.000|0.000|0.000|0|0||
-2|1|2|2.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-2|1|3|1.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-2|1|4|1.000|0.000|3|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-2|1|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|0.000
-2|2|1|0.000|0.000|0|0|1.000|-1.000|0.000|0.000|0|0||
-2|2|2|2.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-2|2|3|1.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-2|2|4|1.000|0.000|3|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-2|2|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|0.000
-3|1|1|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-3|1|2|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-3|1|3|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-3|1|4|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-3|1|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-3|2|1|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-3|2|2|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-3|2|3|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-3|2|4|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-3|2|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-4|1|1|0.000|0.000|0|0|1.000|-1.000|0.000|0.000|0|0||
-4|1|2|2.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-4|1|3|1.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-4|1|4|1.000|0.000|3|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-4|1|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|1|8BUI|255.000
-4|2|1|0.000|0.000|0|0|1.000|-1.000|0.000|0.000|0|0||
-4|2|2|2.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-4|2|3|1.000|-1.000|2|2|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-4|2|4|1.000|0.000|3|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
-4|2|5|0.000|0.000|4|4|1.000|-1.000|0.000|0.000|0|3|8BUI|255.000
+ERROR:  table-function protocol for value-per-call mode was not followed
 1|1|3|2|2|1|POLYGON((1 -1,2 -1,2 -2,1 -2,1 -1))
 1|1|4|2|2|1|POLYGON((1 -1,2 -1,2 -2,1 -2,1 -1))
 1|1|4|2|3|1|POLYGON((1 -2,2 -2,2 -3,1 -3,1 -2))
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_mapalgebra .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_262_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_mapalgebra_expected	2020-04-18 02:09:34.726593534 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_262_out	2021-03-09 02:13:46.544119104 +0000
@@ -84,8 +84,7 @@
 NOTICE:  value = {{{200,200,NULL},{200,200,NULL},{NULL,NULL,NULL}}}
 NOTICE:  pos = [0:1][1:2]={{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-3|(0,0,0,0,1,-1,0,0,0,0)|(,,,,,,)|
-4|(1,-1,2,2,1,-1,0,0,0,1)|(8BUI,0,f,,,,)|255
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{NULL,NULL,NULL},{NULL,1,1},{NULL,1,1}}}
 NOTICE:  pos = [0:1][1:2]={{1,1},{1,1}}
 NOTICE:  userargs = <NULL>
@@ -98,43 +97,17 @@
 NOTICE:  value = {{{1,1,2},{1,1,2},{10,10,20}}}
 NOTICE:  pos = [0:1][1:2]={{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-NOTICE:  record = (10,"(0,0,2,2,1,-1,0,0,0,1)","(32BUI,0,f,,,,)",255)
-NOTICE:  value = {{{1,2,2},{10,20,20},{10,20,20}}}
-NOTICE:  pos = [0:1][1:2]={{1,1},{3,3}}
-NOTICE:  userargs = <NULL>
-NOTICE:  value = {{{2,2,3},{20,20,30},{20,20,30}}}
-NOTICE:  pos = [0:1][1:2]={{2,1},{4,3}}
-NOTICE:  userargs = <NULL>
-NOTICE:  value = {{{10,20,20},{10,20,20},{100,200,200}}}
-NOTICE:  pos = [0:1][1:2]={{1,2},{3,4}}
-NOTICE:  userargs = <NULL>
-NOTICE:  value = {{{20,20,30},{20,20,30},{200,200,300}}}
-NOTICE:  pos = [0:1][1:2]={{2,2},{4,4}}
-NOTICE:  userargs = <NULL>
-NOTICE:  record = (14,"(2,-2,2,2,1,-1,0,0,0,1)","(32BUI,0,f,,,,)",255)
-NOTICE:  value = {{{10,20,20},{100,200,200},{100,200,200}}}
-NOTICE:  pos = [0:1][1:2]={{1,1},{3,3}}
-NOTICE:  userargs = {1000}
-NOTICE:  value = {{{20,20,30},{200,200,300},{200,200,300}}}
-NOTICE:  pos = [0:1][1:2]={{2,1},{4,3}}
-NOTICE:  userargs = {1000}
-NOTICE:  value = {{{100,200,200},{100,200,200},{NULL,NULL,NULL}}}
-NOTICE:  pos = [0:1][1:2]={{1,2},{3,4}}
-NOTICE:  userargs = {1000}
-NOTICE:  value = {{{200,200,300},{200,200,300},{NULL,NULL,NULL}}}
-NOTICE:  pos = [0:1][1:2]={{2,2},{4,4}}
-NOTICE:  userargs = {1000}
-NOTICE:  record = (17,"(2,-4,2,2,1,-1,0,0,0,1)","(32BUI,0,f,,,,)",1000)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}},{{2}}}
 NOTICE:  pos = [0:2][1:2]={{1,1},{2,2},{1,1}}
 NOTICE:  userargs = <NULL>
-20|21|(1,-1,1,1,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  Raster provided has no bands
 20|22|(0,0,0,0,0,0,0,0,0,0)|(,,,,,,)
 NOTICE:  value = {{{2}},{{3}}}
 NOTICE:  pos = [0:2][1:2]={{1,1},{1,2},{2,1}}
 NOTICE:  userargs = <NULL>
-21|22|(1,-2,1,1,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}},{{NULL}}}
 NOTICE:  pos = [0:2][1:2]={{1,1},{1,1},{0,0}}
 NOTICE:  userargs = <NULL>
@@ -162,7 +135,7 @@
 NOTICE:  value = {{{NULL}},{{2}}}
 NOTICE:  pos = [0:2][1:2]={{3,3},{3,3},{2,2}}
 NOTICE:  userargs = <NULL>
-20|21|(0,0,3,3,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}},{{NULL}}}
 NOTICE:  pos = [0:2][1:2]={{1,1},{1,1},{1,-1}}
 NOTICE:  userargs = <NULL>
@@ -187,7 +160,7 @@
 NOTICE:  value = {{{NULL}},{{3}}}
 NOTICE:  pos = [0:2][1:2]={{2,4},{2,4},{2,2}}
 NOTICE:  userargs = <NULL>
-20|22|(0,0,2,4,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}},{{NULL}},{{NULL}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{1,1},{0,0},{1,-1}}
 NOTICE:  userargs = <NULL>
@@ -224,7 +197,7 @@
 NOTICE:  value = {{{NULL}},{{NULL}},{{NULL}}}
 NOTICE:  pos = [0:3][1:2]={{3,4},{3,4},{2,3},{3,2}}
 NOTICE:  userargs = <NULL>
-20|21|22|(0,0,3,4,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}},{{NULL}},{{NULL}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{1,1},{0,0},{1,-1}}
 NOTICE:  userargs = <NULL>
@@ -237,7 +210,7 @@
 NOTICE:  value = {{{1}},{{2}},{{NULL}}}
 NOTICE:  pos = [0:3][1:2]={{2,2},{2,2},{1,1},{2,0}}
 NOTICE:  userargs = <NULL>
-20|21|22|(0,0,2,2,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}},{{2}},{{NULL}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{2,2},{1,1},{2,0}}
 NOTICE:  userargs = <NULL>
@@ -250,7 +223,7 @@
 NOTICE:  value = {{{NULL}},{{2}},{{NULL}}}
 NOTICE:  pos = [0:3][1:2]={{2,2},{3,3},{2,2},{3,1}}
 NOTICE:  userargs = <NULL>
-20|21|22|(1,-1,2,2,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{NULL}},{{NULL}},{{3}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{1,3},{0,2},{1,1}}
 NOTICE:  userargs = <NULL>
@@ -263,7 +236,7 @@
 NOTICE:  value = {{{NULL}},{{NULL}},{{3}}}
 NOTICE:  pos = [0:3][1:2]={{2,2},{2,4},{1,3},{2,2}}
 NOTICE:  userargs = <NULL>
-20|21|22|(0,-2,2,2,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  Raster provided has no bands
 20|21|22|(0,0,0,0,0,0,0,0,0,0)|(,,,,,,)
 NOTICE:  value = {{{1}},{{10}},{{100}}}
@@ -278,7 +251,7 @@
 NOTICE:  value = {{{1}},{{10}},{{100}}}
 NOTICE:  pos = [0:3][1:2]={{2,2},{2,2},{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-30|(0,0,2,2,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{100}},{{1}},{{100}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{1,1},{1,1},{1,1}}
 NOTICE:  userargs = <NULL>
@@ -291,7 +264,7 @@
 NOTICE:  value = {{{100}},{{1}},{{100}}}
 NOTICE:  pos = [0:3][1:2]={{2,2},{2,2},{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-30|(0,0,2,2,1,-1,0,0,0,1)|(32BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{20}},{{20}}}
 NOTICE:  pos = [0:2][1:2]={{1,1},{1,1},{1,1}}
 NOTICE:  userargs = <NULL>
@@ -304,14 +277,14 @@
 NOTICE:  value = {{{20}},{{20}}}
 NOTICE:  pos = [0:2][1:2]={{2,2},{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-31|(0,1,2,2,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{10}},{{2}},{{20}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{1,1},{1,2},{1,2}}
 NOTICE:  userargs = <NULL>
 NOTICE:  value = {{{10}},{{2}},{{20}}}
 NOTICE:  pos = [0:3][1:2]={{2,1},{2,1},{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-30|31|(0,0,2,1,1,-1,0,0,0,1)|(16BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{100}},{{1}},{{100}}}
 NOTICE:  pos = [0:3][1:2]={{1,1},{1,1},{1,1},{1,1}}
 NOTICE:  userargs = <NULL>
@@ -324,7 +297,7 @@
 NOTICE:  value = {{{100}},{{1}},{{100}}}
 NOTICE:  pos = [0:3][1:2]={{2,2},{2,2},{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-30|(0,0,2,2,1,-1,0,0,0,1)|(32BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{10}}}
 NOTICE:  pos = [0:1][1:2]={{1,1},{1,1}}
 NOTICE:  userargs = <NULL>
@@ -337,7 +310,7 @@
 NOTICE:  value = {{{10}}}
 NOTICE:  pos = [0:1][1:2]={{2,2},{2,2}}
 NOTICE:  userargs = <NULL>
-30|(0,0,2,2,1,-1,0,0,0,1)|(8BUI,0,f,,,,)
+ERROR:  table-function protocol for value-per-call mode was not followed
 NOTICE:  value = {{{1}}}
 NOTICE:  pos = [0:1][1:2]={{1,1},{1,1}}
 NOTICE:  userargs = {}
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_mapalgebra_expr .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_263_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_mapalgebra_expr_expected	2020-04-18 02:09:34.730593503 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_263_out	2021-03-09 02:13:46.880108595 +0000
@@ -21,127 +21,4 @@
 T11.1|10|2
 T11.2|10|2
 T12|t|t|t|t
-0|1|INTERSECTION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|2|INTERSECTION|1.000|-1.000|1|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|3|INTERSECTION|1.000|1.000|1|1|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|4|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-10|11|INTERSECTION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|INTERSECTION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|INTERSECTION|1.000|1.000|2|1|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|14|INTERSECTION|0.000|0.000|0|0|0.000|0.000|0.000|0.000|0|0||||
-|0|INTERSECTION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-|1|INTERSECTION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-|2|INTERSECTION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-|3|INTERSECTION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-|4|INTERSECTION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-|10|INTERSECTION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-|11|INTERSECTION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-|12|INTERSECTION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-|13|INTERSECTION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-|14|INTERSECTION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-0||INTERSECTION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-1||INTERSECTION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-2||INTERSECTION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-3||INTERSECTION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-4||INTERSECTION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-10||INTERSECTION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-11||INTERSECTION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-12||INTERSECTION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-13||INTERSECTION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-14||INTERSECTION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-||INTERSECTION||||||||||||||
-0|1|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.500
-0|2|UNION|-2.000|-2.000|5|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|3|UNION|-2.000|-2.000|5|5|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|4.000
-0|4|UNION|-2.000|-2.000|6|6|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|5.000
-10|11|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|UNION|-2.000|-2.000|4|5|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|
-10|14|UNION|-2.000|-2.000|4|6|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|
-0|1|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|1.500
-0|2|UNION|-2.000|-2.000|5|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|
-0|3|UNION|-2.000|-2.000|5|5|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|100.000
-0|4|UNION|-2.000|-2.000|6|6|1.000|1.000|0.000|0.000|0|1|32BF|0.000|200.000|100.000
-10|11|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|200.000
-10|12|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|200.000
-10|13|UNION|-2.000|-2.000|4|5|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|
-10|14|UNION|-2.000|-2.000|4|6|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|200.000|
-|0|UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-|1|UNION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-|2|UNION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-|3|UNION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-|4|UNION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-|10|UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|11|UNION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-|12|UNION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-|13|UNION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-|14|UNION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-0||UNION|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-1||UNION|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-2||UNION|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-3||UNION|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-4||UNION|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10||UNION|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-11||UNION|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-12||UNION|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-13||UNION|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-14||UNION|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-||UNION||||||||||||||
-0|1|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|2|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-0|3|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|
-0|4|FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-10|11|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|12|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|13|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-10|14|FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|0|FIRST||||||||||||||
-|1|FIRST||||||||||||||
-|2|FIRST||||||||||||||
-|3|FIRST||||||||||||||
-|4|FIRST||||||||||||||
-|10|FIRST||||||||||||||
-|11|FIRST||||||||||||||
-|12|FIRST||||||||||||||
-|13|FIRST||||||||||||||
-|14|FIRST||||||||||||||
-0||FIRST|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-1||FIRST|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-2||FIRST|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-3||FIRST|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-4||FIRST|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10||FIRST|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-11||FIRST|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-12||FIRST|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-13||FIRST|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-14||FIRST|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-||FIRST||||||||||||||
-0|1|SECOND|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||
-0|2|SECOND|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||3.000
-0|3|SECOND|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000||4.000
-0|4|SECOND|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-10|11|SECOND|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-10|12|SECOND|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||
-10|13|SECOND|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000||4.000
-10|14|SECOND|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-|0|SECOND|-2.000|-2.000|4|4|1.000|1.000|0.000|0.000|0|1|32BF|0.000|1.000|1.000
-|1|SECOND|0.000|0.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|2.000|2.000
-|2|SECOND|1.000|-1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|3.000|3.000
-|3|SECOND|1.000|1.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|4.000|4.000
-|4|SECOND|2.000|2.000|2|2|1.000|1.000|0.000|0.000|0|1|32BF|0.000|5.000|5.000
-|10|SECOND|-2.000|-2.000|4|4|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|1.000|1.000
-|11|SECOND|0.000|0.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|2.000|2.000
-|12|SECOND|1.000|-1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|3.000|3.000
-|13|SECOND|1.000|1.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|4.000|4.000
-|14|SECOND|2.000|2.000|2|2|1.000|1.000|1.000|-1.000|0|1|32BF|0.000|5.000|5.000
-0||SECOND||||||||||||||
-1||SECOND||||||||||||||
-2||SECOND||||||||||||||
-3||SECOND||||||||||||||
-4||SECOND||||||||||||||
-10||SECOND||||||||||||||
-11||SECOND||||||||||||||
-12||SECOND||||||||||||||
-13||SECOND||||||||||||||
-14||SECOND||||||||||||||
-||SECOND||||||||||||||
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_mapalgebra_mask .. ok in 232 ms
 ./raster/test/regress/rt_union .. ok in 329 ms
 ./raster/test/regress/rt_invdistweight4ma .. ok in 94 ms
 ./raster/test/regress/rt_4ma .. ok in 84 ms
 ./raster/test/regress/rt_setvalues_geomval .. ok in 124 ms
 ./raster/test/regress/rt_elevation_functions .. ok in 219 ms
 ./raster/test/regress/rt_colormap .. ok in 127 ms
 ./raster/test/regress/rt_grayscale .. ok in 140 ms
 ./raster/test/regress/rt_gist_relationships .. ok in 194 ms
 ./raster/test/regress/rt_intersects .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_273_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/rt_intersects_expected	2020-04-18 02:09:34.726593534 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_273_out	2021-03-09 02:13:48.980042921 +0000
@@ -166,71 +166,5 @@
 2.4|2|44|ST_MultiPolygon|t
 2.4|2|45|ST_MultiPolygon|t
 2.4|2|46|ST_MultiPolygon|t
-2.5|0|1|ST_Point|t
-2.5|0|2|ST_Point|t
-2.5|0|3|ST_Point|t
-2.5|0|4|ST_Point|t
-2.5|0|5|ST_Point|f
-2.5|0|6|ST_Point|f
-2.5|0|7|ST_Point|f
-2.5|0|8|ST_Point|f
-2.5|0|11|ST_MultiPoint|t
-2.5|0|12|ST_MultiPoint|t
-2.5|0|13|ST_MultiPoint|t
-2.5|0|14|ST_MultiPoint|f
-2.5|0|15|ST_MultiPoint|f
-2.5|0|21|ST_LineString|t
-2.5|0|22|ST_LineString|t
-2.5|0|23|ST_LineString|t
-2.5|0|24|ST_LineString|f
-2.5|0|25|ST_LineString|f
-2.5|0|26|ST_LineString|t
-2.5|0|27|ST_LineString|t
-2.5|0|28|ST_LineString|t
-2.5|0|29|ST_LineString|f
-2.5|0|31|ST_Polygon|t
-2.5|0|32|ST_Polygon|t
-2.5|0|33|ST_Polygon|t
-2.5|0|34|ST_Polygon|t
-2.5|0|35|ST_Polygon|t
-2.5|0|36|ST_Polygon|f
-2.5|0|41|ST_MultiPolygon|t
-2.5|0|42|ST_MultiPolygon|t
-2.5|0|43|ST_MultiPolygon|t
-2.5|0|44|ST_MultiPolygon|t
-2.5|0|45|ST_MultiPolygon|t
-2.5|0|46|ST_MultiPolygon|f
-2.6|2|1|ST_Point|t
-2.6|2|2|ST_Point|t
-2.6|2|3|ST_Point|f
-2.6|2|4|ST_Point|f
-2.6|2|5|ST_Point|f
-2.6|2|6|ST_Point|f
-2.6|2|7|ST_Point|f
-2.6|2|8|ST_Point|t
-2.6|2|11|ST_MultiPoint|t
-2.6|2|12|ST_MultiPoint|t
-2.6|2|13|ST_MultiPoint|t
-2.6|2|14|ST_MultiPoint|t
-2.6|2|15|ST_MultiPoint|t
-2.6|2|21|ST_LineString|t
-2.6|2|22|ST_LineString|t
-2.6|2|23|ST_LineString|t
-2.6|2|24|ST_LineString|t
-2.6|2|25|ST_LineString|t
-2.6|2|26|ST_LineString|t
-2.6|2|27|ST_LineString|t
-2.6|2|28|ST_LineString|t
-2.6|2|29|ST_LineString|t
-2.6|2|31|ST_Polygon|t
-2.6|2|32|ST_Polygon|t
-2.6|2|33|ST_Polygon|t
-2.6|2|34|ST_Polygon|t
-2.6|2|35|ST_Polygon|t
-2.6|2|36|ST_Polygon|t
-2.6|2|41|ST_MultiPolygon|t
-2.6|2|42|ST_MultiPolygon|t
-2.6|2|43|ST_MultiPolygon|t
-2.6|2|44|ST_MultiPolygon|t
-2.6|2|45|ST_MultiPolygon|t
-2.6|2|46|ST_MultiPolygon|t
+ERROR:  table-function protocol for value-per-call mode was not followed
+ERROR:  table-function protocol for value-per-call mode was not followed
-----------------------------------------------------------------------------
 ./raster/test/regress/rt_samealignment .. ok in 120 ms
 ./raster/test/regress/rt_geos_relationships .. ok in 289 ms
 ./raster/test/regress/rt_iscoveragetile .. ok in 155 ms
 ./raster/test/regress/bug_test_car5 .. ok in 101 ms
 ./raster/test/regress/permitted_gdal_drivers .. ok in 140 ms
 ./raster/test/regress/tickets .. failed (diff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_279_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/tickets_expected	2020-10-23 16:39:04.005513117 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_279_out	2021-03-09 02:13:50.332000639 +0000
@@ -26,8 +26,14 @@
 NOTICE:  Adding alignment constraint
 NOTICE:  Adding number of bands constraint
 NOTICE:  Adding pixel type constraint
+NOTICE:  Unable to get the pixel types of a sample raster: table-function protocol for value-per-call mode was not followed (39P02)
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
 NOTICE:  Adding nodata value constraint
+NOTICE:  Unable to get the nodata values of a sample raster: table-function protocol for value-per-call mode was not followed (39P02)
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
 NOTICE:  Adding out-of-database constraint
+NOTICE:  Unable to get the out-of-database bands of a sample raster: table-function protocol for value-per-call mode was not followed (39P02)
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 NOTICE:  Adding maximum extent constraint
 t
 NOTICE:  Adding SRID constraint
@@ -65,8 +71,14 @@
 NOTICE:  Adding alignment constraint
 NOTICE:  Adding number of bands constraint
 NOTICE:  Adding pixel type constraint
+NOTICE:  Unable to get the pixel types of a sample raster: table-function protocol for value-per-call mode was not followed (39P02)
+WARNING:  Unable to add constraint: 'pixel_types'.  Skipping
 NOTICE:  Adding nodata value constraint
+NOTICE:  Unable to get the nodata values of a sample raster: table-function protocol for value-per-call mode was not followed (39P02)
+WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
 NOTICE:  Adding out-of-database constraint
+NOTICE:  Unable to get the out-of-database bands of a sample raster: table-function protocol for value-per-call mode was not followed (39P02)
+WARNING:  Unable to add constraint: 'out_db'.  Skipping
 NOTICE:  Adding maximum extent constraint
 #4547.2|t
 #4769|
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/Basic .... failed (testdiff expected obtained: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_280_diff)
-----------------------------------------------------------------------------
--- ./raster/test/regress/loader/Basic.select.expected	2020-04-18 02:09:34.702593719 +0000
+++ /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_280_out	2021-03-09 02:13:50.783986504 +0000
@@ -1,4 +1,4 @@
-0|1.0000000000|-1.0000000000|90|50|t|f|3|{8BUI,8BUI,8BUI}|{NULL,NULL,NULL}|{f,f,f}|POLYGON((0 -50,0 0,90 0,90 -50,0 -50))
+0|1.0000000000|-1.0000000000|90|50|t|f|3||||POLYGON((0 -50,0 0,90 0,90 -50,0 -50))
 POLYGON((0 0,1 0,1 -1,0 -1,0 0))|255
 POLYGON((89 -49,90 -49,90 -50,89 -50,89 -49))|0
 POLYGON((44 -24,45 -24,45 -25,44 -25,44 -24))|0
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/Projected .... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 failed (Errors while running sql script ./raster/test/regress/loader/Projected-post.sql: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/test_281_tmp)
-----------------------------------------------------------------------------
ERROR:  table "o_2_loadedrast" does not exist
-----------------------------------------------------------------------------
 ... but cleanup sql failed! ./raster/test/regress/loader/BasicCopy ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/BasicFilename ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/BasicOutDB ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/Tiled10x10 ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/Tiled10x10Copy ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/Tiled8x8 ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/TiledAuto ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN
psql:/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.out:2: ERROR:  relation "loadedrast" already exists
-----------------------------------------------------------------------------
 ./raster/test/regress/loader/TiledAutoSkipNoData ... failed ( test: running raster2pgsql output: /var/lib/jenkins/workspace/postgis/regress_pgdev/branches/3.1/tmp/3_1_pg14w64/loader.err)
-----------------------------------------------------------------------------
BEGIN

comment:3 by pramsey, 4 years ago

So, that's a big paste :) Anyways, what you'll notice is that we're mostly seeing lines missing. The gist of Tom's patch is that people (cough) were defining functions as returning a single record, and then using the SRF API to do set-returning which... mostly worked. The correct thing to do though is to declare 'returning setof record' or 'returning table()', and if you do that most of the problems go away.

The problems that remain, unfortunately are places where we're testing for behaviour that is gone.

NOTICE:  Invalid band index: 6. Indices must be 1-based. Returning NULL
||||

This is generated in https://github.com/postgis/postgis/blob/2a73173e3b32400521bd3e8a7e09c9d6ca531838/raster/rt_pg/rtpg_band_properties.c#L592

Notice that we're failing during setup of the SRF, and bailing, and we are getting a record with all NULL values as a side effect. The "correct" thing to return when you bail during setup is what is happening now: zero records are returned.

Most of the remaining errors are of this sort, and what I'm wrestling with is how much logic downstream from this behaviour depends on it. Like, do I now need to figure out how to *ape* this behaviour?

Version 0, edited 4 years ago by pramsey (next)

by pramsey, 4 years ago

Attachment: rtpostgis.sql.patch added

by pramsey, 4 years ago

comment:4 by robe, 4 years ago

Still fixing up the tests -- have your patches here in addition to my test patches - https://git.osgeo.org/gitea/postgis/postgis/pulls/53.diff

I'm only testing on pg13 at the moment to make sure that regresses first before I verify passes on pg14.

comment:5 by robe, 4 years ago

old regresses now - related pull request - https://git.osgeo.org/gitea/postgis/postgis/pulls/53

But as noted on the pull request - this broke dronie's upgrade test because we changed the return type. I still haven't retested on PG14 so hopefully that isn't broken

WARNING:  'postgis.gdal_enabled_drivers' is already set and cannot be changed until you reconnect
WARNING:  'postgis.enable_outdb_rasters' is already set and cannot be changed until you reconnect
ERROR:  cannot change return type of existing function
HINT:  Use DROP FUNCTION _st_rastertoworldcoord(raster,integer,integer) first.
-----------------------------------------------------------------------------
make: *** [runtest.mk:10: check-regress] Error 1
make: Leaving directory '/drone/src/regress'
FAIL: upgrade 2.5.5--3.2.0dev

comment:6 by Regina Obe <lr@…>, 4 years ago

In 4d603ff/git:

Change raster to use returns table instead of out for multi row returns
Changes to raster regress to use lateral instead of select and other
fixes to regress on PostgreSQL 14. Paul Ramsey, Regina Obe
References #4876 for PostGIS 3.2

comment:7 by Regina Obe <lr@…>, 4 years ago

Resolution: fixed
Status: newclosed

In 15713db/git:

Change raster to use returns table instead of out for multi row returns
Changes to raster regress to use lateral instead of select and other
fixes to regress on PostgreSQL 14. Paul Ramsey, Regina Obe
Closes #4876 for PostGIS 3.1.2
Closes https://git.osgeo.org/gitea/postgis/postgis/pulls/53

comment:8 by robe, 4 years ago

Milestone: PostGIS 3.2.0PostGIS 3.1.2
Note: See TracTickets for help on using tickets.