<xsl:variable name='var_integer2'>5</xsl:variable>\r
<xsl:variable name='var_float1'>0.5</xsl:variable>\r
<xsl:variable name='var_float2'>0.75</xsl:variable>\r
+ <xsl:variable name='var_distance'>100</xsl:variable>\r
<xsl:variable name='var_version1'>1</xsl:variable>\r
<xsl:variable name='var_version2'>2</xsl:variable>\r
<xsl:variable name='var_NDRXDR'>XDR</xsl:variable>\r
\r
<!--Functions more than 1 args not already covered this will cross every geometry type with every other -->\r
<xsl:when test="not(contains($fnexclude,funcdef/function))">\r
- SELECT '<xsl:value-of select="$fnargs" />'\r
<xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
<!--Store first garden sql geometry from -->\r
<xsl:variable name="from1"><xsl:value-of select="." /></xsl:variable>\r
<xsl:choose>\r
<xsl:when test="$numparamgeogs > '0'">\r
SELECT 'Geography <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
- BEGIN; <!-- If output is geography show wkt rep -->\r
- SELECT ST_AsText(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom\r
+ BEGIN; <!-- If input is geography show wkt rep -->\r
+ SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />), ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom\r
</xsl:when>\r
<xsl:when test="$numparamgeoms > '0'">\r
SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
- BEGIN; <!-- If output is geometry show ewkt rep -->\r
- SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
+ BEGIN; <!-- If input is geometry show ewkt rep -->\r
+ SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
</xsl:when>\r
<xsl:otherwise>\r
SELECT 'Other <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
- BEGIN; <!-- If output is geography show wkt rep -->\r
+ BEGIN; <!-- If input is geography show wkt rep -->\r
SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)\r
</xsl:otherwise>\r
</xsl:choose>\r
<xsl:when test="contains(parameter, 'matrix') or contains(parameter, 'Matrix')">\r
<xsl:value-of select="$var_matrix" />\r
</xsl:when>\r
+ <xsl:when test="contains(parameter, 'distance')">\r
+ <xsl:value-of select="$var_distance" />\r
+ </xsl:when>\r
<xsl:when test="contains(parameter, 'srid')">\r
<xsl:value-of select="$var_srid" />\r
</xsl:when>\r
<xsl:when test="(contains(type,'box') or type = 'geometry' or type = 'geometry ' or contains(type,'geometry set')) and (position() = 1 or count($func/paramdef/type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1')">\r
<xsl:text>foo1.the_geom</xsl:text>\r
</xsl:when>\r
- <xsl:when test="(type = 'geography' or type = 'geography ' or contains(type,'geography set')) and (position() = 1 or count($func/paramdef/type[contains(text(),'geography')]) )">\r
+ <xsl:when test="(type = 'geography' or type = 'geography ' or contains(type,'geography set')) and (position() = 1 or count($func/paramdef/type[contains(text(),'geography')]) = '1' )">\r
<xsl:text>geography(foo1.the_geom)</xsl:text>\r
</xsl:when>\r
<xsl:when test="contains(type,'box') or type = 'geometry' or type = 'geometry '">\r
test more geometries but only against one function. Useful for intro of new functions or comparing major changes from function of one version of PostGIS to the other\r
******************************************************************** -->\r
<xsl:output method="text" />\r
-<xsl:variable name='testversion'>1.5.0</xsl:variable>\r
+ <xsl:variable name='testversion'>1.5.0</xsl:variable>\r
<xsl:variable name='fninclude'>ST_Distance ST_DWithin ST_AsBinary</xsl:variable>\r
- <!--This is just a place holder to state functions not supported in 1.3 or tested separately -->\r
\r
<xsl:variable name='var_srid'>3395</xsl:variable>\r
<xsl:variable name='var_position'>1</xsl:variable>\r
<xsl:variable name='var_integer2'>5</xsl:variable>\r
<xsl:variable name='var_float1'>0.5</xsl:variable>\r
<xsl:variable name='var_float2'>0.75</xsl:variable>\r
+ <xsl:variable name='var_distance'>100</xsl:variable>\r
<xsl:variable name='var_version1'>1</xsl:variable>\r
<xsl:variable name='var_version2'>2</xsl:variable>\r
<xsl:variable name='var_NDRXDR'>XDR</xsl:variable>\r
</pgis:gardencrashers>\r
\r
<xsl:template match='/chapter'>\r
-\r
<!-- Start regular function checks excluding operators -->\r
<xsl:for-each select="sect1[not(contains(@id,'Operator'))]/refentry">\r
<xsl:sort select="@id"/>\r
<xsl:variable name='fnname'><xsl:value-of select="funcdef/function"/></xsl:variable>\r
<xsl:variable name='fndef'><xsl:value-of select="funcdef"/></xsl:variable>\r
<xsl:variable name='numparams'><xsl:value-of select="count(paramdef/parameter)" /></xsl:variable>\r
- <xsl:variable name='numparamgeoms'><xsl:value-of select="count(paramdef/type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'bytea')]) + count(paramdef/parameter[contains(text(),'WKT')])" /></xsl:variable>\r
+ <xsl:variable name='numparamgeoms'><xsl:value-of select="count(paramdef/type[contains(text(),'geometry') or contains(text(),'geography') or contains(text(),'box') or contains(text(), 'bytea')]) + count(paramdef/parameter[contains(text(),'WKT')])" /></xsl:variable>\r
<xsl:variable name='numparamgeogs'><xsl:value-of select="count(paramdef/type[contains(text(),'geography')] )" /></xsl:variable>\r
-\r
<!-- For each function prototype generate a test sql statement -->\r
<xsl:choose>\r
<!--Test functions that take no arguments or take no geometries -->\r
\r
<!--Functions more than 1 args not already covered this will cross every geometry type with every other -->\r
<xsl:when test="contains($fninclude,funcdef/function)">\r
- SELECT '<xsl:value-of select="$fnargs" />'\r
<xsl:for-each select="document('')//pgis:gardens/pgis:gset">\r
<!--Store first garden sql geometry from -->\r
<xsl:variable name="from1"><xsl:value-of select="." /></xsl:variable>\r
<xsl:when test="$numparamgeogs > '0'">\r
SELECT 'Geography <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
BEGIN; <!-- If output is geography show wkt rep -->\r
- SELECT ST_AsText(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom\r
+ SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />), ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom\r
</xsl:when>\r
<xsl:when test="$numparamgeoms > '0'">\r
SELECT 'Geometry <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
BEGIN; <!-- If output is geometry show ewkt rep -->\r
- SELECT ST_AsEWKT(<xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
+ SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />), ST_AsEWKT(foo1.the_geom) As ref1_geom, ST_AsEWKT(foo2.the_geom) As ref2_geom\r
</xsl:when>\r
<xsl:otherwise>\r
SELECT 'Other <xsl:value-of select="$fnname" /><xsl:text> </xsl:text><xsl:value-of select="@ID" />(<xsl:value-of select="$fnargs" />): Start Testing <xsl:value-of select="$geom1type" />, <xsl:value-of select="@GeometryType" />';\r
- BEGIN; \r
+ BEGIN; <!-- If output is geography show wkt rep -->\r
SELECT <xsl:value-of select="$fnname" />(<xsl:value-of select="$fnfakeparams" />)\r
</xsl:otherwise>\r
</xsl:choose>\r
<xsl:when test="contains(parameter, 'matrix') or contains(parameter, 'Matrix')">\r
<xsl:value-of select="$var_matrix" />\r
</xsl:when>\r
+ <xsl:when test="contains(parameter, 'distance')">\r
+ <xsl:value-of select="$var_distance" />\r
+ </xsl:when>\r
<xsl:when test="contains(parameter, 'srid')">\r
<xsl:value-of select="$var_srid" />\r
</xsl:when>\r
<xsl:when test="(contains(type,'box') or type = 'geometry' or type = 'geometry ' or contains(type,'geometry set')) and (position() = 1 or count($func/paramdef/type[contains(text(),'geometry') or contains(text(),'box') or contains(text(), 'WKT') or contains(text(), 'bytea')]) = '1')">\r
<xsl:text>foo1.the_geom</xsl:text>\r
</xsl:when>\r
- <xsl:when test="(type = 'geography' or type = 'geography ' or contains(type,'geography set')) and (position() = 1 or count($func/paramdef/type[contains(text(),'geography')]) )">\r
+ <xsl:when test="(type = 'geography' or type = 'geography ' or contains(type,'geography set')) and (position() = 1 or count($func/paramdef/type[contains(text(),'geography')]) = '1' )">\r
<xsl:text>geography(foo1.the_geom)</xsl:text>\r
</xsl:when>\r
<xsl:when test="contains(type,'box') or type = 'geometry' or type = 'geometry '">\r