[SCM] PostGIS branch master updated. 3.4.0rc1-813-gf79779012

git at osgeo.org git at osgeo.org
Tue Nov 28 18:10:41 PST 2023


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".

The branch, master has been updated
       via  f797790126102762e311e738022197c7bf417609 (commit)
       via  1597458c37f8b3c30045634dc4ce3cee8a9b8b91 (commit)
       via  741f8eb42305a06492caa0bf315bed9a54afa7d6 (commit)
       via  59aba6dcb9fc28f14bfb9aca390987c00d510a70 (commit)
      from  e688a7d3dad379a5928d3404545628ac588837b0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f797790126102762e311e738022197c7bf417609
Merge: 1597458c3 e688a7d3d
Author: Regina Obe <lr at pcorp.us>
Date:   Tue Nov 28 21:09:37 2023 -0500

    Merge branch 'master' of git.osgeo.org:postgis/postgis


commit 1597458c37f8b3c30045634dc4ce3cee8a9b8b91
Author: Regina Obe <lr at pcorp.us>
Date:   Tue Nov 28 21:06:08 2023 -0500

    Add more plants

diff --git a/doc/xsl/postgis_gardentest.sql.xsl b/doc/xsl/postgis_gardentest.sql.xsl
index b0f85671b..0c642a3f3 100644
--- a/doc/xsl/postgis_gardentest.sql.xsl
+++ b/doc/xsl/postgis_gardentest.sql.xsl
@@ -311,11 +311,24 @@ FROM (VALUES ( ST_GeomFromEWKT('SRID=4326;MULTIPOLYGON(((-71.0821 42.3036 2,-71.
 					ORDER BY i, j, i*j)</pgis:gset>
 
 		<pgis:gset ID="Collection of Empties" GeometryType="GEOMETRY" createtable="false">(SELECT ST_Collect(ST_GeomFromText('GEOMETRYCOLLECTION EMPTY',4326), ST_GeomFromText('POLYGON EMPTY',4326)) As the_geom
-			UNION ALL SELECT ST_COLLECT(ST_GeomFromText('POLYGON EMPTY',4326),ST_GeomFromText('TRIANGLE EMPTY',4326))  As the_geom
 			UNION ALL SELECT ST_Collect(ST_GeomFromText('POINT EMPTY',4326), ST_GeomFromText('MULTIPOINT EMPTY',4326)) As the_geom
 		)</pgis:gset>
 		<pgis:gset ID="POLYGON EMPTY" GeometryType="POLYGON" createtable="false">(SELECT ST_GeomFromText('POLYGON EMPTY',4326) As the_geom)</pgis:gset>
+		<pgis:gset ID="Collection of Empties Basic" GeometryType="GEOMETRY" createtable="false">(SELECT ST_Collect(ST_GeomFromText('GEOMETRYCOLLECTION EMPTY',4326), ST_GeomFromText('POLYGON EMPTY',4326)) As the_geom
+			UNION ALL SELECT ST_Collect(ST_GeomFromText('POINT EMPTY',4326), ST_GeomFromText('MULTIPOINT EMPTY',4326)) As the_geom
+			UNION ALL SELECT ST_Collect(ST_GeomFromText('LINESTRING EMPTY',4326), ST_GeomFromText('MULTILINESTRING EMPTY',4326)) As the_geom
+		)</pgis:gset>
 
+		<pgis:gset ID="TIN / TRIANGLE EMPTY" GeometryType="GEOMETRY" createtable="false">(SELECT ST_GeomFromText('TRIANGLE EMPTY',4326) As the_geom
+			UNION ALL SELECT ST_GeomFromText('TIN EMPTY',4326) As the_geom
+		)</pgis:gset>
+
+		<pgis:gset ID="TINZ / TRIANGLEZ EMPTY" GeometryType="GEOMETRY" createtable="false">(SELECT ST_GeomFromText('TINZ EMPTY',4326) As the_geom
+			UNION ALL SELECT ST_GeomFromText('TRIANGLEZ EMPTY',4326) As the_geom
+		)</pgis:gset>
+
+		<pgis:gset ID="POLYGON EMPTY" GeometryType="POLYGON" createtable="false">(SELECT ST_GeomFromText('POLYGON EMPTY',4326) As the_geom)</pgis:gset>
+		<pgis:gset ID="LINESTRING EMPTY with NON-EMPTY" GeometryType="POLYGON" createtable="false">(SELECT ST_Collect(ARRAY[ST_GeomFromText('LINESTRING(0 0, 1 1)'), ST_GeomFromText('LINESTRING EMPTY')]) As the_geom)</pgis:gset>
 
 	<pgis:gardencrashers>
 

commit 741f8eb42305a06492caa0bf315bed9a54afa7d6
Author: Regina Obe <lr at pcorp.us>
Date:   Tue Nov 28 20:36:46 2023 -0500

    FIX FOR gardentest arg inputs
    
    Closes #5625

diff --git a/doc/xsl/postgis_gardentest.sql.xsl b/doc/xsl/postgis_gardentest.sql.xsl
index bd1dcfb1c..b0f85671b 100644
--- a/doc/xsl/postgis_gardentest.sql.xsl
+++ b/doc/xsl/postgis_gardentest.sql.xsl
@@ -528,14 +528,14 @@ SELECT '<xsl:value-of select="$log_label" /> Geography: End Testing';
 		<xsl:sort select="@id"/>
 
 			<xsl:for-each select="db:refsynopsisdiv/db:funcsynopsis/db:funcprototype">
-<!--Create dummy parameters to be used later -->
+<!--Create dummy db:parameters to be used later -->
 				<xsl:variable name='fnfakeparams'><xsl:call-template name="replaceparams"><xsl:with-param name="func" select="." /></xsl:call-template></xsl:variable>
 				<xsl:variable name='fnargs'><xsl:call-template name="listparams"><xsl:with-param name="func" select="." /></xsl:call-template></xsl:variable>
 				<xsl:variable name='fnname'><xsl:value-of select="db:funcdef/db:function"/></xsl:variable>
 				<xsl:variable name='fndef'><xsl:value-of select="db:funcdef"/></xsl:variable>
-				<xsl:variable name='numparams'><xsl:value-of select="count(db:paramdef/parameter)" /></xsl:variable>
+				<xsl:variable name='numparams'><xsl:value-of select="count(db:paramdef/db:parameter)" /></xsl:variable>
 
-				<xsl:variable name='numparamgeoms'><xsl:value-of select="count(db:paramdef/db:type[contains(text(),'geometry') or contains(text(),'geography') or contains(text(),'box') or contains(text(), 'bytea') or contains(text(),'anyelement')] ) + count(db:paramdef/parameter[contains(text(),'WKT')]) + count(db:paramdef/parameter[contains(text(),'geomgml')]) + count(db:paramdef/parameter[contains(text(),'geomjson')]) + count(db:paramdef/parameter[contains(text(),'geomkml')])" /></xsl:variable>
+				<xsl:variable name='numparamgeoms'><xsl:value-of select="count(db:paramdef/db:type[contains(text(),'geometry') or contains(text(),'geography') or contains(text(),'box') or contains(text(), 'bytea') or contains(text(),'anyelement')] ) + count(db:paramdef/db:parameter[contains(text(),'WKT')]) + count(db:paramdef/db:parameter[contains(text(),'geomgml')]) + count(db:paramdef/db:parameter[contains(text(),'geomjson')]) + count(db:paramdef/db:parameter[contains(text(),'geomkml')])" /></xsl:variable>
 				<xsl:variable name='numparamgeogs'><xsl:value-of select="count(db:paramdef/db:type[contains(text(),'geography')] )" /></xsl:variable>
 				<xsl:variable name='log_label'><xsl:value-of select="db:funcdef/db:function" />(<xsl:value-of select="$fnargs" />)</xsl:variable>
 
@@ -662,140 +662,140 @@ SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of sel
 			<xsl:for-each select="db:paramdef">
 				<xsl:choose>
 				    <!-- ignore output parameters -->
-				    <xsl:when test="contains(parameter,'OUT')"></xsl:when>
-				    	<xsl:when test="contains(parameter, 'buffer_style_parameters') or contains(parameter, 'buffer_style_parameters')">
+				    <xsl:when test="contains(db:parameter,'OUT')"></xsl:when>
+				    	<xsl:when test="contains(db:parameter, 'buffer_style_parameters') or contains(db:parameter, 'buffer_style_parameters')">
 						<xsl:value-of select="$var_buffer_style" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'matrix') or contains(parameter, 'Matrix')">
+					<xsl:when test="contains(db:parameter, 'matrix') or contains(db:parameter, 'Matrix')">
 						<xsl:value-of select="$var_matrix" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'distance')">
+					<xsl:when test="contains(db:parameter, 'distance')">
 						<xsl:value-of select="$var_distance" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'row')">
+					<xsl:when test="contains(db:parameter, 'row')">
 						<xsl:value-of select="$var_row" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'srid')">
+					<xsl:when test="contains(db:parameter, 'srid')">
 						<xsl:value-of select="$var_srid" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'position')">
+					<xsl:when test="contains(db:parameter, 'position')">
 						<xsl:value-of select="$var_position" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'NDR')">
+					<xsl:when test="contains(db:parameter, 'NDR')">
 						'<xsl:value-of select="$var_NDRXDR" />'
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'gj_version')">
+					<xsl:when test="contains(db:parameter, 'gj_version')">
 						<xsl:value-of select="$var_gj_version" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'version') and position() = 2">
+					<xsl:when test="contains(db:parameter, 'version') and position() = 2">
 						<xsl:value-of select="$var_version1" />
 					</xsl:when>
-					<xsl:when test="(contains(parameter, 'version'))">
+					<xsl:when test="(contains(db:parameter, 'version'))">
 						<xsl:value-of select="$var_version2" />
 					</xsl:when>
-					<xsl:when test="(contains(parameter,'geomgml'))">
+					<xsl:when test="(contains(db:parameter,'geomgml'))">
 						<xsl:text>ST_AsGML(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="(contains(parameter,'geomkml'))">
+					<xsl:when test="(contains(db:parameter,'geomkml'))">
 						<xsl:text>ST_AsKML(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="(contains(parameter,'geomjson'))">
+					<xsl:when test="(contains(db:parameter,'geomjson'))">
 						<xsl:text>ST_AsGeoJSON(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'geom_name')">
+					<xsl:when test="contains(db:parameter, 'geom_name')">
 						'<xsl:value-of select="$var_geom_name" />'
 					</xsl:when>
 
-					<xsl:when test="contains(parameter, 'bounds')">
+					<xsl:when test="contains(db:parameter, 'bounds')">
 						ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096))
 					</xsl:when>
 
 
-					<xsl:when test="(contains(type,'box') or type = 'geometry' or type = 'geometry ' or contains(type,'geometry set') or contains(type,'geometry winset') ) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1')">
+					<xsl:when test="(contains(db:type,'box') or db:type = 'geometry' or db:type = 'geometry ' or contains(db:type,'geometry set') or contains(db:type,'geometry winset') ) and (position() = 1 or count($func/db:paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1')">
 						<xsl:text>foo1.the_geom</xsl:text>
 					</xsl:when>
 
-					<xsl:when test="(type = 'geography' or type = 'geography ' or contains(type,'geography set')) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geography')]) = '1' )">
+					<xsl:when test="(db:type = 'geography' or db:type = 'geography ' or contains(db:type,'geography set')) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geography')]) = '1' )">
 						<xsl:text>geography(foo1.the_geom)</xsl:text>
 					</xsl:when>
 
-					<xsl:when test="contains(type,'box') or type = 'geometry' or type = 'geometry '">
+					<xsl:when test="contains(db:type,'box') or db:type = 'geometry' or db:type = 'geometry '">
 						<xsl:text>foo2.the_geom</xsl:text>
 					</xsl:when>
-					<xsl:when test="type = 'geography' or type = 'geography '">
+					<xsl:when test="db:type = 'geography' or db:type = 'geography '">
 						<xsl:text>geography(foo2.the_geom)</xsl:text>
 					</xsl:when>
 
-					<xsl:when test="contains(type, 'bigint[]')">
+					<xsl:when test="contains(db:type, 'bigint[]')">
 						<xsl:text>ARRAY[ST_XMin(foo1.the_geom)::bigint]</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type, 'geometry[]') and count($func/paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1'">
+					<xsl:when test="contains(db:type, 'geometry[]') and count($func/paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1'">
 						ARRAY[foo1.the_geom]
 					</xsl:when>
-					<xsl:when test="contains(type, 'geometry[]')">
+					<xsl:when test="contains(db:type, 'geometry[]')">
 						ARRAY[foo2.the_geom]
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'EWKT')">
+					<xsl:when test="contains(db:parameter, 'EWKT')">
 						<xsl:text>ST_AsEWKT(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'WKT')">
+					<xsl:when test="contains(db:parameter, 'WKT')">
 						<xsl:text>ST_AsText(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'EWKB')">
+					<xsl:when test="contains(db:parameter, 'EWKB')">
 						<xsl:text>ST_AsEWKB(foo1.the_geom)</xsl:text>
 					</xsl:when>
 
-					<xsl:when test="contains(parameter, 'twkb')">
+					<xsl:when test="contains(db:parameter, 'twkb')">
 						<xsl:text>ST_AsTWKB(foo1.the_geom)</xsl:text>
 					</xsl:when>
 
-					<xsl:when test="contains(type, 'bytea')">
+					<xsl:when test="contains(db:type, 'bytea')">
 						<xsl:text>ST_AsBinary(foo1.the_geom)</xsl:text>
 					</xsl:when>
 
-					<xsl:when test="contains(parameter, 'Frac') or contains(parameter, 'frac') or contains(parameter, 'percent')">
+					<xsl:when test="contains(db:parameter, 'Frac') or contains(db:parameter, 'frac') or contains(db:parameter, 'percent')">
 						<xsl:value-of select="$var_frac" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'float') or contains(type, 'double')">
+					<xsl:when test="contains(db:type, 'float') or contains(db:type, 'double')">
 						<xsl:value-of select="$var_float1" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'spheroid')">
+					<xsl:when test="contains(db:type, 'spheroid')">
 						<xsl:value-of select="$var_spheroid" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'integer') and position() = 2">
+					<xsl:when test="contains(db:type, 'integer') and position() = 2">
 						<xsl:value-of select="$var_integer1" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'integer') or contains(type, 'int4')">
+					<xsl:when test="contains(db:type, 'integer') or contains(db:type, 'int4')">
 						<xsl:value-of select="$var_integer2" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'text')">
+					<xsl:when test="contains(db:type, 'text')">
 						<xsl:value-of select="$var_text" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'varchar')">
+					<xsl:when test="contains(db:type, 'varchar')">
 						<xsl:value-of select="$var_varchar" />
 					</xsl:when>
-					<xsl:when test="contains(type,'timestamp') or type = 'date'">
+					<xsl:when test="contains(db:type,'timestamp') or db:type = 'date'">
 						<xsl:text>'2009-01-01'</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type,'boolean')">
+					<xsl:when test="contains(db:type,'boolean')">
 						<xsl:value-of select="$var_boolean" />
 					</xsl:when>
 				</xsl:choose>
 				<!-- put a comma before an arg if it is not the first argument in a function and it is not an OUT parameter nor does it precede an OUT parameter -->
-				<xsl:if test="position()<last() and not(contains(parameter,'OUT')) and not(contains(following-sibling::paramdef[1],'OUT'))"><xsl:text>, </xsl:text></xsl:if>
+				<xsl:if test="position()<last() and not(contains(db:parameter,'OUT')) and not(contains(following-sibling::paramdef[1],'OUT'))"><xsl:text>, </xsl:text></xsl:if>
 			</xsl:for-each>
 		</xsl:for-each>
 	</xsl:template>
 
-	<!--macro to pull out function parameter names so we can provide a pretty arg list prefix for each function -->
+	<!--macro to pull out function db:parameter names so we can provide a pretty arg list prefix for each function -->
 	<xsl:template name="listparams">
 		<xsl:param name="func" />
 		<xsl:for-each select="$func">
-			<xsl:if test="count(db:paramdef/parameter) > 0"> </xsl:if>
+			<xsl:if test="count(db:paramdef/db:parameter) > 0"> </xsl:if>
 			<xsl:for-each select="db:paramdef">
 				<xsl:choose>
-					<xsl:when test="count(parameter) > 0">
-						<xsl:value-of select="parameter" />
+					<xsl:when test="count(db:parameter) > 0">
+						<xsl:value-of select="db:parameter" />
 					</xsl:when>
 				</xsl:choose>
 				<xsl:if test="position()<last()"><xsl:text>, </xsl:text></xsl:if>
diff --git a/doc/xsl/raster_gardentest.sql.xsl b/doc/xsl/raster_gardentest.sql.xsl
index 03fab2c1b..aa0f61998 100644
--- a/doc/xsl/raster_gardentest.sql.xsl
+++ b/doc/xsl/raster_gardentest.sql.xsl
@@ -251,10 +251,10 @@ COMMIT;
 				<xsl:variable name='fnargs'><xsl:call-template name="listparams"><xsl:with-param name="func" select="." /></xsl:call-template></xsl:variable>
 				<xsl:variable name='fnname'><xsl:value-of select="db:funcdef/db:function"/></xsl:variable>
 				<xsl:variable name='fndef'><xsl:value-of select="db:funcdef"/></xsl:variable>
-				<xsl:variable name='numparams'><xsl:value-of select="count(db:paramdef/parameter)" /></xsl:variable>
-				<xsl:variable name='numparamgeoms'><xsl:value-of select="count(db:paramdef/db:type[contains(text(),'geometry') or contains(text(),'geography') or contains(text(),'box') ]) + count(db:paramdef/parameter[contains(text(),'WKT')]) + count(db:paramdef/parameter[contains(text(),'geomgml')])" /></xsl:variable>
+				<xsl:variable name='numparams'><xsl:value-of select="count(db:paramdef/db:parameter)" /></xsl:variable>
+				<xsl:variable name='numparamgeoms'><xsl:value-of select="count(db:paramdef/db:type[contains(text(),'geometry') or contains(text(),'geography') or contains(text(),'box') ]) + count(db:paramdef/db:parameter[contains(text(),'WKT')]) + count(db:paramdef/db:parameter[contains(text(),'geomgml')])" /></xsl:variable>
 				<xsl:variable name='numparamrasts'><xsl:value-of select="count(db:paramdef/db:type[contains(text(),'raster') ] )" /></xsl:variable>
-				<xsl:variable name='log_label'><xsl:value-of select="db:funcdef/db:function" />(<xsl:value-of select="$fnargs" />)</xsl:variable>
+				<xsl:variable name='log_label'><xsl:value-of select="db:funcdef/db:function" />(<xsl:value-of select="$fnargs" />) </xsl:variable>
 
 				<xsl:variable name="geoftype">
 				  <!--Conditionally instantiate a value to be assigned to the variable -->
@@ -416,150 +416,150 @@ SELECT '<xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of sel
 			<xsl:for-each select="db:paramdef">
 				<xsl:choose>
 				     <!-- ignore output parameters -->
-				    <xsl:when test="contains(parameter,'OUT')"></xsl:when>
-				    <xsl:when test="contains(parameter, 'algorithm')">
+				    <xsl:when test="contains(db:parameter,'OUT')"></xsl:when>
+				    <xsl:when test="contains(db:parameter, 'algorithm')">
 						<xsl:value-of select="$var_algorithm" />
 					</xsl:when>
 
-					<xsl:when test="contains(parameter, 'georefcoords')">
+					<xsl:when test="contains(db:parameter, 'georefcoords')">
 						<xsl:value-of select="$var_georefcoords" />
 					</xsl:when>
-					<xsl:when test="(type = 'integer[]'  )">
+					<xsl:when test="(db:type = 'integer[]'  )">
 						ARRAY[<xsl:value-of select="$var_integer1" />]
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'index') or contains(parameter, 'band') or contains(parameter, 'nband')">
+					<xsl:when test="contains(db:parameter, 'index') or contains(db:parameter, 'band') or contains(db:parameter, 'nband')">
 						<xsl:value-of select="$var_band" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'rastercolumn')">
+					<xsl:when test="contains(db:parameter, 'rastercolumn')">
 						<xsl:value-of select="$var_rastercolumn" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'rastertable')">
+					<xsl:when test="contains(db:parameter, 'rastertable')">
 						<xsl:value-of select="$var_rastertable" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'format')">
+					<xsl:when test="contains(db:parameter, 'format')">
 						<xsl:value-of select="$var_format" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'options')">
+					<xsl:when test="contains(db:parameter, 'options')">
 						<xsl:value-of select="$var_options" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'pt')">
+					<xsl:when test="contains(db:parameter, 'pt')">
 						<xsl:value-of select="$var_pt" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'pixeltype')">
+					<xsl:when test="contains(db:parameter, 'pixeltype')">
 						<xsl:value-of select="$var_pixeltype" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'distance')">
+					<xsl:when test="contains(db:parameter, 'distance')">
 						<xsl:value-of select="$var_distance" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'srid')">
+					<xsl:when test="contains(db:parameter, 'srid')">
 						<xsl:value-of select="$var_srid" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'position')">
+					<xsl:when test="contains(db:parameter, 'position')">
 						<xsl:value-of select="$var_position" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'NDR')">
+					<xsl:when test="contains(db:parameter, 'NDR')">
 						'<xsl:value-of select="$var_NDRXDR" />'
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'onerasteruserfunc')">
+					<xsl:when test="contains(db:parameter, 'onerasteruserfunc')">
 						<xsl:value-of select="$var_onerasteruserfunc" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'version') and position() = 2">
+					<xsl:when test="contains(db:parameter, 'version') and position() = 2">
 						<xsl:value-of select="$var_version1" />
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'addbandargset')">
+					<xsl:when test="contains(db:parameter, 'addbandargset')">
 						<xsl:value-of select="$var_addbandargset" />
 					</xsl:when>
-					<xsl:when test="(contains(type,'box') or type = 'geometry' or type = 'geometry ' or contains(type,'geometry set')) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1')">
+					<xsl:when test="(contains(db:type,'box') or db:type = 'geometry' or db:type = 'geometry ' or contains(type,'geometry set')) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1')">
 						<xsl:text>rast1.rast::geometry</xsl:text>
 					</xsl:when>
-					<xsl:when test="(type = 'geography' or type = 'geography ' or contains(type,'geography set')) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geography')]) = '1' )">
+					<xsl:when test="(db:type = 'geography' or db:type = 'geography ' or contains(db:type,'geography set')) and (position() = 1 or count($func/paramdef/db:type[contains(text(),'geography')]) = '1' )">
 						<xsl:text>rast1.rast::geometry::geography</xsl:text>
 					</xsl:when>
 
 
-					<xsl:when test="contains(type,'box') or type = 'geometry' or type = 'geometry '">
+					<xsl:when test="contains(db:type,'box') or db:type = 'geometry' or db:type = 'geometry '">
 						<xsl:text>rast2.rast::geometry</xsl:text>
 					</xsl:when>
-					<xsl:when test="type = 'geography' or type = 'geography '">
+					<xsl:when test="db:type = 'geography' or db:type = 'geography '">
 						<xsl:text>geography(rast2.rast::geometry)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type,'raster[]') and (position() = 1) ">
+					<xsl:when test="contains(db:type,'raster[]') and (position() = 1) ">
 						<xsl:text>ARRAY[rast1.rast]</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type, 'raster[]') ">
+					<xsl:when test="contains(db:type, 'raster[]') ">
 						<xsl:text>ARRAY[rast2.rast]</xsl:text>
 					</xsl:when>
-					<xsl:when test="(type = 'raster' or type = 'raster ' or contains(type, 'raster set') or contains(type, 'setof raster') ) and (position() = 1) ">
+					<xsl:when test="(db:type = 'raster' or db:type = 'raster ' or contains(db:type, 'raster set') or contains(db:type, 'setof raster') ) and (position() = 1) ">
 						<xsl:text>rast1.rast</xsl:text>
 					</xsl:when>
-					<xsl:when test="type = 'raster' or type = 'raster ' or contains(type, 'raster set')or contains(type, 'setof raster')">
+					<xsl:when test="db:type = 'raster' or db:type = 'raster ' or contains(db:type, 'raster set') or contains(db:type, 'setof raster')">
 						<xsl:text>rast2.rast</xsl:text>
 					</xsl:when>
-					<xsl:when test="type = 'raster' or type = 'raster ' or contains(type, 'raster set') or contains(type, 'setof raster')">
+					<xsl:when test="db:type = 'raster' or db:type = 'raster ' or contains(db:type, 'raster set') or contains(db:type, 'setof raster')">
 						<xsl:text>rast2.rast</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type, 'geometry[]') and count($func/paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1'">
+					<xsl:when test="contains(db:type, 'geometry[]') and count($func/db:paramdef/db:type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1'">
 						ARRAY[foo1.the_geom]
 					</xsl:when>
-					<xsl:when test="contains(type, 'geometry[]')">
+					<xsl:when test="contains(db:type, 'geometry[]')">
 						ARRAY[foo2.the_geom]
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'EWKT')">
+					<xsl:when test="contains(db:parameter, 'EWKT')">
 						<xsl:text>ST_AsEWKT(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'WKT')">
+					<xsl:when test="contains(db:parameter, 'WKT')">
 						<xsl:text>ST_AsText(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(parameter, 'EWKB')">
+					<xsl:when test="contains(db:parameter, 'EWKB')">
 						<xsl:text>ST_AsEWKB(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type, 'bytea')">
+					<xsl:when test="contains(db:type, 'bytea')">
 						<xsl:text>ST_AsBinary(foo1.the_geom)</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type, 'float') or contains(type, 'double')">
+					<xsl:when test="contains(db:type, 'float') or contains(db:type, 'double')">
 						<xsl:value-of select="$var_float1" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'spheroid')">
+					<xsl:when test="contains(db:type, 'spheroid')">
 						<xsl:value-of select="$var_spheroid" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'integer') and position() = 2">
+					<xsl:when test="contains(db:type, 'integer') and position() = 2">
 						<xsl:value-of select="$var_integer1" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'integer')">
+					<xsl:when test="contains(db:type, 'integer')">
 						<xsl:value-of select="$var_integer2" />
 					</xsl:when>
-					<xsl:when test="contains(type,'reclassarg')">
+					<xsl:when test="contains(db:type,'reclassarg')">
 						<xsl:value-of select="$var_reclassarg" />
 					</xsl:when>
 
-					<xsl:when test="contains(type, 'text')">
+					<xsl:when test="contains(db:type, 'text')">
 						<xsl:value-of select="$var_text" />
 					</xsl:when>
-					<xsl:when test="contains(type, 'varchar')">
+					<xsl:when test="contains(db:type, 'varchar')">
 						<xsl:value-of select="$var_varchar" />
 					</xsl:when>
-					<xsl:when test="contains(type,'timestamp') or type = 'date'">
+					<xsl:when test="contains(db:type,'timestamp') or db:type = 'date'">
 						<xsl:text>'2009-01-01'</xsl:text>
 					</xsl:when>
-					<xsl:when test="contains(type,'boolean')">
+					<xsl:when test="contains(db:type,'boolean')">
 						<xsl:value-of select="$var_boolean" />
 					</xsl:when>
 				</xsl:choose>
 				<!-- put a comma before an arg if it is not the first argument in a function and it is not an OUT parameter nor does it precede an OUT parameter -->
-				<xsl:if test="position()<last() and not(contains(parameter,'OUT')) and not(contains(following-sibling::paramdef[1],'OUT'))"><xsl:text>, </xsl:text></xsl:if>
+				<xsl:if test="position()<last() and not(contains(db:parameter,'OUT')) and not(contains(following-sibling::db:paramdef[1],'OUT'))"><xsl:text>, </xsl:text></xsl:if>
 			</xsl:for-each>
 		</xsl:for-each>
 	</xsl:template>
 
-	<!--macro to pull out function parameter names so we can provide a pretty arg list prefix for each function -->
+	<!--macro to pull out function db:parameter names so we can provide a pretty arg list prefix for each function -->
 	<xsl:template name="listparams">
 		<xsl:param name="func" />
 		<xsl:for-each select="$func">
-			<xsl:if test="count(db:paramdef/parameter) > 0"> </xsl:if>
+			<xsl:if test="count(db:paramdef/db:parameter) > 0"> </xsl:if>
 			<xsl:for-each select="db:paramdef">
 				<xsl:choose>
-					<xsl:when test="count(db:paramdef/parameter) > 0">
-						<xsl:value-of select="db:paramdef/parameter" />
+					<xsl:when test="count(db:parameter) > 0">
+						<xsl:value-of select="db:parameter" />
 					</xsl:when>
 				</xsl:choose>
 				<xsl:if test="position()<last()"><xsl:text>, </xsl:text></xsl:if>

commit 59aba6dcb9fc28f14bfb9aca390987c00d510a70
Author: Regina Obe <lr at pcorp.us>
Date:   Mon Nov 27 19:34:13 2023 -0500

    Add #5596 (ST_AsGeoJSON id enhancement to
    Enhancements section as well

diff --git a/NEWS b/NEWS
index ea4a9a9e3..578741b79 100644
--- a/NEWS
+++ b/NEWS
@@ -41,6 +41,8 @@ To take advantage of all SFCGAL featurs, SFCGAL 1.5.0+ is needed.
 
   - #5531, documentation format upgraded to DocBook 5 (Sandro Santilli)
   - #5543, allow building without documentation (Sandro Santilli)
+  - #5596, GH-749, Allow promoting column as an id 
+          in ST_AsGeoJson(record,..). (Jan Tojnar)
 
 
 PostGIS 3.4.0

-----------------------------------------------------------------------

Summary of changes:
 NEWS                               |   2 +
 doc/xsl/postgis_gardentest.sql.xsl | 105 +++++++++++++++++++++----------------
 doc/xsl/raster_gardentest.sql.xsl  | 100 +++++++++++++++++------------------
 3 files changed, 111 insertions(+), 96 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list