Hi All,<br><br>I've found a couple of issues with regards to the single-pass implementation (as per <a href="http://www.mapserver.org/development/rfc/ms-rfc-65.html">RFC-65</a>) in the OGR driver. It seems the current implementation doesn't follow the concept have been
introduced in RFC 65 and treats shape->index as being shape->resultindex (or something like this) which causes problems during the queries. Attached a <a href="http://trac.osgeo.org/mapserver/attachment/ticket/3647/mapogr.cpp.patch">patch for mapogr.cpp</a> along with the<a href="http://trac.osgeo.org/mapserver/ticket/3647"> ticket of RFC-65</a> which should somewhat handle
this confusion.<br><br>Another problem is caused by the signature of LayerGetAutoStyle which doesn't allow to pass resultindex to the driver (if that wants to rely on). For this reason I would suggest to change this signature to:<br>
<br><b>int msLayerGetAutoStyle(mapObj *map, layerObj *layer, classObj *c, shapeObj* shape);</b><br><br>which would than fairly similar to:<br><br><b>int msLayerGetFeatureStyle(mapObj *map, layerObj *layer, classObj *c, shapeObj* shape);</b><br>
<br>have already been introduced with <a href="http://www.mapserver.org/development/rfc/ms-rfc-61.html">RFC-61</a>.<br><br>Another issue with this OGR implementation (which is not handled in the
patch) is that when drawing the query map in MS_NORMAL or MS_HILITE the
background layer messes up the spatial filter of the query layer because
of the connection pooling. This causes that a different feature set is retrieved during the query and drawn during querymap rendering.
This is due to the code in mapdraw.c (at line 1080) where the background is drawn by using a copy of the query layer which in fact uses the same OGR connection. (Not sure whether it applies to other connection types or not.)<br>
<br>Any ideas how to handle these issues? <br><br><br>Best regards,<br><br>Tamas<br><br><div style="visibility: hidden; left: -5000px; position: absolute; z-index: 9999; padding: 0px; margin-left: 0px; margin-top: 0px; overflow: hidden; word-wrap: break-word; color: black; font-size: 10px; text-align: left; line-height: 130%;" id="avg_ls_inline_popup">
</div>