<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.Shkpostityyli17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FI" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Is there any way to know how Mapserver is going react to WFS GetFeature request with filters? It would be good to know if it is going to build some native SQL or if it decides to read everything from the database and
 filter the result on server .<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I have made an “idrangequery” stored query which should be very fast if it would create a SQL query<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">SELECT … FROM … WHERE query_id BETWEEN ${lower} AND ${upper}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The stored query does not give errors but I can’t get any data our from my biggish GeoPackage db. The error from the ms_errorfile is:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">msConnPoolClose(): General error message. Closing connection /users/wms/data/vektorit/kiinteistot/palsta.gpkg even though ref_count=1.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">It feels like Mapserver is trying to read the whole table and filter after that but there are two million polygons in the table, worth 4.5 gigabytes, and result is timeout.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">My stored query is below. I have managed to get some data with it by limiting the amount of data with COUNT:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">service=WFS&version=2.0.0&REQUEST=GetFeature&STOREDQUERY_ID=idrangequery&lower=1&upper=100&COUNT=2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Am I out of luck generally or is it just GeoPackage that makes problem? Could I have better possibilities for success with PostGIS?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">My stored query is below.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><?xml version="1.0" encoding="UTF-8"?><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><StoredQueryDescription xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" id="idrangequery"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><Title>ID range query</Title><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><Abstract>ID range abstract</Abstract><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><Parameter name="lower" type="xs:integer"/><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><Parameter name="upper" type="xs:integer"/><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><QueryExpressionText isPrivate="false" language="urn:ogc:def:queryLanguage:OGC-WFS::WFS_QueryExpression" xmlns:ms="http://mapserver.gis.umn.edu/mapserver" returnFeatureTypes="ms:palstat"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><Query xmlns:fes="http://www.opengis.net/fes/2.0" typeNames="ms:palstat"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><fes:Filter><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><fes:PropertyIsBetween><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><fes:PropertyName>ms:query_id</fes:PropertyName><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><fes:LowerBoundary><fes:Literal>${lower}</fes:Literal></fes:LowerBoundary><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><fes:UpperBoundary><fes:Literal>${upper}</fes:Literal></fes:UpperBoundary><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></fes:PropertyIsBetween><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></fes:Filter><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></Query><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></QueryExpressionText><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></StoredQueryDescription><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">-Jukka Rahkonen-<o:p></o:p></span></p>
</div>
</body>
</html>